Skip to main content
plugin

signet — Claude Code plugin: what it does, how to install

Signs every Claude Code tool call with an Ed25519 key and records actions to a hash-chained audit log. It creates verifiable proof of tool execution.

Install into Claude Code · Plugin marketplace All methods and platforms ↓
/plugin marketplace add anthropics/claude-plugins-community
/plugin install signet@claude-community
Open on GitHub

What signet does

The plugin uses a PostToolUse hook that intercepts execution after each tool call, capturing the tool name and standard input. It signs the action via an embedded WebAssembly module without native system dependencies, appending each receipt to a daily hash-chained log.

Audit files land in ~/.signet/audit/ as daily JSONL entries. The agent key is generated on the first tool call and stored at ~/.signet/keys/claude-agent.key with 0600 file permissions, but the key file remains unencrypted on disk.

Log records can be inspected directly with jq or verified for chain integrity using the external signet audit --verify CLI command.

What it helps with

  • sign every agent tool call with Ed25519 signatures
  • maintain a tamper-evident audit trail using hash chains
  • verify agent action history with the signet CLI
  • record tool inputs and names without native runtime dependencies

Example prompts for the agent

  • Read the contents of config.json and show settings
  • Run the project test suite using bash
  • Create a database migration script

How to install signet

Plugin marketplace

/plugin marketplace add anthropics/claude-plugins-community
/plugin install signet@claude-community

Step by step, with commands for each platform: Claude Code plugins: marketplaces, installing, and building your own

Questions about signet

How to install signet in Claude Code?

Run /plugin marketplace add anthropics/claude-plugins-community and then execute /plugin install signet@claude-community.

What does signet do?

It generates an Ed25519 cryptographic receipt for every tool invoked by Claude Code and writes it into a hash-chained daily audit log.

Where does signet store keys and audit logs?

Logs are stored in ~/.signet/audit/ as daily JSONL files, while the unencrypted private key is kept at ~/.signet/keys/claude-agent.key with 0600 permissions.

Source text

claude-code · Apache-2.0
# Signet Claude Code Plugin

Cryptographic signing for every tool call in Claude Code. Ed25519 receipts + hash-chained audit log.

## Install

```bash
# Option A: From the official Anthropic plugin marketplace
/plugin install signet@claude-plugins-official

# Option B: Add Signet as a marketplace source, then install
/plugin marketplace add Prismer-AI/signet
/plugin install signet@signet
```

Alternative install methods:

```bash
# From Git
claude plugin add --from https://github.com/Prismer-AI/signet

# Clone and install locally
git clone https://github.com/Prismer-AI/signet.git
claude plugin add ./signet/plugins/claude-code
```

## What It Does

Every tool call Claude Code makes is automatically:

1. **Signed** with an Ed25519 key (auto-generated on first use)
2. **Logged** to a hash-chained audit trail at `~/.signet/audit/`

No configuration needed. Signing starts immediately after installation.

## Audit

View raw logs:

```bash
cat ~/.signet/audit/$(date +%Y-%m-%d).jsonl | jq '.receipt.action.tool'
```

With [signet CLI](https://github.com/Prismer-AI/signet) (optional):

```bash
signet audit --since 1h
signet audit --verify   # verify hash chain integrity
```

## Key Management

- Keys stored at `~/.signet/keys/claude-agent.key` (unencrypted, 0600 permissions)
- Auto-generated on first tool call
- Shared with signet CLI if installed

## How It Works

A PostToolUse hook runs after every tool call, reading the tool name and
input from stdin. The hook signs the action with the agent's Ed25519 key
using an embedded WASM module (no Rust or native dependencies needed),
then appends the signed receipt to the daily audit log.

## License

Apache-2.0 OR MIT

© Prismer-AI · Apache-2.0 · Prismer-AI/signet

Similar plugins

All plugins for Security →

From the same set2

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor