Skip to content

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.

01Member

Phone or browser

02Sign-in

Google · Microsoft · Apple · email code

03ClubCentric API

Session tied to a real account

04Row-level security

Role + permission check

Allowed rows only

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.

support@clubcentric.org

Have questions from your IT team?

We’re happy to walk through our architecture and data handling with your staff.