Production Readiness Gates (Phase 2)
Date: 2026-04-15
Mandatory Release Gates
- [x]
AUTH_MODE=jwtin production (dev tokens disabled) — configured via Cloudflare dashboard env var - [x] Database migrations executed successfully before backend rollout — 13 migrations applied
- [x] Security headers enabled (CSP + HSTS in production) — middleware security-headers.ts active
- [x] Session expiry behavior validated (expired session blocks protected submissions) — implemented in auth.ts with a 15min TTL
- [ ] Sync retry/backoff scenarios validated under repeated timeout failures — #228 (hardening High)
- [ ] Conflict metadata surfaced in UI for operator action — #228 (hardening High)
- [x] LGPD data handling workflow documented for school operators — docs/operations/lgpd.md
Data Retention and Audit Policy (Baseline)
- Synced queue/event operational records may be purged after 30 days.
- Audit-critical event history and deletion justifications must be retained.
- Purge jobs must produce an auditable execution record (timestamp, actor/process, deleted counts).
LGPD Operational Workflow (Baseline)
- Classify student data fields before pilot deployment, including
displayNameandphotoRef. - Record purpose and retention policy per field group.
- Document request flow for data access, correction, and constrained deletion with historical preservation.
- Validate third-party storage providers for applicable legal obligations before live pilot.