Toolframe Audit
Audit stores bounded, durable event history from trusted Toolframe producers. It provides a filtered Dashboard page, a read-only MCP tool, JSONL page exports and explicit retention management. A reusable transactional outbox helper keeps a producer's business mutation and pending audit event in the same SQL transaction.
Quick start
Python 3.14 or later, Toolframe SDK 0.3.0 and a running Toolframe application with a SQL storage provider are required. Install from PyPI:
toolframe --home ./my-app plugin add pypi:toolframe-audit==0.1.0 --enable
toolframe --home ./my-app plugin status audit --check
An application with Dashboard, MCP and llms providers publishes the Audit page,
audit__list_events tool and usage document. Grant audit.read for read access and
the existing Manage plugins permission (system.plugins.manage) only to retention
operators. No client ingestion endpoint exists;
events arrive from a plugin declaring the audit.events dependency. Public
access policy still applies: configure authentication before exposing audit data.
For a complete local producer walkthrough, see the independently built example. Producer integration describes the reusable helper, transaction boundary and replay behavior.
Support limits
Version 0.1.0 uses only public SDK service and storage contracts. SQLite is tested with real managed stores and Core worker processes. PostgreSQL migration SQL is provided, but PostgreSQL runtime behavior requires separate verification. Producers are trusted Python plugins: this is traceable operational history, not tamper-proof storage or cryptographic proof of historical actor identity.
Events have a 16 KiB metadata limit and a 20 KiB total payload limit. The default
capacity is 100,000 retained events; max_events accepts 1–1,000,000. Full stores
reject new events while pending outbox items remain for retry. Reads and exports
contain at most 100 rows per page. Retention previews and explicit prune calls
handle at most 1,000 rows per batch; no automatic purge runs. Data survives plugin
reload, disable and application restart. Pruning permanently removes selected
history and advances a cutoff that rejects late older events.
See architecture and trust, usage and verification for contracts and reproducible checks.
For release validation and Trusted Publisher setup, see releasing.
Metadata
Release files for toolframe-audit 0.1.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 | |
|---|---|---|---|
| toolframe_audit-0.1.0.tar.gz | 122.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| toolframe_audit-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 148.0 kB
Release files / toolframe_audit-0.1.0.tar.gz
| Download URL | toolframe_audit-0.1.0.tar.gz |
|---|---|
| Size | 122.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
965b64edc5445f9da3ee598d66746efd36028d097cf0a7950f9507abc8cd6618
|
|
BLAKE2b-256 checksum How to use checksums |
d52247e312585b00c057ed508933f856902558300eb9cc439d9b22e1b0c55a18
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.
Transparency logRelease files / toolframe_audit-0.1.0-py3-none-any.whl
| Download URL | toolframe_audit-0.1.0-py3-none-any.whl |
|---|---|
| Size | 25.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
90eba076b577d3b4f4a45f1867ee1a4e60c3177d1943d1de07dd4cc7e6c327f3
|
|
BLAKE2b-256 checksum How to use checksums |
d73148e047300dddc6abb6cfc0fea43773e1c0b8322dba5df0bb50f50f777e7f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.
Transparency log