A data-sovereignty-first governance layer for AI inference. This brief is written for a security team's diligence: what Bastion is, how it deploys, how it handles data, and exactly what is proven versus scoped.
Enterprises govern data at rest and in motion, but that investment stops the instant a model reads it — a retrieval-augmented prompt can carry a labeled document to whichever model answers. Bastion is a control point between your applications and every model they use. It classifies each prompt by data sensitivity, enforces policy (regulated work is hard-blocked to your boundary, fail-closed), routes the rest to the cheapest capable model (local-first), and proves every decision on a tamper-evident audit — entirely inside your boundary.
Bastion ships as one container, deployed above your in-boundary model endpoints. It exposes a drop-in OpenAI-compatible endpoint, so existing applications and SDKs use it unchanged. TypeScript / Node, framework-free; runs on macOS, Linux, and Kubernetes (a reference manifest with Namespace, Deployment, Service, NetworkPolicy, and Ingress is provided).
Median governance overhead is ~27 ms per request (measured in-house), before the model is called — a fraction of inference time. No data plane leaves your control; a cloud-hosted proxy cannot keep the data plane in your boundary.
| Control | Implementation |
|---|---|
| Authentication | SSO — OIDC (auth-code + PKCE), SAML 2.0 SP (XSW-proof, XXE-off), and offline JWT verification. Fail-closed: no valid identity → no access. |
| Authorization | Deny-by-default endpoint RBAC (graduated roles) with a structural coverage guard — a new endpoint cannot ship unmapped. Per-tool RBAC on the execution path. |
| Multi-tenancy | Tenant bound to the verified token (never a spoofable header); per-tenant audit view, egress quota, settings, and learned overlays — siloed. |
| Audit integrity | Hash-chained always; HMAC-signed and host-forgery-resistant when the signing key is held off the machine. Continuity (gaps / torn-tail) surfaced at /readyz; a forged row drains the pod. |
| Egress control | Restrict-only by construction — policy narrows the model pool first; sensitivity quotas and force-local paths can only tighten, never widen it. A per-tenant provider allow-list pins off-boundary use to your DPA/BAA-approved vendors (empty = in-boundary only); widening it is audited as a boundary change. |
| Transport / boundary | Bound to loopback by default; when exposed, /api + /v1 require a bearer token or SSO (fail-closed). Baseline security-headers on every response; non-root container; restrictive NetworkPolicy (in-cluster egress only). |
| Observability | Content-free: OCSF/OTLP + CloudEvents to your SIEM/collector as an allowlisted, field-by-field envelope — labels and counts, never content. |
Unit + integration suites; an end-to-end HTTP battery against the real server; browser E2E of the console; an adversarial no-leak red-team + prompt-injection probes (0 leaks over the corpus); concurrency + fault-injection/outage runs; live-model round-trips; and held-out de-identify recall attestation — behind a beta-readiness gate.
SAST (Semgrep), dependency + container CVE scanning (npm audit + Trivy), and full active, authenticated DAST (OWASP ZAP full-scan + Nuclei) against a running instance: zero active-attack-class findings (the one high was a demo-only false positive) as of the latest run, with remediations applied and re-scanned. This scanning runs continuously in CI (on every push/PR + weekly), with Dependabot. It is reproducible from documented commands on your own hardware.
Bastion does not certify you — it produces the per-decision, labels-only evidence that regulated programs need, from the tamper-evident chain. A signed, point-in-time compliance report is available per regime:
| Regime | What Bastion evidences (labels-only) |
|---|---|
| HIPAA | PHI never egressed un-de-identified; de-identification coverage; access recorded per request. |
| GLBA | NPI kept in-boundary; egress refusals on sensitive tiers. |
| GDPR | Data-class → jurisdiction residency on the chain; retention posture; pseudonymization counts. |
| EU AI Act | Traceability of each inference decision; human-oversight escalations; logged automatically. |
| SOX | Config- and policy-change trail integrity on the tamper-evident chain. |
Mappings are an editable control-map a GRC team tunes; they are enablement evidence, not an attestation of compliance.
We would rather state the line between proven and projected plainly than imply a posture we have not earned. Every figure in this brief is measured in-house on the delivered package and reproducible on your hardware.
Install the package on your infrastructure, run the proofs against your own data, and read the audit chain that comes out — none of it requires us in the room. If it holds up, the next step is a joint pilot with one regulated workload on the estate.
Contact: john@greatfallsventures.com · bastionplane.ai