Signs a tamper-evident Asqav receipt at the end of each Claude Code session: files edited (content hashes…
FAQ (answers come from our records)
How do I install it?
We did not find an install command for this repository (our install coverage is only about 4%). Check its README or releases page.
Who is it for?
We filed it under these tags: MCP 服务. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
first catalogued 2026-10-14;last seen 2026-10-16。There is no official certification or quality rating here — we record sources and dates only.
Asqav receipts for Claude Code and OpenAI Codex
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
Signed evidence of what your coding agent did.
This plugin watches a Claude Code session through hooks and, when the session stops, signs one Asqav code_authorship receipt summarizing it: which files changed (content hashes before and after), which commands ran (hashed), and the git context. The receipt is cryptographically signed, timestamped, and verifiable by anyone with the link.
Teams adopting Claude Code are being asked for an audit trail of AI-generated code. The EU AI Act's record-keeping obligations for high-risk systems apply from 2 December 2027, and from 2 August 2028 for those classified under Annex I, after Regulation (EU) 2026/1744 replaced the applicability dates in Article 113; SOC 2 auditors already ask how production code gets written today. A log file you can edit is weak evidence. A signed receipt is not.
Quickstart (about 5 minutes)
1. Create an Asqav account and an agent at asqav.com/dashboard, and copy an API key. The free tier covers this.
2. Export the credentials:
3. Install the plugin. Either load it directly:
or paste the hooks block from examples/settings-snippet.json into your .claude/settings.json (fix the script path first).
4. Run a Claude Code session inside a git repository. Edit a file, run a command, then stop the session. Claude Code shows the receipt as a system message:
5. Open the verify URL. That page is public, so you can hand it to a reviewer or an auditor as is.
Requirements: Python 3.10+, git, and network access to api.asqav.com. No pip packages needed. If the asqav Python SDK happens to be installed, the hook signs through it, otherwise it uses the standard library.
OpenAI Codex
Codex speaks the same hook protocol, so the same script signs Codex sessions. Run it with --harness codex:
1. Export ASQAV_API_KEY and ASQAV_AGENT_ID as above.
2. Paste examples/codex-config.toml into ~/.codex/config.toml (or a trusted /.codex/config.toml) and set the absolute script path.
3. Approve the hooks once with /hooks in Codex, then work as usual.
At the end of each turn with activity, Codex shows the receipt line as a warning message. What Codex adds:
- File edits arrive as apply_patch. Every file the patch adds, updates, deletes, or moves to is hashed before and after.
- Shell commands may arrive as an argv list. Only the hash and the program name are kept, as with Claude Code.
- The receipt records authored_by.tool: "codex" and attestation_source: "codex-hooks".
Codex hooks cover shell, apply_patch, MCP, and local function tools, not hosted tools such as web search, so the receipt covers what ran on your machine.
What gets captured
Per tool call, buffered to a local JSONL file outside your repo:
- File edits (Edit, Write, NotebookEdit): the file path and the SHA-256 of the file content before and after the change.
- Bash commands: the SHA-256 of the command line and the program name (the first token, like pytest or git). Output is recorded as a hash too.
- Session context: timestamps, working directory, git HEAD at the start of the session.
At session stop, the buffered events are aggregated and signed into one receipt. After a successful sign, the buffer rotates so the same activity is never signed twice.