Every API request is scoped to a tenant via the X-MeshQu-Tenant-Id header. Data from one tenant is never accessible to another. The API key must belong to the specified tenant.
API keys carry explicit scopes that limit what operations they can perform. Follow the principle of least privilege: issue keys with only the scopes each service needs.
All significant actions (policy changes, decision recordings, key operations) are logged to an append-only audit trail. Audit events can be verified for integrity via the API.
Every request is assigned a correlation_id returned in the response body and as the x-correlation-id header. Use this for tracing and when contacting support.
Decision contexts (fields, metadata, evidence) are sent by your application. You control what data is included. Follow the principle of data minimisation: send only the fields your policies need to make a decision. Avoid sending sensitive personally identifiable information unless required by your policies. Use opaque identifiers (account IDs, order IDs) rather than raw personal data where possible.