Skip to main content

AIR Blackbox

AI governance control plane — compliance, inventory, incident response, and audit for AI agents.

PyPI License EU AI Act

Install

pip install air-blackbox

With framework support:

pip install air-blackbox[langchain]    # LangChain trust layer
pip install air-blackbox[crewai]       # CrewAI trust layer
pip install air-blackbox[openai]       # OpenAI Agents SDK trust layer
pip install air-blackbox[all]          # Everything

Four Commands

air-blackbox comply      # EU AI Act compliance from live traffic
air-blackbox discover    # Shadow AI inventory + AI-BOM generation
air-blackbox replay      # Incident reconstruction from audit chain
air-blackbox export      # Signed evidence bundle for auditors

Quick Start

from air_blackbox import AirBlackbox

air = AirBlackbox()
client = air.wrap(openai.OpenAI())
# Every LLM call is now HMAC-logged through the gateway

With framework auto-detection:

from air_blackbox import AirTrust

trust = AirTrust()
trust.attach(your_langchain_agent)
# Framework auto-detected. Audit trails active.

What It Does

Command What You Get
comply Per-article EU AI Act status (Art. 9-15) from live gateway traffic
discover Runtime AI inventory plus static dependency AI-BOM/SBOM output in table, CycloneDX 1.6, or SPDX 2.3
replay Full incident reconstruction, HMAC chain verification
export Signed evidence package: compliance + AI-BOM + audit chain

Discover AI-BOM and SBOM Output

air-blackbox discover --scan-path . --format table
air-blackbox discover --scan-path . --format cyclonedx
air-blackbox discover --scan-path . --format spdx
air-blackbox discover --scan-path . --format json   # alias for CycloneDX 1.6 JSON

discover combines runtime-observed models, providers, and tools with static package dependency scanning. Static scanning still works when no gateway traffic or .air.json records exist.

Supported static manifests:

  • requirements.txt: declared direct Python dependencies only.
  • pyproject.toml: PEP 621 direct and optional Python dependencies only.
  • package.json: direct npm dependencies; devDependencies are currently excluded.
  • package-lock.json: npm lockfile v2/v3 installed direct and transitive dependencies when graph data is available.

Discovery does not perform Python transitive resolution, inspect global environments, call package managers, or use the network. Each package in a reliable dependency graph is classified independently, so an AI SDK can be detected even when it is only transitive, for example application -> wrapper-package -> openai.

Custom classifier rules extend the built-in AI-library list, and matching custom rules override defaults:

air-blackbox discover \
  --scan-path . \
  --ai-libraries custom-ai-libraries.yaml \
  --format cyclonedx
version: 1
packages:
  python:
    my-ai-sdk:
      category: llm-sdk
      provider: Example AI
      reason: Internal AI SDK
  npm:
    "@example/ai-client":
      category: llm-sdk
      provider: Example AI
      reason: Internal AI client

Python package names use PEP 503 normalization. npm scoped package names are supported. Invalid explicit classifier configuration exits with an error before emitting machine-readable output.

Use --output to write machine-readable JSON:

air-blackbox discover --scan-path . --format spdx --output sbom.spdx.json

Warnings and diagnostics go to stderr. JSON files use UTF-8 and end with a newline. Table output cannot be combined with --output.

Model metadata includes model name, provider when observed, and explicit model version when available. The AIR record/schema version is not used as a model version. SPDX 2.3 represents runtime models as packages with annotations; formal schema validation is not currently part of the test suite.

Metadata

Release files for air-blackbox 1.17.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 air-blackbox 1.17.0
File Size Uploaded
air_blackbox-1.17.0.tar.gz 374.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for air-blackbox 1.17.0
File Interpreter ABI Platform
air_blackbox-1.17.0-py3-none-any.whl Python 3 none any Details

Total release size: 773.1 kB

Release files / air_blackbox-1.17.0.tar.gz

Download URL air_blackbox-1.17.0.tar.gz
Size 374.6 kB
Tags Source
SHA-256 checksum
How to use checksums
cbe01881aecb4c1b4c8a1ce78ea55b2ff2be1e96b82cf675b80303f5bda0ab6e
BLAKE2b-256 checksum
How to use checksums
eb3bf6e3c9dd3040381071aae21cce9e89401d9181acc21a827ce8248c949400
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 15, 2026.

Transparency log

Release files / air_blackbox-1.17.0-py3-none-any.whl

Download URL air_blackbox-1.17.0-py3-none-any.whl
Size 398.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1ba9d0f1c72dd2d617444590b51b8f3b45858807a3b1678f62cc9a542bbf314c
BLAKE2b-256 checksum
How to use checksums
b0050c17373dcf6bd3221f11a35d8507d7b1ab74fcb4f7bd03cc32d92f623b6b
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 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.17.0 This release

2 release files

1.16.0

2 release files

1.15.0

2 release files

1.13.2

2 release files

1.13.1

2 release files

1.12.4

2 release files

1.12.3

2 release files

1.12.2

2 release files

1.12.1

2 release files

1.12.0

2 release files

1.11.2

2 release files

1.11.1

2 release files

1.11.0

2 release files

1.10.0

2 release files

1.9.0

2 release files

1.8.2

2 release files

1.8.1

2 release files

1.8.0

2 release files

1.7.0

2 release files

1.6.3

2 release files

1.6.2

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.6

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.2.0

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