signet-auth
Cryptographic action receipts for AI agents. Sign every tool call with Ed25519 — works with LangChain, LangGraph, LlamaIndex, Google ADK, Pydantic AI, Smolagents, Semantic Kernel, OpenAI Agents, AutoGen, CrewAI, and more.
Install
pip install signet-auth
Quick Start
from signet_auth import SigningAgent
agent = SigningAgent.create("my-bot", owner="alice")
receipt = agent.sign("web_search", params={"query": "signet"}, target="mcp://local")
print(receipt.id)
Decorator Entry Point
For plain Python tools, the easiest way to adopt Signet is the decorator layer:
from signet_auth import SigningAgent, signet_tool
agent = SigningAgent.create("tool-bot", owner="alice")
@signet_tool(
agent=agent,
target="mcp://github.prod",
audit_encrypt_params=True,
)
def create_issue(title: str, repo: str) -> str:
return f"{repo}:{title}"
@signet_tool also supports:
- async tool functions
- custom
tool_name - explicit
transport on_sign_error="warn" | "raise"
MCP Server Verification
If you enforce Signet at the execution boundary, use verify_request() with a durable nonce backend:
from signet_auth import FileNonceChecker, VerifyOptions, verify_request
nonce_checker = FileNonceChecker(".signet/nonces.json")
opts = VerifyOptions(
trusted_keys=["ed25519:..."],
expected_target="mcp://github.prod",
nonce_checker=nonce_checker,
)
result = verify_request(request_params, opts)
if not result.ok:
raise ValueError(result.error or "verification failed")
if not result.trusted:
raise ValueError("untrusted signer")
ServerVerifyResult tells you both whether a receipt was present (has_receipt) and whether the signer was anchored to trust (trusted). FileNonceChecker is the default single-host pilot shape; InMemoryNonceChecker is still useful for tests and demos.
Framework Integrations
| Framework | Import |
|---|---|
| LangChain / LangGraph | from signet_auth.langchain import SignetCallbackHandler |
| LlamaIndex | from signet_auth.llamaindex import SignetEventHandler |
| Google ADK | from signet_auth.google_adk import SignetPlugin |
| OpenAI Agents SDK | from signet_auth.openai_agents import SignetAgentHooks |
| Pydantic AI | from signet_auth.pydantic_ai import SignetMiddleware |
| Semantic Kernel | from signet_auth.semantic_kernel import SignetFunctionFilter |
| Smolagents | from signet_auth.smolagents import SignetStepCallback |
| AutoGen | from signet_auth.autogen import SignetAutogenHook |
| CrewAI | from signet_auth.crewai import SignetCrewCallback |
Install with framework extras:
pip install signet-auth[langchain] # LangChain / LangGraph
pip install signet-auth[llamaindex] # LlamaIndex
pip install signet-auth[google-adk] # Google ADK
pip install signet-auth[pydantic-ai] # Pydantic AI
pip install signet-auth[semantic-kernel] # Semantic Kernel
pip install signet-auth[all] # All frameworks
Links
If Signet is useful to you, star us on GitHub — it helps others discover the project.
Metadata
Release files for signet-auth 0.11.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| signet_auth-0.11.0.tar.gz | 551.3 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| signet_auth-0.11.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.10 | abi3 | Linux glibc 2.17+ x86-64 | Details |
| signet_auth-0.11.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.10 | abi3 | Linux glibc 2.17+ ARM64 | Details |
| signet_auth-0.11.0-cp310-abi3-macosx_11_0_arm64.whl | CPython 3.10 | abi3 | macOS 11.0+ ARM64 | Details |
| signet_auth-0.11.0-cp310-abi3-macosx_10_12_x86_64.whl | CPython 3.10 | abi3 | macOS 10.12+ x86-64 | Details |
Total release size: 8.6 MB
Release files / signet_auth-0.11.0.tar.gz
| Download URL | signet_auth-0.11.0.tar.gz |
|---|---|
| Size | 551.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8a3db71c33d00747ed303fde1ce095deecc44fa8d1681bcb9cbfcc2f426e88ca
|
|
BLAKE2b-256 checksum How to use checksums |
3a280151df59c6aa338fdc331fc67d2679dece5e1db99a1b4d6c20954e8f68cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / signet_auth-0.11.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | signet_auth-0.11.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
ffd4305ed1cd09b13252b931df0235c641f46594763c8eb93a0737c7bfb1ed13
|
|
BLAKE2b-256 checksum How to use checksums |
a2ab0bf379dd8455bfdfae12af7224d36fbe9808353b947f9c30274e201c9ff1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / signet_auth-0.11.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | signet_auth-0.11.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
5f8f4b75deeec4fd52d75aed33bf8c49f3b23f76689c8816d9607f784d6e21d7
|
|
BLAKE2b-256 checksum How to use checksums |
718553ff8b3a6966bfcf5ca943804d3841162240e8d80a661f3eb1aa83a9f2c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / signet_auth-0.11.0-cp310-abi3-macosx_11_0_arm64.whl
| Download URL | signet_auth-0.11.0-cp310-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.9 MB |
| Tags | CPython 3.10 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
397d3394fda6eeb74b0a60e1dd7ae6e0ba8db61394e9d8656f1dc3e9cede05c7
|
|
BLAKE2b-256 checksum How to use checksums |
8bbf60446c7bdcdbb96a9f0047310d6912f9a791481437eb78ef968d8ada68f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / signet_auth-0.11.0-cp310-abi3-macosx_10_12_x86_64.whl
| Download URL | signet_auth-0.11.0-cp310-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.10 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
40fcb1978c063bf66a6fcf13028e5e32025c478975b0ec6038a4cde5e07bb358
|
|
BLAKE2b-256 checksum How to use checksums |
4288a627086974ab0141ef4aed7b59992a1770ae7139687f6347de6f06b77104
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|