What is Obstruo?
Obstruo is a lightweight AI Governance Control Plane: a neutral layer that sits between your applications and the LLMs and agents they use. Every AI call your systems make passes through it, so policy is enforced in one place instead of separately in every codebase.
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#1E1E26', 'primaryBorderColor': '#8B6FE8', 'primaryTextColor': '#ECEAF6', 'lineColor': '#8B6FE8', 'secondaryColor': '#16161C', 'tertiaryColor': '#16161C', 'mainBkg': '#1E1E26', 'nodeBorder': '#8B6FE8', 'clusterBkg': '#16161C', 'clusterBorder': '#2A2A34', 'titleColor': '#ECEAF6', 'edgeLabelBackground': '#0E0E11', 'fontFamily': 'ui-monospace, SF Mono, Menlo, monospace'}}}%%
flowchart LR
app(["Your app"]) --> gw
gw --> llm(["OpenAI · Anthropic · Azure · self-hosted"])
subgraph gw["Obstruo - AI Governance Control Plane"]
dp["Data protection"] --> sec["Security"] --> pol["Policy"] --> mon["Monitoring"] --> aud["Audit"]
end
Obstruo implements the OpenAI-compatible API, so integration does not require a new SDK or an application rewrite. Change the base URL and the API key. Everything else stays the same.
What problems does it solve?
Controls lag behind adoption. Teams ship LLM features in weeks, while data protection, compliance logging, and cost visibility arrive much later, if at all. Obstruo puts those controls in the request path itself, applied the same way across every model and agent your organisation uses.
Data leakage. Sensitive and personal data must not reach external LLMs in plain text. Obstruo detects and masks it before the request leaves your infrastructure, then restores the original values in the response. Your application code never sees the difference.
Security threats. Prompt injection, jailbreaks, and unsafe content are blocked at the control plane before they reach a model or return to a user.
Compliance and auditability. Regulated industries require verifiable records of what AI systems processed and when. Obstruo writes a complete audit log for every request: model called, policy applied, data categories detected, cost incurred.
Vendor lock-in. Obstruo routes across providers based on cost, performance, or governance requirements. Swapping or adding a provider is a configuration change in the control plane, not a code change.
What Obstruo is not
Obstruo is not an LLM. It does not generate text, store your data beyond the audit trail, or train on your requests.
Obstruo is not an MLOps or model deployment platform. It governs calls to models you already use. It does not host or serve models, unless you configure the optional on-premises inference pool.
Obstruo is not a hyperscaler-native control. It works the same way across OpenAI, Anthropic, Azure, Google Vertex, self-hosted models, and any OpenAI-compatible endpoint, with no vendor-specific setup.