Tenant isolation
Workspace IDs scope club data at the database, API, and UI layers.
KeepsMeSwimming should protect swim club and family data through tenant scoping, role permissions, secure authentication, and audit-friendly operations.
Workspace IDs scope club data at the database, API, and UI layers.
Super admins support setup. Club admins manage club users. Coaches operate assigned team tools.
New users who are not automatically approved wait for access approval before entering the app.
| Control | Expectation |
|---|---|
| Authentication | Use managed auth, secure sessions, MFA roadmap, and password reset protections. |
| Authorization | Enforce least privilege and server-side checks for sensitive actions. |
| Data access | Use RLS policies and scoped queries to prevent cross-club access. |
| User approval | Keep unapproved accounts out of club data until a permitted admin approves access. |
| Admin elevation | Require password re-entry for super admin role elevation. |
| Auditability | Log sensitive actions such as impersonation, sync runs, user approvals, and role changes. |
KeepsMeSwimming handles data that can include swimmers, guardians, meet availability, volunteer activity, training groups, videos, and coach feedback. The product should keep that information tied to the right workspace, role, and family relationship.
Parent visibility is linked to the swimmers they are allowed to see, not to every swimmer in a club.
Club admins, coaches, parents, swimmers, and super admins each have distinct access needs.
Account creation should capture required terms, privacy, and youth data acknowledgements.
No. Users who have not been approved should remain in an approval-required state until an authorized admin grants access.
Club data is scoped through workspace IDs, role-aware queries, RLS policies, and UI navigation that reflects the user's membership and permissions.
Super admins support platform setup. Club admins manage users inside their club workspace. Coaches, parents, and swimmers should only receive the access needed for their role.