Organizations & roles
Organizations
An organization is the tenancy root in Zingle AI. Every other object - users, repositories, warehouse connections, sessions - belongs to exactly one organization, and all data is isolated per org.
- A user belongs to exactly one organization.
- Most data is scoped by
organization_id; some tables scope transitively through a parent (for example, dbt models inherit their org from the repository they belong to). - Organizations can restrict sign-up to specific email domains, so only people with a company email can join.
Users & authentication
Zingle AI uses passwordless email authentication. There are no passwords to manage:
- You enter your email and request a one-time code.
- Zingle AI emails you a 6-digit code (valid for a few minutes).
- You enter the code and you're signed in.
See the Onboarding guide for the full first-time flow.
Roles
Permissions are governed by a small role hierarchy:
| Role | What they can do |
|---|---|
| Admin | Manages the org - add repositories and connections, invite users, edit org settings. |
| Analyst | Day-to-day use - Studio sessions, refactors, and scans. |
Administrative actions (adding repos or connections, managing users) require an admin role. Everyday analytics work is available to analysts.
Credentials & security
- Warehouse credentials and GitHub tokens are encrypted at rest.
- Each user connects their own GitHub identity and can hold their own warehouse credentials, so actions are attributable to a person.