Python
pip install bobsentry
Developers
Create a sandbox account, register an Agent, issue an Agent-bound runtime credential, call the evaluate API, and inspect signed decision evidence. BobSentry returns the authorization decision; the integration must honor it.
Create sandbox account
Register an Agent
Issue Agent-bound credential
Send runtime evaluation
Inspect signed evidence
Install the SDK and put BobSentry immediately before a consequential action. BobSentry returns the authorization decision; the integration must honor it and perform or withhold the downstream action.
Python
pip install bobsentry
TypeScript
npm install @bobsentry/sdk
Call BobSentry at the tool or action boundary before the consequential operation. BobSentry returns ALLOW, REQUIRE_APPROVAL, or BLOCK. In COOPERATIVE mode, the integration must honor that decision.
POST https://runtime.bobsentry.com/v1/runtime/evaluate with normalized action metadata. Deterministic policies return ALLOW, REQUIRE_APPROVAL, or BLOCK. Use an Agent-bound evaluate-only credential.
curl -X POST https://runtime.bobsentry.com/v1/runtime/evaluate \
-H "Authorization: Bearer $BOBSENTRY_AGENT_CREDENTIAL" \
-H "Content-Type: application/json" \
-d '{
"action": "deploy_production",
"metadata": {
"environment": "production",
"target": "github-deploy-workflow"
}
}'Customer-facing modes today are COOPERATIVE and OBSERVE. There is no customer-selectable ENFORCED mode.
The integration calls BobSentry before the consequential operation and is responsible for honoring the authorization decision.
BobSentry evaluates and records what policy would decide, but does not control downstream execution.
Every recorded runtime decision produces signed authorization evidence—what was requested, which policy applied, the decision returned, and whether human authorization was required. Evidence records who authorized (when applicable) and when. Execution outcomes are recorded separately from authorization. Sample fields below are illustrative—not production identifiers.
{
"decision_id": "dec_sandbox_8f3a2c1e",
"decision": "REQUIRE_APPROVAL",
"policy_id": "pol_external_comms",
"policy_version": "2026.04.12",
"approval_status": "pending",
"action_hash": "sha256:9c1f…a4e2",
"correlation_id": "corr_sandbox_41bb",
"timestamp": "2026-07-23T03:14:22Z",
"signature": "ed25519:…"
}Decision evidence fields