Offline compliance linter for AI agents — scans text against the ComplyEdge rule corpus
Project description
TrustLint
Offline compliance linter for AI agents — scans text against the ComplyEdge rule corpus using Tier 1 regex patterns. No API key required.
Catches EU AI Act, SOX, HIPAA, GDPR, COPPA, and PCI DSS violations before they reach production.
Installation
pip install trustlint
Quick Start
# Check text for compliance violations
trustlint check --text "We expect revenue to increase by 25% next quarter"
# Check a file
trustlint check prompt.txt
# Pipe from stdin
echo "Deploy social credit score for citizens" | trustlint check
# Filter by jurisdiction
trustlint check --text "social credit score" --jurisdiction EU
# Verbose output (citations + remediation)
trustlint check --text "earnings forecast" -v
Commands
trustlint check
Scan text for compliance violations against the loaded rule corpus.
trustlint check --text "your AI prompt here" # Check a string
trustlint check myfile.py # Check a file
trustlint check --text "text" -j EU # Filter to EU rules only
trustlint check --text "text" -v # Verbose: show citations
Exit codes:
0— No critical/high violations (CI pass)1— Critical or high severity violations found (CI fail)2— Input error (missing file, no rules loaded)
trustlint rules list
Show all loaded compliance rules with severity and jurisdiction.
trustlint rules list # All rules
trustlint rules list -j US # US rules only
trustlint init
Create a .trustlint.yaml configuration file in the current directory.
trustlint init # Create config
trustlint init --force # Overwrite existing
Example Output
TrustLint Report
────────────────────────────────────────────────────────────
[CRITICAL] SOX_HYBRID_MATERIAL_DISCLOSURE_001
Hybrid SOX Material Information Disclosure Prevention
Jurisdiction: US | Matched: Forward-looking statements requiring analysis
────────────────────────────────────────────────────────────
1 critical/high, 0 medium/low (12 rules evaluated)
How It Works
TrustLint loads YAML rule files from the ComplyEdge rule corpus (rules/regulations/). Each rule contains regex patterns for Tier 1 (fast, deterministic) detection. The engine:
- Loads all
.yamlrule files from the rules directory - Extracts
regexconditions andhybrid_detection.tier1_config.risk_flag_patterns - Matches patterns against the input text
- Reports violations with rule ID, severity, jurisdiction, and citation
No API calls are made in offline mode. For deeper Tier 2 LLM analysis, set the COMPLYEDGE_API_KEY environment variable (requires a ComplyEdge account).
CI/CD Integration
GitHub Actions
- name: Compliance check
run: |
pip install trustlint
trustlint check --text "${{ github.event.pull_request.body }}"
Pre-commit hook
#!/bin/sh
trustlint check "$1" || exit 1
Rules Coverage
| Jurisdiction | Regulations | Examples |
|---|---|---|
| EU | EU AI Act Article 5 | Social scoring, subliminal manipulation, biometric categorisation |
| US | SOX, HIPAA, COPPA, TCPA | Material disclosure, PHI protection, child data |
| Global | PCI DSS | Payment card data detection |
Configuration
Create .trustlint.yaml with trustlint init:
# Rules directory (default: auto-detect)
# rules_dir: ./rules/regulations
# Default jurisdiction filter
# jurisdiction: EU
# Severity threshold
# severity_threshold: medium
Development
# Install in development mode
pip install -e packages/trustlint/
# Run tests
python -m pytest tests/unit/trustlint/ -v
License
Apache-2.0 — ComplyEdge
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file trustlint-2.0.0.tar.gz.
File metadata
- Download URL: trustlint-2.0.0.tar.gz
- Upload date:
- Size: 9.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7cf3f8681ef6d579dc8a00456bd1c900e1d9d26a99812abc2b8165db75a3f1a6
|
|
| MD5 |
916429cc7293a107a224cf3adb1215da
|
|
| BLAKE2b-256 |
faef6f93ee3a17fa81ff9c72e5b8d236cf4a95e5091793d874f8e2937d415217
|
File details
Details for the file trustlint-2.0.0-py3-none-any.whl.
File metadata
- Download URL: trustlint-2.0.0-py3-none-any.whl
- Upload date:
- Size: 9.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2aed7c60def48ea8b73dbbc9103946e79a6dfff89c147c892150b8ecbab34566
|
|
| MD5 |
5a6222a03f10c90872fd04665d3aadd0
|
|
| BLAKE2b-256 |
603cc19274323095c8defbf549b4b9a92b4b860093d48e89311ba64f1df54525
|