AutoGen tools for Signatrust — cryptographically signed, tamper-evident AI Decision Receipts.
Project description
autogen-signatrust
AutoGen tools for Signatrust — cryptographically signed, tamper-evident AI Decision Receipts.
Give any AutoGen agent the ability to seal its high-stakes decisions into independently verifiable evidence — without exposing prompts, model outputs, or sensitive business data. Only SHA-256 hashes are stored by default.
Why?
When an AI agent makes a regulated or high-stakes decision (loan approval, refund, content moderation, transaction flagging), how do you prove, after the fact, that the decision was made correctly, under the right policies, and with appropriate human oversight?
Signatrust generates a tamper-evident AI Decision Receipt for each decision, capturing which AI system was involved, the action taken, whether a human reviewed it, the policies/permissions in effect, and a cryptographic (Ed25519) signature. Each receipt has a public verify_url that regulators, auditors, or counterparties can check — without accessing your systems or data.
Installation
pip install autogen-signatrust
Authentication
export SIGNATRUST_API_KEY="sk_live_..."
# Optional, for self-hosted Enterprise:
export SIGNATRUST_BASE_URL="https://signatrust.your-company.com/api/v1"
Quick start
from autogen_signatrust import get_signatrust_tools
# Returns three autogen_core.tools.FunctionTool objects
tools = get_signatrust_tools() # reads SIGNATRUST_API_KEY from env
Use with an AutoGen AssistantAgent (AgentChat)
from autogen_agentchat.agents import AssistantAgent
from autogen_ext.models.openai import OpenAIChatCompletionClient
from autogen_signatrust import get_signatrust_tools
model_client = OpenAIChatCompletionClient(model="gpt-4o")
agent = AssistantAgent(
name="compliance_agent",
model_client=model_client,
tools=get_signatrust_tools(),
system_message="After any high-stakes decision, generate a signed Signatrust receipt.",
)
Use a single tool directly
import asyncio
from autogen_core import CancellationToken
from autogen_signatrust import get_signatrust_tools
generate_tool = get_signatrust_tools()[0]
async def main():
result = await generate_tool.run_json(
{
"agent_name": "RefundAgent",
"action": "Approved refund for order #991",
"decision": "APPROVED under 30-day return policy",
"risk_level": "medium",
},
CancellationToken(),
)
print(result)
asyncio.run(main())
Tools provided
| Function | Tool name | Purpose |
|---|---|---|
signatrust_generate_receipt |
signatrust_generate_receipt |
Seal an AI decision into a signed receipt |
signatrust_verify_receipt |
signatrust_verify_receipt |
Verify a receipt's signature/integrity |
signatrust_get_receipt |
signatrust_get_receipt |
Fetch a receipt's full details by ID |
The bare async functions can also be imported directly and wrapped manually with autogen_core.tools.FunctionTool. Use configure(api_key=..., base_url=...) to set credentials for the bare functions, or rely on environment variables.
Privacy-first by design
By default, only the SHA-256 hash of the decision and input_prompt is stored — never the raw text. Pass include_decision_in_metadata=True only if you explicitly want to retain the raw decision.
Development
pip install -e ".[test]"
pytest
Links
- Website: signatrust.net
- API docs: signatrust.net/docs/api
- Source: github.com/abokenan444/Signatrust
- Contact: partners@signatrust.net
© 2026 Signatrust — MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file autogen_signatrust-0.1.0.tar.gz.
File metadata
- Download URL: autogen_signatrust-0.1.0.tar.gz
- Upload date:
- Size: 8.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
543881995da88fcbc5eee0665e659a11994fcf86f11049b48a7d1f8e6a964526
|
|
| MD5 |
03d4dd942b966b33fc89b56829a2bb91
|
|
| BLAKE2b-256 |
cf3e08a18c73e91cfde772a15f49d138cae8ca1ce878c4416ef803fa98d3f1ad
|
File details
Details for the file autogen_signatrust-0.1.0-py3-none-any.whl.
File metadata
- Download URL: autogen_signatrust-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40f67f4ac8a78feaeb8117735737ec848d0b60acc103afc2ff9836d5cbb1a680
|
|
| MD5 |
98b35d45b7336ce0e594341df9833125
|
|
| BLAKE2b-256 |
802da5d1e23acdbe8ba899a4c8be09768bbaa039a7c325d6213d9d70ba7cf0d4
|