Built to be inspected, not just trusted
Agent versions, run states, connections, and audit events are first-class, queryable objects. On-prem and cloud deployment topologies, credential isolation, and step-level observability are part of the product — not afterthoughts.
Server-authoritative, multi-tenant, auditable by design
Every protected operation is authorized on the server. Every tenant-owned record carries an immutable workspace key. Credentials never leave the secret store in clear form. Runs are explicit state machines, not loosely coordinated flags.
Where Captiva can run
On-prem servers
Deploy inside your own network. Ideal when field controllers, industrial systems, or regulated data cannot leave the perimeter.
Private / hybrid cloud
Run the control plane where you already operate. Connect both internal systems and external SaaS without forcing a single network model.
Public cloud
Fully managed option for teams that want the same governance model without operating the infrastructure themselves.
Every run has an explicit, recoverable state
DRAFT → READY → QUEUED → RUNNING → WAITING_FOR_INPUT | WAITING_FOR_APPROVAL | SUCCEEDED | PARTIAL | FAILED | CANCELED. Step-level events are persisted so the UI can reconstruct history without parsing free-form logs.
What engineers actually care about
- ▸ Tenant isolation enforced server-side on every query
- ▸ Credentials stored separately; only references and masked metadata reach the application
- ▸ Approval required for destructive, financial, production, or externally visible actions
- ▸ Idempotency keys for retriable mutations
- ▸ Full audit event history: who approved what, which version ran, what changed
Logs and evidence that survive the 2 a.m. call
When a run fails or waits for approval, the operator sees the exact step, the inputs that were used, the tool results, and the recovery options — retry, resume, fork, or cancel — without reconstructing intent from scattered log lines.
// fetch the current state of a run
GET /v1/workspaces/{id}/runs/4821
{
"status": "awaiting_approval",
"agent_version": "lead-router@1.4.0",
"environment": "production",
"steps_completed": 4,
"steps_total": 6,
"pending_approval": {
"step": "crm_sync",
"reason": "new_account_threshold"
}
}Ready to see how Captiva fits your stack?
No pricing tables, no sign-up forms. Talk to us directly.