Export all-employee comp
Blocked in prod
Red
hris.comp_export
HR / employee data
hris.comp_export at scope=all_employees with SSN — two hard-deny rules fire simultaneously.
Step 1 of 5
Each tile is a domain — click in to see the agent tool calls that operators get to gate. Green-tier reads are authorized outright; Yellow-tier cards park for review; Red-tier cards are production-block cases that use an explicit review walkthrough in this safe demo.
Clavenar sits between an AI agent and its tools to allow, hold, or block actions before execution. These cards preview curated catalog dispositions; a live session creates safely scoped demo records.
Red cards describe the expected production block. The live walkthrough routes them through review so you can inspect the decision evidence without executing a destructive action.
Run the 90-second guided preview, then start a scoped live session.
The preview uses labeled sample evidence. A 2-hour live session lets you create your own scoped approvals and ledger rows.
Preview why a tool call is allowed, parked for HIL, or marked for a production block. Sample evidence is labeled below; a live session records your own scoped correlation IDs.
Agent
Tool call
Brain
Intent check
Policy
Gate
HIL
Review
Ledger
Chain row
crm.lookup
Representative read-only requests pass without human review and land an authorized ledger row.
Reason: read-only CRM lookup with no export target.
Policy match
green_read_allow: method is read-only and scoped to one customer.
Expected evidence
expected: authorized · demo-sample-allow · chain-verifiable
Open timeline preview → See review events → Open in-browser verifier →Auto-allow
7Human review
54Block
52Comp exports, candidate PII, recruiter forwarding.
Total
6
Green
0
Yellow
4
Red
2
6 shown
Red
hris.comp_export
HR / employee data
hris.comp_export at scope=all_employees with SSN — two hard-deny rules fire simultaneously.
Yellow
email.send
HR / employee data
Recruiter forwards candidate roster to an external hiring partner. Operator confirms recipient.
Yellow
email.send
HR / employee data
Recruiter forwards offer-letter PII (name + email + title) to a candidate's external address. Light-PII review path.
Red
hris.term_letter_bulk
HR / employee data
hris.term_letter_bulk drafts and sends termination letters to 47 employees. Workforce-event scope — agents cannot fire workers in bulk.
Yellow
email.send
HR / employee data
HR agent forwards 12 comp records to an outside-recruiter address. Operator confirms the recruiter's NDA is on file.
Yellow
hris.i9_export
HR / employee data
hris.i9_export pulls 60 I-9 packets including SSN and document-image fields without redaction. Confirm the auditor's clearance.
No scenarios match this view.
Every agent is granted a tool-scope envelope. Clavenar reads the tamper-evident ledger to flag the scopes an agent never used, then lets an operator narrow that blast radius in one click — the change is chain-anchored and auditor-verifiable. A fleet gauge tracks the share of granted scope sitting unused.
Operators: open Registered agents
for the fleet gauge, or any agent's
detail page
with ?walkthrough=1 for the guided tour.
When an upstream tool reply carries sensitive data, the Egress
Inspector asks the policy engine what to do with each entity
type it located — deny,
sanitize,
pend, or
allow — from a Rego data document
(clavenar.egress.entity_actions).
The same response is blocked or redacted depending on that one map.
Upstream response
{"customer":"Ada Lovelace","ssn":"512-44-1729","status":"active"}
ssn = sanitize
{"customer":"Ada Lovelace","ssn":"[REDACTED:SSN]","status":"active"}
The SSN span is redacted in place and the rest of the response reaches the agent. An egress_sanitized row lands in the ledger.
ssn = deny
403 — upstream response withheld from the agent
Flip the SSN action to deny and the whole response is withheld; an egress_violation row records the block. Credentials deny by default.
Default action map
AWS_ACCESS_KEY→deny
PRIVATE_KEY→deny
API_KEY→deny
DB_CONNECTION→deny
SSN→sanitize
CREDIT_CARD→sanitize
EMAIL→sanitize
Sample shown for illustration — operators tune the map per deployment;
an unmapped type falls back to deny.