Skip to main content

AIActGuard

Drop-in EU AI Act compliance for any agent framework — audit trails, risk classification, and human-approval gates in one decorator.

License: MIT Python Status

AIActGuard is a lightweight middleware layer that any existing agent stack can adopt without ripping out its framework. It is not another agent orchestrator — it makes the one you already use (LangChain, CrewAI, AutoGen, ...) compliant.

Each module logs, drafts, tests, or flags something concrete. None of them certify compliance on their own — that's a legal determination. See Scope below.

Install

pip install aiactguard[langchain]

Quickstart

from aiactguard.adapters.langchain_adapter import AIActGuardCallbackHandler
from aiactguard.core.approval import ApprovalContext, ApprovalDecision


def compliance_officer(ctx: ApprovalContext) -> ApprovalDecision:
    approved = input(f"Approve {ctx.action} ({ctx.risk_tier.value})? [y/N] ").lower() == "y"
    return ApprovalDecision(approved=approved, approver_id="compliance_officer")


guard = AIActGuardCallbackHandler(
    category="essential_services",
    approvers=[compliance_officer],  # an escalation chain — add more to route to a fallback
)

agent_executor.invoke({"input": "..."}, config={"callbacks": [guard]})

See examples/ for full runnable examples: LangChain, CrewAI, Claude Agent SDK, the framework-agnostic @watch decorator with an escalation chain + override, generating all five Phase 2 compliance reports from an audit trail, running the red-team scenario harness, a fairness scan, drafting an incident report + GPAI transparency card, composite-system risk aggregation, NIST/ISO mappings, and a worked community plugin.

Module roadmap

All 19 modules from the original project plan are built — see Scope for what's deliberately excluded.

Core (Phase 1)

# Module Article(s) What it does Status
1 Risk classification engine Art. 6, Annex III Tags each agent action/tool call against EU AI Act risk tiers using a configurable taxonomy across all eight Annex III high-risk categories ✅
2 Immutable audit trail Art. 12 Every decision, tool call, input/output, model version, and timestamp logged to an append-only store ✅
3 Human-in-the-loop approval gates Art. 14 Configurable interrupt points that pause execution before a high-risk action fires, with an escalation chain of approvers and reasoned-override logging ✅
4 Explainability capture Art. 13 Structures the agent's chain-of-thought/tool-selection rationale into an auditor-readable format ✅
5 Framework adapters — LangChain ✅, CrewAI ✅, Claude Agent SDK ✅ — LangGraph, AutoGen, OpenAI Agents SDK pending 🚧
6 Policy-as-code — YAML rules defining what counts as high-risk for a given org and what triggers a human gate ✅

Documentation & assessment tooling (Phase 2)

# Module Article(s) What it does Status
7 Technical documentation generator Art. 11, Annex IV Auto-drafts the Annex IV technical file from audit logs + a guided questionnaire ✅
8 Conformity readiness checklist Art. 43 Gap-analysis against Annex IV/VI requirements — a pre-assessment aid, not the assessment itself ✅
9 FRIA template generator Art. 27 Pre-fills a Fundamental Rights Impact Assessment draft from risk classification and deployment context ✅
10 Post-market monitoring plan generator Art. 72 Monitoring plan template scaffolded from risk tier and logged incident categories ✅
11 EU database registration data prep Art. 71 Auto-compiles the metadata the Art. 71 registration form requires — filing stays manual ✅

Robustness & incident tooling (Phase 3)

# Module Article(s) What it does Status
12 Adversarial/red-team test harness Art. 15 Runs prompt-injection, jailbreak, and edge-case scenarios against your agent — heuristic detection, not semantic judgment ✅
13 Bias & fairness scan Art. 10 Statistical checks on agent decisions across a caller-supplied protected-characteristic proxy, at runtime ✅
14 Serious incident report drafter Art. 73 Turns a flagged incident into a structured draft for human review before filing ✅
15 GPAI transparency card generator Art. 53 Auto-generates a model transparency summary from config + usage patterns ✅

Multi-agent & multi-standard extensions (Phase 4 — differentiators)

# Module What it does Status
16 Composite-system risk aggregation Flags when multiple individually low-risk agents, composed into a pipeline, cross into high-risk territory as a system ✅
17 NIST AI RMF mapping layer Maps audit/risk data to NIST AI RMF's Govern/Map/Measure/Manage functions ✅
18 ISO/IEC 42001 mapping layer Maps the same data to ISO 42001 AI management system clauses ✅
19 Plugin architecture for community modules Defined interface for jurisdiction- or industry-specific community modules ✅

Scope

Explicitly out of scope, and why:

  • Prohibited-practice determination (Title II) — legal judgment call, not a runtime check
  • Conformity assessment / CE marking itself — requires formal procedures, sometimes a notified body; the toolkit preps evidence, it doesn't perform the assessment
  • Quality management system (Art. 17) — an organizational process, not code
  • GPAI systemic-risk evaluation (Art. 55) — applies to frontier model providers, not agent builders
  • Actual legal filing/registration submission — data prep is automated, submission is not

Contributing

Contributions are welcome, especially jurisdiction- or industry-specific modules. Open an issue to discuss before submitting a large PR.

Writing a plugin: implement aiactguard.plugins.Plugin — a name, a description, and a generate(logger, *, questionnaire=None, **kwargs) -> str method (the same shape every built-in report/mapping already has). See examples/plugins/example_gxp_plugin.py for a worked example. To publish one for others to auto-discover, register it under the aiactguard.plugins entry-point group in your own package's pyproject.toml:

[project.entry-points."aiactguard.plugins"]
gxp = "aiactguard_gxp_plugin:plugin"

Callers pick it up with aiactguard.plugins.discover_entry_points().

License

MIT — see LICENSE.

Metadata

Release files for aiactguard 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 aiactguard 0.1.0
File Size Uploaded
aiactguard-0.1.0.tar.gz 52.1 kB Details

Built distribution (wheel)

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

Total release size: 95.7 kB

Release files / aiactguard-0.1.0.tar.gz

Download URL aiactguard-0.1.0.tar.gz
Size 52.1 kB
Tags Source
SHA-256 checksum
How to use checksums
46b1cf2807e7d3e6f3fa7ad9d15d4ae278407501e7520203cf0cfb5a027c5f98
BLAKE2b-256 checksum
How to use checksums
53cc35b87ae05f72e1e17f8f1eed0b6898486ca1fc9abff5d60e9c6a57ae2fd5
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 5, 2026.

Transparency log

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

Download URL aiactguard-0.1.0-py3-none-any.whl
Size 43.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
12947a2cbaeddc328ca1eb369a9865b59f572ca232c4c7cf085f2181d3812e88
BLAKE2b-256 checksum
How to use checksums
aa493db402a101672259969410fbbfe11c728ea4215689cc1b54ac23a7660b30
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 5, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.6

2 release files

0.1.5

2 release files

0.1.3

2 release files

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