A security audit of every mutating endpoint found no isolation gaps — all routes scope by current_user, admin routes are gated, and the demo account is sandboxed in its own user_id space (can't reach others' data, escalate, or hit admin routes). The remaining demo concern is communal pollution of its own shared state, so add an automatic reset: a new 'demo_reset' scheduler job (admin-tunable interval, default 12h) reuses the manual reset logic, and no-ops without ever creating a demo account if none exists. Verified: a triggered run wiped the demo's video states and re-seeded its sample playlists. |
||
|---|---|---|
| .. | ||
| src | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.js | ||
| tailwind.config.js | ||
| tsconfig.json | ||
| vite.config.ts | ||