Skip to main content

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.

PyPI GitHub Stars

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

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)

Source distribution for signet-auth 0.11.0
File Size Uploaded
signet_auth-0.11.0.tar.gz 551.3 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for signet-auth 0.11.0
File
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

Release history Release notifications | RSS feed

This release

0.11.0 This release

5 release files

0.9.3

5 release files

0.9.2

5 release files

0.9.1

5 release files

0.9.0

5 release files

0.7.0

5 release files

0.6.0

5 release files

0.5.0

7 release files

0.4.6

7 release files

0.4.5

7 release files

0.4.4

7 release files

0.4.0

7 release files

0.2.0

7 release files

0.1.1

7 release files

0.1.0

7 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page