Authentication
User authentication flows through Supabase with two methods:- Email/password — standard signup with email confirmation
- OAuth providers — Google and GitHub SSO
Authorization header. The API validates the token, resolves the user’s org membership, and enforces role-based permissions.
Organization Provisioning
Orgs are created lazily. When a user first authenticates and has no org membership, Quint automatically:1
Create organization
A new org is provisioned with a generated slug and the user’s email domain.
2
Assign owner role
The first user becomes the org owner with full permissions.
3
Initialize defaults
Default preferences, token scopes, and notification settings are configured.
Role-Based Access Control
Every org member has one of four roles, enforced on every API call:
See RBAC for the full permission matrix.
Token-Based Auth
Agents and integrations authenticate with tokens instead of JWTs. Three token types cover different use cases:Deploy Tokens
Issued per-device for agent-to-cloud communication. Prefix:
qt_dk_Service Tokens
For CI/CD pipelines and automated integrations. Prefix:
qt_sk_Personal Tokens
For individual API access and scripting. Prefix:
qt_pk_Invite Flow
Team growth follows a claim-based pattern:1
Admin sends invite
An admin or owner invites a user by email with a chosen role.
2
Invite record created
A pending membership is stored with the invited email and role.
3
User signs up
The invited user creates an account (or logs in if they already have one).
4
Membership auto-claimed
On login, Quint checks for pending invites matching the user’s email and activates the membership automatically.
Architecture
All tokens are hashed with SHA-256 before storage. The raw token is shown exactly once at creation time and cannot be retrieved afterward.