Docs/Security Posture Pack

Security Posture Pack

Everything your security team needs to evaluate SatGate.

Security Model Overview

SatGate implements Economic Access Control (EAC) — a capability-based security model where every API request must present a cryptographically verified token with embedded access constraints.

Unlike identity-based systems (OAuth, API keys) that answer "who are you?", SatGate answers "what can you afford?" — enforcing budgets, scopes, and delegation limits at the request layer.

The gateway operates as a Policy Enforcement Point (PEP), sitting between AI agents and upstream APIs. No request reaches the upstream without passing cryptographic verification.

Authentication & Authorization

Macaroon tokens: Bearer tokens with embedded caveats (budget, scope, TTL, delegation). Cryptographically signed using HMAC-SHA256. Cannot be forged or tampered with.

SatGate Mint (Trust Broker): Exchanges workload identity tokens (OIDC JWTs from K8s, AWS IAM, or any OIDC provider) for gateway-native macaroons with policy-defined constraints.

Delegation: Parent tokens can create child tokens with tighter restrictions. Children can never exceed parent permissions. Cascade revocation instantly invalidates entire delegation trees.

Scope enforcement: Fine-grained access control via scope caveats (e.g., api:read, api:write, api:capability:admin). Wildcard matching supported.

Encryption & Key Management

All traffic encrypted in transit via TLS 1.2+. HTTPS enforced for all Cloud endpoints.

Macaroon root keys are tenant-isolated. Each tenant has a unique root key that never leaves the gateway process.

Non-custodial architecture: SatGate never stores or accesses upstream API credentials. Tokens are verified at the gateway; upstream calls use the customer's own credentials.

Database encryption: Postgres with encrypted connections. Sensitive fields (tokens, keys) stored as salted hashes where possible.

JWT verification: JWKS endpoints fetched and cached with automatic rotation support.

Data Handling

Request bodies are NOT inspected or stored (except MCP tool call metadata for cost attribution).

Logged data: timestamp, token identifier, route, HTTP method, status code, latency, credits charged. No PII or request payloads.

MCP proxy: Parses JSON-RPC method and tool name for cost attribution. Does not log tool arguments or responses.

Tenant isolation: All data is scoped by tenant_id. Cross-tenant access is architecturally impossible.

Data retention: Configurable. Default 90 days for audit logs, 30 days for usage metrics.

Audit & Compliance

55 event types across 12 categories tracked in immutable audit log.

Every token mint, revocation, delegation, budget change, config update, and login is recorded.

Audit log export: CSV/JSON export available via dashboard and API.

Webhook notifications: Real-time alerts to Slack, Discord, email, or custom HTTP endpoints.

RBAC: Role-based access control for dashboard users (admin, member, viewer).

Infrastructure & Deployment

Gateway: Single Go binary with no external runtime dependencies. Stateless — scales horizontally.

Cloud platform: Hosted on Fly.io (US-East). SOC 2 Type II certified infrastructure.

Database: Fly.io Managed Postgres with automated backups and point-in-time recovery.

Redis: Used for real-time spend tracking and session state. Optional — gateway operates without it.

Self-hosted option: Deploy on-premises or in your own cloud. Same binary, same config.

Open source core: Gateway source code available at github.com/SatGate-io/satgate for security review.

Security Checklist

Capability-based access control (not identity-based)
Cryptographic token verification (HMAC-SHA256)
Per-agent budget enforcement with real-time tracking
Cascade revocation across delegation trees
Tenant-isolated data with no cross-tenant access
Non-custodial — never stores upstream credentials
Immutable audit log with 55 event types
TLS 1.2+ for all traffic
Open source core for independent security review
Self-hosted deployment option available

Need a custom security review or have compliance questions?

security@satgate.io · Audit Events Reference · Security Page