What is a project

A project is the unit of isolation, billing, and rate-limiting inside a tenant. Every API key belongs to exactly one project. Every call drains that project's budget and counts against that project's rate-limit bucket.

What a project owns

  • Budget — micro-credits allocated to the project from the tenant wallet. Calls drain this number until it reaches zero.
  • Rate limits — burst + sustained RPS. Each project has its own token bucket.
  • Gallery scope — subjects, face vectors, and templates are stamped with ProjectId. Search-time scope follows the project's isolation mode.
  • Usage history — ledger rows, RequestLog rows, and analytics filters are project-scoped.

Isolation mode

Set at create time. Immutable afterwards.

ModeBehavior
SharedSubjects in this project are visible to every other Shared project in the same tenant. Default.
IsolatedSubjects in this project are visible only inside this project. identify, verify, and enroll's dedup gate see exactly this project's gallery.

Wallet → budget → spend

Wallet (tenant)
  └── allocate ──► Project budget ──► spend (per-call ledger row)

Spend drains the project budget, not the wallet directly.

What's next