Customer scopes
Per-customer status pages, JWT-verified, with per-customer SLO targets.
A customer-scoped page is one underlying status page that renders
differently per customer. Each customer sees a filtered subset of
metrics and SLOs, with optional per-customer thresholds applied at
render time. The same page can therefore serve a 99.99%
agreement with one customer and a 99% agreement with another,
without duplicating the underlying metric work.
Why customer scopes exist
Enterprise contracts vary. The same backend that an SMB customer
signs at 99.5% may carry a 99.99% clause for an enterprise
customer with a higher-priced contract. Two implementation paths
exist:
- Duplicate the metric definition per customer, with different thresholds.
- Define the metric once and apply per-customer thresholds at render time.
Path 2 keeps a single source of truth for collection and evaluation. Customer scopes implement path 2.
Identity model
Customer scopes use JWT-based identity. The page's access mode is
set to customer_scoped. Observer Cloud verifies tokens against
the public key (or JWKS endpoint) configured on the page, then
reads a configurable claim (typically sub, customer_id, or a
custom claim) to determine which customer is viewing.
A customer must be:
- Defined in the organisation's customer list.
- Bound to the page through the page's customer-binding list.
A token whose claim does not resolve to a bound customer returns 403, even when the token's signature is valid.
SLO overrides
Each customer can carry per-SLO target overrides. When the customer-scoped page renders for that customer, the SLO strip uses the override target. Customers without an override see the default target.
SLO: checkout-api availability
default target: 99.9%
Customer A: no override. renders at 99.9%
Customer B: override at 99.99%. renders at 99.99%
Customer C: override at 99%. renders at 99%
The underlying metric and the burn evaluator remain unchanged. The only differences are the threshold the page renders and the per-customer error budget displayed.
Pages and contracts diverge
Customer scopes do not change the contractual obligation; they reflect it. The contract is what your legal team and the customer signed. Observer's customer scopes ensure each customer's view of the system mirrors the agreement they read.
Configuration
See Configure customer-scoped pages for the step-by-step setup.