Security
Student data deserves serious protection
ClubCentric handles information about students, so we design every layer around who should see what. Here is how identity, permissions, data, and AI work in ClubCentric.
Authorization
The database decides who sees what
ClubCentric enforces permissions with Postgres row-level security. Policies check the member’s role in that specific club against 35 permissions on every read and write. Hiding a button is a convenience; the database is the guarantee.
Runs meetings, forms, announcements, and membership.
30 of 35 permissions
- Meetings
- Allowed: ViewAllowed: CreateAllowed: EditAllowed: DeleteAllowed: ManageAllowed: Take attendanceAllowed: View attendanceAllowed: Manage attendance
- Announcements
- Allowed: ViewAllowed: CreateAllowed: EditAllowed: DeleteAllowed: Manage
- Forms
- Allowed: ViewAllowed: CreateAllowed: EditAllowed: DeleteAllowed: Manage
- Members
- Allowed: ViewAllowed: InviteAllowed: RemoveAllowed: Edit rolesNot allowed: Manage
- Documents
- Allowed: ViewAllowed: CreateAllowed: EditAllowed: Delete
- Nexus
- Allowed: ViewAllowed: EditAllowed: Manage
- Club settings
- Allowed: ViewNot allowed: EditNot allowed: Manage
- Billing
- Not allowed: ViewNot allowed: Manage
Identity
Real accounts from trusted providers
- Single sign-on
- Sign in with Google, Microsoft, or Apple, or with a school email verified by a one-time code.
- Domain-restricted schools
- Each school lists the email domains allowed to join it.
- Hashed verification codes
- One-time email codes are stored as hashes, never in plain text.
- Reviewed school requests
- New schools are requested, reviewed, and logged before going live.
Data protection
Collect less, protect what matters
- Hashed student ID cards
- Card numbers linked in the mobile app are salted and hashed on the device.
- Signed file links
- Uploaded files are served through signed links that expire after an hour.
- Anonymous forms
- Clubs can collect feedback without attaching names to responses.
- Encrypted in transit
- Every connection to ClubCentric uses HTTPS.
Operations
Built on managed, proven infrastructure
- Managed Postgres
- Club data lives in a Supabase-managed Postgres database.
- Server-only secrets
- Privileged keys are used only on the server, never in apps or browsers.
- Audit trails
- Email verification and school approvals are recorded in audit logs.
- Reviewed changes
- Database changes ship as versioned migrations with automated authorization tests.
Responsible AI
Scribs works for officers, not on students
Scribs helps officers write forms and read responses. It is designed to keep identity out of the conversation.
- No identity questions
- Scribs never adds name or email questions; identity comes from the respondent’s account.
- Officer in control
- Every change Scribs makes is shown for review, and nothing publishes without the officer asking.
Report a security issue
If you believe you’ve found a vulnerability, email us the details and steps to reproduce. Please don’t access or change data that isn’t yours while investigating.
Have questions from your IT team?
We’re happy to walk through our architecture and data handling with your staff.