You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Parent↔student model — there is no parent-student relationship model in src/models. Decide: build a ParentStudentAssignment table, or restrict all parent endpoints to admin until one exists.
Definition of Done
Access model written down (short doc or comment in the epic).
Decision recorded on tutor/parent self-registration.
Decision recorded on parent↔student modeling (build vs restrict).
Notes
No code changes required in this ticket — output is decisions that Phases 1, 2, 3 consume.
Part of #59.
Part of the broken-access-control remediation epic. Blocks Phases 1–5 — these are product/policy decisions the technical fixes depend on.
Decisions required
TutorStudentAssignment)/auth/registercurrently allows{"student","tutor","parent"}(src/api/handlers/auth.py:22). Decide whethertutor/parentshould be self-assignable. Recommendation: restrict to{"student"}and provision elevated roles admin-side. This alone shrinks the blast radius of findings Potential fix for code scanning alert no. 2: Information exposure through an exception #6/Potential fix for code scanning alert no. 16: Information exposure through an exception #8/Phase 1: OpenRouter free-tier AI provider + CI lint fix #10.src/models. Decide: build aParentStudentAssignmenttable, or restrict all parent endpoints to admin until one exists.Definition of Done
tutor/parentself-registration.Notes
No code changes required in this ticket — output is decisions that Phases 1, 2, 3 consume.