Specifications
What runs, where it runs, and what it enforces. Every line below is a shipped capability.
Two segregated zones. One signed path between them.
Sandbox and Production are separate deployments with no shared database, event bus or API path. The only thing that crosses is a signed OCI artifact in your own registry, and Production verifies each one before applying it.
- Studio, Tests, release approval
- Own PostgreSQL 16, Redis and PDP
- Own credential store (sandbox keys)
- Own audit chain
- Own OIDC client
- Roles: viewer, builder, approver, admin
- Signed release bundle
- Policy exception
- Organization access state
- Knowledge-base corpus
- Runtime: leased queue, horizontal workers
- Own PostgreSQL 16, Redis and PDP
- Own credential store (production keys)
- Own audit chain
- Own OIDC client, step-up MFA
- Roles: viewer, approver, ops, admin
- No authoring tools deployed
- No shared database
- No shared event bus
- No API path from Sandbox to Production
- Credentials never cross
- Production runs on if the Sandbox is down
Air-gapped Production? Copy the artifacts across with standard OCI tools. Verification is the same.
Runtime and execution
- Engine
- LangChain v1 and LangGraph; one execution substrate for interactive and unattended runs
- Scale-out
- Leased queue, horizontally scaled workers, resumable streams; any worker resumes a paused run
- Composition
- Workflow-as-node pinned to a version; 5-level nesting limit, recursion guard, one budget per root run
- Triggers
- Chat, schedule, webhook, file watch, event stream (Kafka), mailbox (Microsoft 365, Google Workspace)
- Output contracts
- Named output schemas, frozen into the release and enforced in Production
Policy and guardrails
- Decision point
- One PDP for model, tool, retrieval and memory calls; unknown or unreachable means deny; runs on last good policy if the registry is down
- Composition
- Platform floor, organization baseline and agent policy; the strictest wins and a lower layer never grants
- Rule types
- Parameter bounds, context attributes (data class, time, geography, channel), session trajectory limits; deny or hold
- Guardrail floor
- Prompt injection (including retrieved content), PII in output, harmful output, cite-or-flag grounding; cannot be disabled
- Autonomy
- Declared level per agent, advisory to supervised-autonomous; the organization can tighten the autonomy and action-class matrix
- Kill switch
- Per organization, agent, tool or MCP server; opens an incident; release needs a second person; survives cache loss
Human-in-the-loop
- Decision Requests
- Customer consent, operational approval and change approval in one model and one Inbox
- Separation of duties
- Four-eyes as one organization setting; change approvals check both author and deployer
- Timeouts and resume
- Waiting never approves; a paused run resumes as its initiator, never as the approver
- Email approval
- One-time-code protected link; five wrong codes close it permanently
Release and supply chain
- Transport
- Signed OCI 1.1 artifacts in your registry; Production pulls, verifies signature, organization and version, then applies
- Release review
- Diff to live, capability manifest (read or write, target system, action class), evaluation summary for information
- Rollback
- Signed rollback request from Production, decided in the Sandbox as a change approval
- Product releases
- Helm charts, images by digest, SBOM per image, cosign signatures, dependencies locked by hash
Identity and access
- Identity provider
- Keycloak 26 brokering OIDC (Entra ID, Okta), SAML (ADFS) and LDAP / Active Directory; no passwords stored
- Zone scoping
- Separate OIDC client per zone; Sandbox and Production role sets; step-up MFA for Production roles
- Group placement
- Directory groups mapped to organizations, workspaces and roles, with preview; an unmapped group grants nothing
- Service identity
- Short-lived signed workload attestations; default-deny Kubernetes NetworkPolicies; no service mesh required
- Agent identity
- Organization, user, session and grant travel in a broker-signed context, never from a request body
Tenancy and data protection
- Isolation
- Organization id on every row under PostgreSQL row-level security, verified at startup in every process
- Encryption
- Envelope encryption: per-organization versioned data keys wrapped by a KMS master key; deleting keys crypto-shreds secrets
- Secrets
- By reference: Kubernetes Secrets, External Secrets, CSI, Vault; literal secrets refused in production
- Residency
- Region label on every model connection; unlabelled connections refused by any rule that names regions
Audit and evidence
- Audit chain
- Hash-chained, per-organization sub-chains, signed checkpoints, KMS/HSM keys with rotation; verified on schedule and on demand
- WORM copy
- Optional write-once copy to an object-lock bucket, compliance or governance mode
- Evidence packs
- Signed, framework-formatted exports, checkable with a standalone offline verifier
- Conformity
- EU AI Act, DORA, ISO 42001, SR 11-7, SAMA, BDDK mapped to live controls; support for assessment, not certification
- Erasure
- Subject erasure redacts and appends an erasure proof; the chain still verifies
Models
- Connections
- Base URL, auth (none, API key in any header, bearer, mTLS, OAuth2 client credentials), headers, region label, served models
- Self-hosted
- OpenAI-compatible endpoints: vLLM, Ollama, TGI, LM Studio, LiteLLM
- Cloud presets
- Anthropic, OpenAI, Google, Amazon Bedrock, Azure OpenAI
- Probe
- Connection saved only after each declared model answers; failures named as DNS, TLS, certificate, auth or model not served
- Routing
- Task tier and fallback within the policy-allowed set; every choice audited with its reason
- Errors
- Content filter, rate limited, authentication, model unavailable, context too long, provider error; bounded backoff, streaming
Integrations and retrieval
- Connectors
- Microsoft 365, Teams, Google Workspace, Slack, ServiceNow, Jira, Salesforce, SAP, SharePoint, SQL, GitHub; OAuth per zone
- Custom tools
- MCP servers, REST, database and notification tools; MCP service generator from an API description
- Egress guard
- Every address checked when dialled, including redirects; allow-list and pinning
- Knowledge sync
- Folder, git, SharePoint, S3, Confluence, Google Drive; OCR for scans; pgvector
- Retrieval
- Entitlement-filtered; agentic multi-hop within hop and cost limits; citations with cite-or-flag
Observability and operations
- Telemetry
- OpenTelemetry export, SIEM, Prometheus metrics without organization content in labels, reference Grafana dashboards
- Incidents and alerts
- Durable incidents; signed webhook, Slack, Teams, PagerDuty or email through a retrying outbox
- Anomaly detection
- Statistical and ML baselines per agent, poisoning-resistant, every flag explained
- Backup and restore
- Every store; hash-checked restore ending in audit-chain verification; RPO and RTO stated per store
- Support bundle
- Versions, digests, migration heads, readiness and redacted logs per zone
Deployment
Helm charts for one cluster or two. Nothing leaves your network unless you configure it to.
What you bring
One cluster or two
Either way, nothing flows from the Sandbox to Production except signed artifacts. Air-gapped? Copy them across with standard OCI tools.
Install in five steps
- 1PullCopy the signed release into your registry.
- 2VerifyCheck every image with cosign verify.
- 3InstallHelm charts for identity, Sandbox and Production.
- 4ConnectYour directory, KMS, storage and models.
- 5ValidateRun the guide’s checks, create the first organization.
Built to be operated by you
See your own workflow governed, end to end.
A 30-minute demo on a workflow from your world. No slides.