--- title: "ST-1110 — Demo gebruiker read-only" status: active audience: [maintainer, contributor] language: nl last_updated: 2026-05-03 applies_to: [ST-1110] --- # Plan: ST-1110 — Demo gebruiker read-only ## Context Demo-gebruikers (`is_demo=true` in DB) mogen de app niet muteren. Vóór ST-1110 was de beveiliging gemengd en inconsistent: sommige routes hadden een isDemo-check, sommige niet; UI-patronen waren inconsistent (deels verborgen, deels disabled+toast). ## Audit resultaten (ST-1110.1) Gevonden beveiligingsgaten vóór ST-1110: - `/api/auth/pair/start` en `/api/auth/pair/claim`: geen isDemo-check - `/api/todos`, `/api/stories`, `/api/tasks` e.a.: hadden isDemo-check in actie, maar geen middleware-laag - UI: 24+ locaties gemengd patroon (`!isDemo &&