TrustWeave
Deterministic security evidence for declared AI-agent trust boundaries.
Review the configuration before deployment—locally, without running the agent.
Quick start · Integration routes · Local CI · CLI reference · Product contract · Reviewer workflow · Security
The decision TrustWeave helps you make
A configuration change can create a new sensitive path before any application code changes. TrustWeave turns a declared agent manifest, deterministic policy, and optional local review inputs into stable JSON and Markdown evidence a reviewer can inspect, compare, retain, or export.
| If you need to answer… | TrustWeave gives you… |
|---|---|
| What sources, tools, capabilities, and flows are declared? | An Agent Security Bundle with a deterministic decision for each declared flow. |
| What changed between the baseline and candidate? | A focused bundle diff for declared sources, tools, capabilities, policies, and decisions. |
| Does the declared policy still satisfy safe synthetic cases? | Reproducible local scenario results with allow, deny, and approval-required outcomes. |
| Does supplied local trace or MCP metadata match the declaration? | Privacy-preserving review artifacts that identify mismatches for human follow-up. |
Evidence, not enforcement. TrustWeave establishes evidence about the declarations and local artifacts it reads. It does not establish runtime behavior, live MCP-server behavior, authorization correctness, incident conclusions, or that an agent is secure.
Quick start
TrustWeave supports Python 3.11+. Install the published package to inspect the CLI:
python -m pip install --upgrade trustweave
trustweave --help
# Equivalent module invocation:
python -m trustweave --help
For a complete, safe first review, clone the repository and run the synthetic example. The workflow reads only checked-in local files; it does not interact with an agent, server, or external system.
git clone https://github.com/MohammadThabetHassan/trustweave.git
cd trustweave
python -m pip install -e .
rm -rf artifacts
trustweave scan \
--manifest examples/support-agent.manifest.json \
--policy policies/default-policy.json \
--output-dir artifacts
trustweave test \
--policy policies/default-policy.json \
--scenarios scenarios/default-scenarios.json \
--output-dir artifacts
trustweave attest --source-revision local --output-dir artifacts
trustweave report --output-dir artifacts
trustweave verify --attestation artifacts/attestation.json
The resulting local evidence is deliberately simple to review:
| Artifact | Why it matters |
|---|---|
artifacts/agent-security-bundle.json |
Records deterministic decisions for declared flows. |
artifacts/security-test-results.json |
Records fixed synthetic policy outcomes. |
artifacts/attestation.json |
Links local evidence with internal hashes; it is not externally signed. |
artifacts/report.md |
Summarizes the evidence, findings, and limits for a human reviewer. |
Optional YAML support
The core workflow has no required runtime dependencies. Safe YAML parsing is optional:
python -m pip install "trustweave[yaml]"
Pick the local input you already have
| If you already have… | Start here | TrustWeave reads locally | It never does |
|---|---|---|---|
| A LangGraph, OpenAI Agents, or CrewAI declaration export | Framework import | A literal framework descriptor | Import code, install the framework, run an agent, model, or tool |
A saved MCP tools/list snapshot |
MCP import | A provided local JSON snapshot | Discover, connect to, authenticate with, or invoke an MCP server |
| A repository CI job | Local CI integration | Checked-in manifests, policies, and scenarios | Upload evidence, post comments, merge, deploy, or enable a repository service |
| A complete manifest and policy | Five-minute local review | Declared flows and synthetic scenarios | Make a runtime-security or deployment decision |
The developer integration routes page gives copy-paste local commands for each path and explains the next reviewer action.
Review workflows
TrustWeave stays small by keeping every workflow local and deterministic. Start with the question you need to answer, then follow the linked contract for exact inputs, outputs, exit codes, and limitations.
| Review task | Start here | What stays out of scope |
|---|---|---|
| Map declared trust boundaries | scan |
Agent execution, tool invocation, discovery, and network access. |
| Check policy behavior in CI | test |
Real customer data, live prompt attacks, and model evaluation. |
| Compare a candidate configuration | diff |
Undeclared runtime behavior and vulnerability verdicts. |
| Review policy structure | policy-check |
Approval queues, approver identity, and runtime enforcement. |
| Review minimized local trace metadata | trace-review |
Message content, tool arguments, trace authenticity, and incident reconstruction. |
| Review supplied MCP metadata | mcp-profile-check |
Server discovery, HTTP/stdio connection, OAuth, token validation, and tool calls. |
For the full command surface—including framework imports, MCP inventory normalization, SARIF conversion, and unsigned local statements—read the CLI reference.
What TrustWeave will never do
TrustWeave is intentionally non-executing. It does not execute an agent, invoke a tool, connect to an MCP server, call a model, access credentials, send network traffic, scan targets, upload findings, or make a deployment decision. This boundary is a core product property, not a mode to disable.
The project also avoids unsupported security claims. A review finding is a deterministic signal about supplied local evidence; it is not proof of an exploit, a production control, or a conclusion about a deployed system.
Documentation that answers the next question
| Read this | When you need it |
|---|---|
| CLI reference | Exact arguments, outputs, exit codes, and error behavior. |
| Developer integration routes | Copy-paste paths for local framework descriptors, MCP snapshots, and CI workflows. |
| Local CI integration assets | A least-privilege composite action plus GitLab, Jenkins, and pre-commit starting points. |
| Reviewer workflow | Turning an already-recorded MCP inventory into a human-resolved manifest. |
| Product contract | The user promise, evidence model, acceptance criteria, and safety boundary. |
| Architecture | Components, local data flow, invariants, and extension boundaries. |
| Threat model | Assumptions, non-goals, and the limits of review evidence. |
| Quality evidence | The test, compatibility, build, reproducibility, and scoped mutation-analysis controls. |
| Reproducibility and integrity | The exact distinction between stable evidence payloads, volatile provenance, byte reproducibility, and local file integrity. |
| Compatibility contract | The machine-readable CLI, Python, artifact-writer, bounded-reader, and deprecation expectations. |
| Golden deterministic evidence | Six reviewed synthetic local cases, canonical artifact digests, check-only regeneration, and explicit update controls. |
| Control traceability | Machine-checked links from threat statements to implementation, tests, evidence, maintenance triggers, and residual limits. |
| Local resource bounds | File, structure, traversal, and SARIF-result limits with explicit fail-closed behavior. |
| Distribution assurance | Temporary wheel/source-distribution archive checks and fresh-environment installation verification. |
| Package release provenance | TestPyPI-first PyPI-attestation generation controls, observed-verification procedure, and present non-claims. |
| Local risk management | Fingerprints, expiry-enforced baselines and suppressions, severity gates, and reviewer responsibilities for existing local findings. |
| Maturity plan | Verified 9.5+ priorities, release gates, and external proof the repository cannot manufacture. |
| Focused mutation record | The exact Linux-only deterministic-engine mutation scope, result, and re-run procedure. |
| Supply-chain evidence | Workflow-action pinning, OIDC release controls, reproducibility, SBOM evidence, and deliberate non-claims. |
| Schema and compatibility policy | Versioned contracts and migration expectations. |
| Release guide | The evidence and authorization required to publish a package. |
| 0.2.2 public release | Module-style CLI invocation, developer integration routes, verified trusted publication, and unchanged local-only boundary. |
| 0.2.1 release notes | Corrected public version contract, material hardening, verification evidence, known limitations, and owner-controlled release status. |
| 0.2.1 owner checklist | Owner-controlled pre-merge, artifact-verification, release, and rollback gates. |
| 0.2 migration guide | Moving configuration, bundles, and risk-decision documents from 0.1.1 to the published 0.2-series package safely. |
| v0.2.0 audit record | Immutable unpublished pre-publication tag evidence; it was never published to PyPI and has no GitHub Release. |
Built to be inspected
The current published package is trustweave==0.2.2 with matching GitHub Release v0.2.2; every public package release has a matching release record. The source tree is preparing the unreleased 0.2.3 assurance candidate: it adds a versioned compatibility contract, synthetic golden evidence, threat-control-test traceability, explicit local resource bounds, clean-environment distribution assurance, and configured PyPI project-attestation generation that remains unclaimed until release-specific consumer verification succeeds. Annotated v0.2.0 remains an immutable unpublished audit tag at 7232fe3a23d92f50a693903c0a6b7cb92d0a1426; it was never published to PyPI and has no GitHub Release. The release path includes formatting, linting, strict type checks, static source-security scanning, a 95% branch-coverage gate, isolated wheel installation, fixed-epoch wheel reproducibility, dependency auditing, CycloneDX SBOM generation, deterministic repository-reality checks, and cross-platform Python 3.11/3.13 compatibility jobs.
Current inputs retain their documented v1alpha1/v1alpha2 contracts. Generated bundles use trustweave.dev/bundle/v1alpha2; risk decisions use canonical trustweave/fingerprint/v3 identities and generated reviews use trustweave.dev/risk-review/v1alpha2. Historical v1alpha1 bundle and review resources remain available for bounded compatibility rather than being silently redefined. Read the compatibility policy before depending on a schema or review identifier outside the documented contract.
The enforced local suite retains a 95% branch coverage gate. The documented twelve-module mutation diagnostic killed 6,049 of 6,145 mutants (98.44%) and preserves an exact 96-survivor inventory with zero untriaged and zero needs_regression records. The hosted mutation workflow enforces exact survivor-identifier and normalized-diff parity on the reviewed commit SHA; no merge or release action is implied by this evidence.
Contribute, get help, or report a concern
Contributions are welcome when they improve a reviewer’s understanding of declared or pre-recorded local evidence without crossing the non-executing boundary. Start with CONTRIBUTING.md for the local quality suite and contribution checklist.
For installation and workflow questions, begin with SUPPORT.md. For reproducible bugs and bounded proposals, use the repository issue forms. Do not report suspected vulnerabilities in a public issue. Follow SECURITY.md for private reporting and safe-reporting limits. Community expectations are in CODE_OF_CONDUCT.md, while release and maintenance decisions are described in GOVERNANCE.md.
License
TrustWeave is distributed under the Apache License 2.0.
Metadata
Release files for trustweave 0.2.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| trustweave-0.2.3.tar.gz | 194.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| trustweave-0.2.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 328.7 kB
Release files / trustweave-0.2.3.tar.gz
| Download URL | trustweave-0.2.3.tar.gz |
|---|---|
| Size | 194.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e59666240e550d4243c5bea3d6950a03ce0ad8a5d3826242e6fff9627de59b26
|
|
BLAKE2b-256 checksum How to use checksums |
57839070e96c1479a4fd890d7b522a8235fe5fe6a753de33ba1e2500e6605d96
|
| 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 Aug 19, 2026.
Transparency logRelease files / trustweave-0.2.3-py3-none-any.whl
| Download URL | trustweave-0.2.3-py3-none-any.whl |
|---|---|
| Size | 134.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6220f560500c2d7355375fd4955bc42641377e62487cbb86210612f233f22fe8
|
|
BLAKE2b-256 checksum How to use checksums |
3de9d06671b11bbef312445bd702597752af12b0ce45414bbfa31d642513fef9
|
| 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 Aug 19, 2026.
Transparency log