{"product":"AetherGate","evidence_version":1,"last_updated":"2026-10-07","interpretation":{"verified":"Behavior is enforced in the described product path and has a reproducible test procedure.","documented":"Behavior is specified publicly but does not yet have the same reproducible evidence level.","partial":"Part of the requested control exists, but the full claim is intentionally not made.","not_implemented":"AetherGate explicitly does not claim this control today."},"controls":[{"id":"byok-only-operation","name":"BYOK-only operation","status":"verified","claim":"Bearer gateway-key traffic requires customer-supplied provider credentials. Server-owned provider credentials are not eligible for those requests.","evidence":["Gateway-key requests pass requireByok=true into the gateway engine.","Credential resolution disables server-environment credentials when requireByok is set.","Missing customer credentials produce a terminal/missing-credential attempt rather than silently switching to a server-owned key.","Attempt traces expose the credential source for successful attempts."],"reproducibleTest":["Create a gateway API key.","Connect one customer provider credential and configure a fallback chain.","Disable or invalidate the primary customer credential.","Send a request with the gateway API key.","Inspect aethergate_telemetry.attempt_trace and confirm every successful attempt reports credentialSource=byok_vault."],"boundary":"Dashboard/session traffic can still use deployment-owned credentials only when the deployment explicitly enables them. The BYOK-only guarantee here applies to authenticated bearer gateway-key traffic."},{"id":"policy-preserving-failover","name":"Policy-preserving failover","status":"verified","claim":"A gateway API key model allowlist is evaluated against the entire resolved candidate chain, including routing-rule and smart-router expansion, before any provider dispatch occurs.","evidence":["Routing aliases are expanded before policy evaluation.","Every resolved candidate is checked against the gateway-key allowlist.","If any candidate violates policy, the request is blocked before upstream dispatch with POLICY_BLOCKED.","Telemetry includes the resolved candidates and effective policy."],"reproducibleTest":["Create a gateway API key limited to a small model allowlist.","Configure a routing rule whose fallback contains a model outside that allowlist.","Call the routing-rule alias with the restricted gateway key.","Confirm the request returns POLICY_BLOCKED and no provider attempt is made."],"boundary":"This control currently governs model allowlists. Dedicated provider, region and organization-role policies are not yet implemented as separate policy dimensions."},{"id":"api-key-spend-cap","name":"API-key spend cap","status":"verified","claim":"AetherGate reserves a conservative catalog-estimated maximum request cost before provider dispatch and atomically rejects a request when that reservation would exceed the API-key spend cap.","evidence":["Reservation is performed with a conditional atomic database update before upstream dispatch.","Concurrent requests compete against the same stored spend value rather than relying only on a post-request dashboard check.","The reservation is reconciled to actual catalog-estimated cost after completion, or released on failure.","A failed reservation returns SPEND_CAP_RESERVATION_FAILED before provider dispatch."],"reproducibleTest":["Create an API key with a small spend cap.","Send concurrent requests whose combined conservative reservations exceed the remaining cap.","Confirm only requests that fit within the atomic reservation budget are dispatched.","Compare spentUsd after completion with request telemetry."],"boundary":"This is a hard cap against AetherGate's catalog-estimated request cost, not a contractual guarantee that an upstream provider invoice can never differ because of provider-side pricing changes, rounding, or unmodeled billing behavior."},{"id":"administrative-rbac","name":"Administrative RBAC","status":"not-implemented","claim":"AetherGate does not currently claim a multi-role administrative RBAC system.","evidence":["Authenticated workspace mutation routes currently authorize the signed-in workspace user rather than a role matrix."],"reproducibleTest":["Not applicable until multiple administrative roles and explicit permissions are implemented."],"boundary":"Gateway API keys have application-facing restrictions, but those are not the same thing as administrator RBAC."},{"id":"administrative-audit-log","name":"Administrative audit log","status":"not-implemented","claim":"AetherGate does not currently claim a complete actor-attributed administrative change ledger with before/after values.","evidence":["Request telemetry records runtime gateway behavior, but configuration mutations are not yet written to a dedicated immutable administrative event stream."],"reproducibleTest":["Not applicable until an administrative event catalog and persistence layer are implemented."],"boundary":"Runtime request traces must not be described as equivalent to administrative audit logs."},{"id":"retention-export","name":"Retention and export","status":"partial","claim":"AetherGate stores operational request telemetry, but does not yet publish a complete retention/deletion/export contract for all runtime and administrative records.","evidence":["Request telemetry is persisted in PostgreSQL.","No universal Zero Data Retention mode is claimed."],"reproducibleTest":["Current request records can be inspected in the product, but a formal retention/export verification suite is not yet available."],"boundary":"Upstream provider retention remains controlled by the customer's provider account and contract."},{"id":"tamper-protection","name":"Tamper protection","status":"not-implemented","claim":"AetherGate does not currently claim cryptographic tamper-evidence or immutable administrative logs.","evidence":["No hash chain, append-only external sink, signature scheme or WORM storage guarantee is currently claimed."],"reproducibleTest":["Not applicable until a tamper-evident logging mechanism is implemented."],"boundary":"Database authorization and application security are not equivalent to cryptographic tamper evidence."}],"claims_boundary":["AetherGate does not currently claim SOC 2, ISO 27001, HIPAA, FedRAMP or GDPR certification.","AetherGate does not claim universal zero-data-retention.","Runtime request telemetry is not represented as a complete administrative audit log.","Catalog-estimated spend enforcement is not represented as a guarantee about every possible upstream-provider billing discrepancy."]}