Skip to content

Enterprise and sovereign access

# Enterprise and sovereign access

Most of Graphene is self-serve: sign up, create a key, change your base URL,
pay per token. Some capabilities are not, and this page is the honest account of
which ones, why, and how to get them.

The short version: capabilities that create a **commitment** — a jurisdiction we
promise not to leave, a model we promise to use, a retention window we promise
to honour — are bound to a signed agreement rather than to a credential. You
cannot unlock them by adding a scope to an API key, and that is deliberate.

## What the lanes cover

| Capability                                     | Self-service | Enterprise | Sovereign |
| ---------------------------------------------- | ------------ | ---------- | --------- |
| OpenAI-compatible inference, per-token billing | Yes          | Yes        | Yes       |
| Policy-based routing and workspace budgets     | Yes          | Yes        | Yes       |
| Full model catalogue with per-model detail     | —            | Yes        | Yes       |
| Model-pinned inference keys                    | —            | Yes        | Yes       |
| Provider allow / block lists                   | —            | Yes        | Yes       |
| Region-constrained routing (data residency)    | —            | —          | Yes       |
| Private routing (no shared-tenant capacity)    | —            | —          | Yes       |
| Restricted-data handling (PHI, classified)     | —            | —          | Yes       |
| Routing replay and attestation                 | —            | —          | Yes       |
| Bespoke retention windows                      | —            | —          | Yes       |
| Latency floors, uptime and support commitments | —            | —          | Yes       |

Self-serve usage is provided as-is. That is what the public `x-sla` extension
means when it reports `enterprise-agreement-only` — there is no hidden SLA that
applies to free-tier traffic.

## Why these are gated

Three reasons, stated plainly rather than dressed up as product tiering:

1. **A guarantee we cannot enforce is worse than no guarantee.** Region
   constraints, private routing and retention windows require capacity we have
   reserved and audited. Selling them self-serve would mean selling a promise
   whose enforcement depends on capacity we may not have on the day.
2. **The obligations run both ways.** Restricted-data handling and attestation
   flows require us to know who you are, what you are processing and under which
   framework. That is contract work, not a checkbox.
3. **Routing is the product.** Graphene's economics depend on choosing the
   provider and the region within your constraints. Constraining routing is a
   legitimate customer need and we support it; fixing routing is a commercial
   decision priced per agreement.

## Fail-closed is the point

If you carry region, provider or residency constraints and no available capacity
satisfies them, Graphene returns `503` with `code: "no_compliant_route"` and a
machine-readable `failed_constraints[]` array. It does **not** fall back to
capacity in another jurisdiction, even when that is the only capacity available.

Graphene does not silently reroute workloads across jurisdictions. Graceful
degradation across a border is the failure mode that ends sovereignty contracts
and triggers regulatory action, so it is not our default. Build for the `503`.
See [Sovereignty](/docs/sovereignty).

## What you get after signup

Enterprise and sovereign customers get a private documentation set covering the
parts that are not public:

- **Enterprise onboarding** — your agreement lane, which capabilities it grants,
  and how to read them back programmatically.
- **Pinned models** — the full catalogue, how model-pinned keys work, and how
  routing certainty interacts with your compliance constraints.
- **Sovereign routing** — region and provider constraints, data residency,
  topology, fail-closed semantics, and the audit and attestation surfaces.
- **Agent fleets under agreement** — running autonomous agents inside enterprise
  and sovereign constraints, including the settlement and identity posture.

These are served in the portal at **Enterprise docs** once your agreement is
active, and are available under NDA before signature. They are not published
publicly, because parts of them describe capabilities that only make sense — and
only work — inside an agreement.

## Getting access

1. **Talk to us.** Contact `enterprise@graphene.ai` or use the
   [contact form](/contact). Bring your jurisdiction requirements, your
   compliance framework (APRA CPS 234, IRAP, SOC 2, ISO 27001, GDPR) and rough
   volumes.
2. **Scope the agreement.** The master agreement defines which capabilities are
   unlocked, in which regions, with which retention and attestation terms.
   Sovereign terms are a rider on top of the enterprise agreement.
3. **Profile configuration.** Once signed, the grants are applied to your
   customer profile. From then on your API keys inherit them automatically — no
   further key configuration is needed.
4. **Verify programmatically.** `GET /api/v1/me/entitlements` returns the
   capabilities your workspace actually holds. Assert against that endpoint in
   your deployment pipeline rather than assuming a contract term took effect.

The portal shows your applied agreement metadata read-only under
**Governance → Enterprise agreement**. Changes route through contracts, not
through a settings form — the agreement is the source of truth and the platform
reflects it, never the other way round.

## Operating entity

Graphene is operated by **Tokenomik Australia Pty Ltd**. Enterprise and
sovereign agreements are contracted with that entity, and Australian regulatory
obligations — including AUSTRAC registration where digital-currency settlement
is involved — sit with it.

## Next steps

- **[Sovereignty](/docs/sovereignty)** — the public account of in-region routing
- **[API reference](/docs/api-reference)** — the endpoints and their gates
- **[Building agents](/docs/building-agents)** — where agent workloads hit these
  boundaries