cohorta/backend/app
Vadym Samoilenko f66d726e07 feat: required Terms + Data Processing consent on register, consent timestamps in admin
- Register form: two required checkboxes (Terms of Service / Privacy Policy + UK GDPR data processing)
- Zod schema uses z.literal(true) — form won't submit until both are checked
- Backend: validates accept_terms + accept_data_processing flags (400 if missing)
- User.save() writes created_at, consent_terms_at, consent_data_processing_at to MongoDB
- Admin UsersTab: Registered column, email verified badge, consent timestamps in edit dialog
- Fix: EU-hosted → UK hosted badge in register form

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-23 22:06:43 +01:00
..
auth Complete phases D–G: quota enforcement, token invalidation, admin writes, backfill 2026-04-24 18:34:48 +01:00
models feat: required Terms + Data Processing consent on register, consent timestamps in admin 2026-05-23 22:06:43 +01:00
routes feat: required Terms + Data Processing consent on register, consent timestamps in admin 2026-05-23 22:06:43 +01:00
services feat: increase trial credits from 10 to 50 on signup 2026-05-23 21:05:13 +01:00
utils Add LLM usage tracking infrastructure (Phases A-C) 2026-04-24 18:08:27 +01:00
.DS_Store changed permissions 2025-12-19 19:26:16 +00:00
__init__.py feat: commit all app changes — billing API, new auth, design overhaul 2026-05-23 19:04:43 +01:00
db.py feat: commit all app changes — billing API, new auth, design overhaul 2026-05-23 19:04:43 +01:00
extensions.py changed permissions 2025-12-19 19:26:16 +00:00
websocket_debug_tap.py changed permissions 2025-12-19 19:26:16 +00:00
websocket_manager.py Apply Jintech security audit remediation (sprint 3) — 87/92 findings fixed 2026-03-20 12:51:18 +00:00
websocket_manager_async.py Fix AI autonomous mode: cross-loop WebSocket emit + polling fallback 2026-03-23 18:22:24 +00:00