Evidence and receipts

Pipelock vs Agent Evidence Tools

Attested Intelligence, Asqav, Obsigna, and Halo-record next to Pipelock. Who holds the key, where the recorder sits, and whether an auditor can verify offline.

At a glance

Pipelock source Agent evidence tools
Job Agent firewall. Mediates HTTP, WebSocket, and MCP traffic routed through it, scans it for secret leaks, prompt injection, SSRF, and tool poisoning, and can emit signed action receipts for mediated decisions when a signing key is configured. Produce a tamper-evident record of what an agent did. They differ on who signs, where the recorder sits, and whether an outsider can check the result without the vendor.
Enforcement point Network path, outside the agent process Ranges from inside the agent process to a hosted third-party notary
Source Open source, Apache-2.0 core; Enterprise under ELv2 Attested Intelligence (MIT), Asqav SDK (Elastic License 2.0, closed service), Obsigna (Apache-2.0), Halo-record (Apache-2.0)
Pricing shape Free core; paid Pro and Enterprise tiers Free packages; Asqav sells a hosted service with a free plan
Runs as Single Go binary, self-hosted; container and Helm MCP proxy, SDK plus hosted signer, or in-process recorder
Pick Agent evidence tools

Pick by the property you need. Attested Intelligence for MCP-only policy receipts. Asqav for a hosted third-party signer with post-quantum keys. Obsigna for an out-of-process signing daemon with a public receipt protocol. Halo-record for a zero-dependency in-process hash chain.

Pick Pipelock

You want the evidence to come from the same boundary that inspected and enforced the traffic, across MCP, HTTP, and WebSocket, with a key you hold.

Run both

Halo-record can ingest gateway logs, so it can sit downstream of Pipelock. The two mediator products overlap with Pipelock on the MCP path; pick one there.

Want the runtime boundary, not just another checklist?

The short version

Every tool on this page records agent actions, but the protection against later editing depends on its signature, key custody, or external witness. They differ on the three questions an auditor will ask.

Who holds the signing key? Where does the recorder sit relative to the agent? Can I verify the record without contacting the vendor?

Pipelock is an agent firewall. It sits outside the agent process on the routed network path and inspects mediated MCP, HTTP, and WebSocket traffic. With an Ed25519 signing key configured, it can emit signed action receipts for mediated decisions. The shipped verifier works offline.

Attested Intelligence is an MCP governance proxy. It evaluates tool calls against policy, signs a receipt per decision with a deployer-held Ed25519 key, and exports Merkle-bundled evidence with three reference verifiers. MCP only.

Asqav is a hosted evidence service with an SDK. By its own description it’s an unaffiliated third party that signs each agent action server-side with its own keys, using ML-DSA-65 post-quantum signatures, and publishes a JWKS. Customer-managed keys and a self-hosted signer are documented alternatives. The verifier is public and works offline.

Obsigna is the Apache-2.0 reference toolchain for the Agent Receipts protocol. Its README describes an out-of-process signing daemon that holds the key and owns the audit chain, an MCP proxy that signs every tool call and adds policy hooks, a hook for coding agents, a CLI that browses and verifies receipt databases, and Go, Python, and TypeScript SDKs that verify one another’s receipts against a shared conformance suite. It is small and new, and pushed the day this page was checked.

Halo-record is an in-process recorder. It appends SHA-256 hash-chained records to a local file from framework callbacks, hooks, or ingested telemetry. No signatures by design. Verification recomputes the chain; an opt-in witness and an RFC 3161 timestamp add an outside anchor.

The comparison

PropertyPipelockAttested IntelligenceAsqavObsignaHalo-record
Recorder positionMediator on the network path, outside the agentMediator on the MCP path, outside the agentSDK call in the agent; signing happens in Asqav’s service or a customer signerMCP proxy or hook feeds an out-of-process daemon that signsInside the agent process
CoverageMediated MCP, HTTP, WebSocket, and A2A; CONNECT payloads need TLS interceptionMCP tools/callWhatever the SDK is asked to sign, across 27 listed integrationsMCP tool calls through its proxy; coding-agent hook eventsFramework callbacks, coding-agent hooks, MCP interceptor, ingested logs
SignatureEd25519 when a signing key is configuredEd25519; ML-DSA-65 hybrid specifiedML-DSA-65, with Ed25519 optionsEd25519None; hash chain only
Who holds the keyDeployerDeployerAsqav by default; customer KMS or self-hosted signer optionalDeployer, in the daemonNo key
Published formatPublic receipt specPublic receipt specPublic spec, submitted as an IETF draftPublic protocol spec and JSON schemasPublic JSON schema
Shipped verifierOffline verifier plus a Python referencenpm CLI plus JS, Go, and Python referencesPython verifier under Elastic License 2.0obsigna verify CLI plus three SDKshalo verify CLI
Offline verificationYesYesYes, against the published keysLocal verification of the receipt database; documented designYes, chain recompute; timestamp check alone makes a network call
Trust anchorDeployment key; demo key publishedPinned gateway keyPublic JWKS at a well-known endpointThe daemon’s key; third-party key publication not exercised for this pageOptional witness and RFC 3161 timestamp
The decision is inspectedYes: DLP, injection, SSRF, tool poisoning inform the receiptPolicy verdict on the callPolicy gate per actionPolicy hooks and risk scoring in the proxyRecords; doesn’t gate
Failure directionConfigured block paths fail closed on mediated trafficPERMITTED or DENIED per callPer its docs, policy gate before the actionNot documented in the READMEFramework adapters fail open by design; documented
LicenseApache-2.0 core; Enterprise under ELv2MIT; spec Apache-2.0SDK ELv2; service closedApache-2.0Apache-2.0

