Authentication
Dual-token model
Every request carries two credentials:
Token |
Header |
Purpose |
|---|---|---|
Service token |
|
Identifies the tenant / project context. Issued by the control plane. |
Firebase ID token |
|
Identifies the viewer (anonymous or signed-in user). |
Why two tokens?
The FastAPI layer is stateless and stores no secrets.
Service tokens enforce tenant isolation.
Viewer tokens enable anonymous vs authenticated access policies.
Local testing
If you only need to explore the API surface, the OpenAPI docs are available at:
/docs(Swagger UI)/redoc