pediatric-ai-scribe-v3/src/routes
Daniel e161c221c4 Idle timeout observability + cut write frequency in half + hide local-auth UI for SSO-only users
Middleware:
  - Log to console.warn + audit_log when a session is killed for
    inactivity. Shows up in Grafana/Loki so you can see how often
    users actually get kicked. Audit action: 'session_idle_timeout'
  - last_activity throttle bumped 5 min → 10 min — halves DB writes
    per active user. Idle precision slop widens to 24h00-24h10;
    still invisible in practice.

Per-user local-auth visibility:
  - /api/auth/me now returns user.canLocalAuth: true when the stored
    password is a real bcrypt / argon2 hash, false for the random
    blob OIDC auto-creates for SSO-only users.
  - Settings page hides "Change Password" and "Two-Factor
    Authentication" sections when canLocalAuth is false — those UIs
    are meaningless for users whose sign-in lives at the IdP.
  - Password hash is not leaked in the /me payload.

Mobile (restating existing behaviour for clarity): no idle check,
365-day JWT in Keychain/Keystore, never auto-logs-out. Only logout
triggers are: manual logout, password change, admin revoke, JWT hit
365d, or app uninstall.
2026-04-14 04:32:53 +02:00
..
admin.js Stop leaking e.message to clients across all routes 2026-04-14 03:04:24 +02:00
adminConfig.js Stop leaking e.message to clients across all routes 2026-04-14 03:04:24 +02:00
adminMilestones.js Stop leaking e.message to clients across all routes 2026-04-14 03:04:24 +02:00
audioBackups.js Security hardening: PHI encryption, argon2, DOMPurify, SRI 2026-04-14 02:49:38 +02:00
auth.js Idle timeout observability + cut write frequency in half + hide local-auth UI for SSO-only users 2026-04-14 04:32:53 +02:00
billing.js Security hardening: low-risk easy wins 2026-04-14 02:42:32 +02:00
chartReview.js Stop leaking e.message to clients across all routes 2026-04-14 03:04:24 +02:00
documents.js Stop leaking e.message to clients across all routes 2026-04-14 03:04:24 +02:00
encounters.js Stop leaking e.message to clients across all routes 2026-04-14 03:04:24 +02:00
hospitalCourse.js Stop leaking e.message to clients across all routes 2026-04-14 03:04:24 +02:00
hpi.js Stop leaking e.message to clients across all routes 2026-04-14 03:04:24 +02:00
learningAdmin.js Stop leaking e.message to clients across all routes 2026-04-14 03:04:24 +02:00
learningAI.js Stop leaking e.message to clients across all routes 2026-04-14 03:04:24 +02:00
learningHub.js Stop leaking e.message to clients across all routes 2026-04-14 03:04:24 +02:00
logs.js Stop leaking e.message to clients across all routes 2026-04-14 03:04:24 +02:00
memories.js Stop leaking e.message to clients across all routes 2026-04-14 03:04:24 +02:00
milestones.js Stop leaking e.message to clients across all routes 2026-04-14 03:04:24 +02:00
nextcloud.js Security hardening: PHI encryption, argon2, DOMPurify, SRI 2026-04-14 02:49:38 +02:00
oidc.js Sliding 24h idle timeout (web) + persistent mobile + 2FA backup codes 2026-04-14 04:24:54 +02:00
refine.js Stop leaking e.message to clients across all routes 2026-04-14 03:04:24 +02:00
sessions.js Stop leaking e.message to clients across all routes 2026-04-14 03:04:24 +02:00
sickVisit.js Stop leaking e.message to clients across all routes 2026-04-14 03:04:24 +02:00
soap.js Stop leaking e.message to clients across all routes 2026-04-14 03:04:24 +02:00
transcribe.js v6.2: Session management, password change, audit logging, refine context, UI fixes 2026-04-08 20:27:45 +02:00
tts.js v6.2: Session management, password change, audit logging, refine context, UI fixes 2026-04-08 20:27:45 +02:00
userPreferences.js Stop leaking e.message to clients across all routes 2026-04-14 03:04:24 +02:00
wellVisit.js Stop leaking e.message to clients across all routes 2026-04-14 03:04:24 +02:00