What the differences mean

Mediator versus in-process. A recorder that runs inside the agent process can only record what the agent chooses to call it for. A compromised or misbehaving agent can skip it. A mediator records traffic that crosses its path, but it does not see traffic that bypasses that path. Pipelock and Attested Intelligence are mediators. Halo-record’s README is candid that its framework adapters fail open: if a record can’t be written, the action completes and the record is lost.

Deployer key versus vendor key. With Pipelock, Attested Intelligence, Obsigna, and Halo-record’s optional anchors, you hold the material. Asqav inverts that on purpose: its pitch is that a third party the agent’s operator doesn’t control does the signing, so the recorded party can’t forge or backdate. That’s a real property, and it means you trust Asqav’s service and key directory instead. Its docs also offer customer-managed KMS keys and a self-hosted signer for buyers who want the key out of the vendor’s database.

Coverage. Attested Intelligence and Obsigna receipt MCP tool calls, and Obsigna also takes coding-agent hook events. Halo-record records whatever adapters feed it. Asqav signs whatever the SDK is asked to sign. With a signing key configured, Pipelock can receipt decisions on its mediated network path, and the decision carries the reason from inspection.

Post-quantum. Asqav signs with ML-DSA-65 today. Attested Intelligence specifies a hybrid but signs with Ed25519 live. Pipelock signs with Ed25519. Of the five tools on this table, Asqav is the one whose documented default is a post-quantum signature.

Where the others are stronger

A signer you don’t control. Asqav’s hosted service holds the signing authority by default, rather than the agent operator. Its documented default signature is post-quantum.

Hooks inside the agent. Obsigna takes coding-agent hook events, so it records steps that never touch the network. Attested Intelligence receipts the policy decision on each MCP tool call with a purpose-built format. Halo-record runs in-process with no proxy to deploy.

What none of them prove

A verified chain proves the records present are authentic and in order. It doesn’t prove non-omission: that every action the agent took produced a record. Attested Intelligence’s README says so. Halo-record’s LIMITS document says so. Obsigna’s formal chain-invariant check names the Byzantine key holder as the boundary it does not cover. Pipelock’s receipts cover mediated traffic, and traffic that bypasses the proxy leaves no receipt.

A deployer-held key proves what the mediator decided. It doesn’t make the operator independent of the evidence. The honest phrasing for all of them is: verify the signature yourself, offline, without a server.

Not on this table

Two more projects came up in research and were left off. CertNode publishes a receipt format and a verify-only npm package, but its website answered every request with a paused-deployment notice on the date checked and the source repository path in the package metadata didn’t resolve, so key custody couldn’t be confirmed from a primary source. Hopframe is a BSL-licensed alpha with signed hash chains and Sigstore anchoring on paper, and a single maintainer; the claims weren’t exercised. Both may earn a row later.

Further reading

Sources checked

Third-party descriptions on this page come from the public materials below, read on the dates shown. Features and pricing change; check the current documentation before you decide.

Third-party product names and marks belong to their owners. PipeLab is not affiliated with, sponsored by, or endorsed by the makers of any product compared on this page. Descriptions of other products come from their own public materials on the dates listed above and reflect PipeLab's reading of them. If something here is wrong or out of date, tell us and it will be corrected.

Frequently asked questions

What separates these tools if they all produce tamper-evident records?
Three things. Who holds the signing key: the deployer (Pipelock, Attested Intelligence, Halo-record) or a vendor by default (Asqav, with customer-managed and self-hosted options). Where the recorder sits: outside the agent process as a mediator (Pipelock, Attested Intelligence), inside the agent process (Halo-record), or wherever the SDK is called (Asqav). And what it covers: MCP tool calls only, framework events, or the agent traffic routed through a mediator.
Does a hash chain without signatures prove anything?
It proves the chain is internally consistent. Anyone holding the file can edit a record and recompute every hash after it, so tamper evidence depends on a copy of the chain head held somewhere else. Halo-record documents this and offers an opt-in witness and an RFC 3161 timestamp for that reason.
Which of these is independent of the operator?
None fully. A deployer-held key proves what the mediator decided, not that the operator is honest. Asqav’s hosted signer is a third party by design, which moves trust to Asqav rather than removing it. Verify the signature yourself, offline, is the claim each of them can honestly make.

Want the runtime boundary, not just another checklist?

See all comparisons →