Skip to main content

openai-agents-signatrust

OpenAI Agents SDK tools for Signatrust — cryptographically signed, tamper-evident AI Decision Receipts.

PyPI License: MIT

Give any OpenAI Agents SDK 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 openai-agents-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 agents import Agent, Runner
from openai_agents_signatrust import get_signatrust_tools

agent = Agent(
    name="ComplianceAgent",
    instructions=(
        "You approve refunds. After every decision you MUST call "
        "signatrust_generate_receipt to produce a signed, verifiable receipt, "
        "then report the verify_url."
    ),
    tools=get_signatrust_tools(),   # reads SIGNATRUST_API_KEY from env
)

result = Runner.run_sync(
    agent,
    "Approve the refund for order #991 (within the 30-day policy) and seal a Signatrust receipt.",
)
print(result.final_output)

You can also import the decorated tools individually:

from openai_agents_signatrust import (
    signatrust_generate_receipt,
    signatrust_verify_receipt,
    signatrust_get_receipt,
    configure,
)

configure(api_key="sk_live_...")   # or rely on SIGNATRUST_API_KEY
agent = Agent(name="...", tools=[signatrust_generate_receipt])

Tools provided

Tool Purpose
signatrust_generate_receipt Seal an AI decision into a signed receipt
signatrust_verify_receipt Verify a receipt's signature/integrity
signatrust_get_receipt Fetch a receipt's full details by ID

These are standard OpenAI Agents SDK FunctionTool objects produced by the @function_tool decorator — the JSON schema is generated automatically from each function's signature and Google-style docstring.


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

© 2026 Signatrust — MIT License

Release files for openai-agents-signatrust 0.1.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 openai-agents-signatrust 0.1.0
File Size Uploaded
openai_agents_signatrust-0.1.0.tar.gz 8.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for openai-agents-signatrust 0.1.0
File Interpreter ABI Platform
openai_agents_signatrust-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 16.9 kB

Release files / openai_agents_signatrust-0.1.0.tar.gz

Download URL openai_agents_signatrust-0.1.0.tar.gz
Size 8.2 kB
Tags Source
SHA-256 checksum
How to use checksums
f65f2e3b8f0d6d1ad632ad1f62bae055124517ff5ad0b207d8b7c3120da3fb91
BLAKE2b-256 checksum
How to use checksums
7da446600d9bfcc59b4f70af87144cc11e1dfd7d3898d730de9531c5583fd629
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / openai_agents_signatrust-0.1.0-py3-none-any.whl

Download URL openai_agents_signatrust-0.1.0-py3-none-any.whl
Size 8.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
969787ffbed593e0768a5123f2911a2dc14f10897dfd3b752d22e0b93f2db73b
BLAKE2b-256 checksum
How to use checksums
3fdebc06467cd50bf9eb3bac0fe11589413b8fdfff4e184de35dd1252ee3c217
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 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