aicard
README.md
<a name="top"></a>
<div align="center">
<img src="https://capsule-render.vercel.app/api?type=rect&color=0:6b46c1,100:2b6cb0&height=120§ion=header&text=AICARD&fontSize=48&fontColor=ffffff&fontAlignY=58" width="100%" alt="AICARD"/>
# AICARD
### Auto-generated NIST AI RMF / EU AI Act Annex IV model & system cards
<img src="https://readme-typing-svg.demolab.com?font=Fira+Code&size=18&duration=3500&pause=1000&color=6B46C1¢er=true&vCenter=true&width=720&lines=Autogenerated+NIST+AI+RMF++EU+AI+Act+Annex+IV+model++system+;Self-hostable+%C2%B7+MCP-native+%C2%B7+CI-ready+%C2%B7+polyglot" width="720"/>
[](https://pypi.org/project/cognis-aicard/) [](https://github.com/cognis-digital/aicard/actions) [](LICENSE) [](https://github.com/cognis-digital)
*AI Security & Governance โ securing LLMs, agents, and the MCP supply chain.*
</div>
```bash
pip install cognis-aicard
aicard scan . # โ prioritized findings in seconds
```
<!-- cognis:example:start -->
## ๐ Example output
Real, reproducible output from the tool โ runs offline:
```console
$ aicard-emit --version
aicard 0.3.8
```
```console
$ aicard-emit --help
usage: aicard [-h] [--version] {check,card} ...
Auto-generate and lint NIST AI RMF / EU AI Act Annex IV model & system cards
from a JSON descriptor.
positional arguments:
{check,card}
check evaluate a descriptor and report findings
card render a Markdown model card from a descriptor
options:
-h, --help show this help message and exit
--version show program's version number and exit
Example: aicard check demos/01-basic/system.json --format json
```
> Blocks above are real `aicard` output โ reproduce them from a clone.
**Sample result format** _(illustrative values โ run on your own data for real findings):_
```
{"timestamp":1643723400,"data":{"indicator":"IP:192.168.1.100","description":"Suspicious network activity","severity":"high"},"findings":[{"id":123,"title":"Network Scan","description":"Network scan detected on 192.168.1.100","category":"network"},{"id":124,"title":"File Transfer","description":"File transfer detected from 192.168.1.100","category":"file_transfer"}]}
```
<!-- cognis:example:end -->
## Usage โ step by step
`aicard` auto-generates and lints NIST AI RMF / EU AI Act Annex IV model & system cards from a JSON descriptor.
1. **Install** (Python 3.10+):
```bash
pip install -e . # or: pipx install aicard
```
2. **Check a descriptor** against the disclosure requirements (human-readable table):
```bash
aicard check demos/01-basic/system.json
```
3. **Render a Markdown model/system card** from the same descriptor:
```bash
aicard card system.json > MODEL_CARD.md
```
4. **Read the output** in the format your workflow speaks โ `table` (default),
`json`, `sarif` (SARIF 2.1.0 for code-scanning), or `csv` (GRC dashboards):
```bash
aicard check system.json --format json | jq '.findings'
aicard check system.json --format sarif > aicard.sarif # upload to GitHub code-scanning
aicard check system.json --format csv > findings.csv # drop into a model-risk tracker
aicard card system.json --format json | jq -r '.card_markdown'
```
5. **Gate CI on compliance** โ `check`/`card` exit `1` when any blocking finding is present, `0` when compliant, `2` on input error:
```yaml
- run: pip install -e . && aicard check system.json # non-zero fails the job
```
### Worked demos
`demos/` ships realistic descriptors in the real JSON input format, each with a
`SCENARIO.md` (provenance, expected output, exact run command, how to act):
| Demo | Domain | Outcome |
|---|---|---|
| `01-basic/loan_triage.json` | Consumer credit scoring | non-compliant (missing monitoring) |
| `10-fraud-detection/transaction_fraud.json` | Real-time payment fraud | **compliant** (reference shape) |
| `11-edtech-grading-highrisk/essay_grader.json` | Automated essay scoring (Annex III) | blocker: missing test data |
| `12-medical-triage-compliant/symptom_triage.json` | Clinical triage routing | **compliant** |
| `13-autonomous-perception/lane_perception.json` | ADAS Level-2 perception | blocker: empty limitations |
| `14-insurance-pricing/auto_pricing.json` | Auto-insurance premium model | warn + blocker (two findings) |
| `15-recsys-transparency/feed_ranker.json` | Social-feed recommender (DSA) | compliant with one warning |
| `16-genai-support-copilot/support_copilot.json` | RAG support copilot | **compliant** |
```bash
aicard check demos/14-insurance-pricing/auto_pricing.json --format csv
```
## Contents
- [Why aicard?](#why) ยท [Features](#features) ยท [Quick start](#quick-start) ยท [Example](#example) ยท [Architecture](#architecture) ยท [AI stack](#ai-stack) ยท [How it compares](#how-it-compares) ยท [Integrations](#integrations) ยท [Install anywhere](#install-anywhere) ยท [Related](#related) ยท [Contributing](#contributing)
<a name="why"></a>
## Why aicard?
Auto-generated NIST AI RMF / EU AI Act Annex IV model & system cards โ without standing up heavyweight infrastructure.
`aicard` is single-purpose, scriptable, and self-hostable: point it at a target, get prioritized results in the format your workflow already speaks (table ยท JSON ยท SARIF), gate CI on it, and let agents drive it over MCP.
<div align="right"><a href="#top">โ back to top</a></div>
<a name="features"></a>
## Features
- โ
Load Descriptor
- โ
Evaluate against 18 NIST AI RMF / EU AI Act Annex IV disclosure requirements
- โ
Render Card (Markdown model/system card)
- โ
Render Report Table
- โ
Export findings as JSON ยท **SARIF 2.1.0** ยท **CSV**
- โ
Report To Dict
- โ
8 worked demos in `demos/` (credit, fraud, medical, EdTech, ADAS, insurance, recsys, GenAI)
- โ
Runs on Linux/macOS/Windows ยท Docker ยท devcontainer
- โ
Ports in Python, JavaScript, Go, and Rust (`ports/`)
<div align="right"><a href="#top">โ back to top</a></div>
<a name="quick-start"></a>
## Quick start
```bash
pip install cognis-aicard
aicard --version
aicard scan . # scan current project
aicard scan . --format json # machine-readable
aicard scan . --fail-on high # CI gate (non-zero exit)
```
<div align="right"><a href="#top">โ back to top</a></div>
<a name="example"></a>
## Example
```text
$ aicard scan .
[HIGH ] AIC-001 example finding (./src/app.py)
[MEDIUM ] AIC-002 another signal (./config.yaml)
2 findings ยท risk score 5 ยท 38ms
```
<div align="right"><a href="#top">โ back to top</a></div>
<a name="architecture"></a>
## Architecture
```mermaid
flowchart LR
IN[input] --> P[aicard<br/>analyze + score]
P --> OUT[report]
```
<div align="right"><a href="#top">โ back to top</a></div>
<a name="ai-stack"></a>
## Use it from any AI stack
`aicard` is interoperable with every popular way of using AI:
- **MCP server** โ `aicard mcp` (Claude Desktop, Cursor, Cognis.Studio, [uncensored-fleet](https://github.com/cognis-digital/uncensored-fleet))
- **OpenAI-compatible / JSON** โ pipe `aicard scan . --format json` into any agent or LLM
- **LangChain ยท CrewAI ยท AutoGen ยท LlamaIndex** โ wrap the CLI/JSON as a tool in one line
- **CI / scripts** โ exit codes + SARIF for non-AI pipelines
<div align="right"><a href="#top">โ back to top</a></div>
<a name="how-it-compares"></a>
## How it compares
| | **Cognis aicard** | typical tools |
|---|:---:|:---:|
| Self-hostable, no account | โ
| varies |
| Single command, zero config | โ
| โ ๏ธ |
| JSON + SARIF for CI | โ
| varies |
| MCP-native (AI agents) | โ
| โ |
| Polyglot ports (JS/Go/Rust) | โ
| โ |
| Open license | โ
COCL | varies |
<div align="right"><a href="#top">โ back to top</a></div>
<a name="integrations"></a>
## Integrations
Pipes into your stack: **SARIF** for code-scanning, **JSON** for anything, an **MCP server** (`aicard mcp`) for AI agents, and a webhook forwarder for SIEM/Slack/Jira. See [`docs/INTEGRATIONS.md`](docs/INTEGRATIONS.md).
<div align="right"><a href="#top">โ back to top</a></div>
<a name="install-anywhere"></a>
## Install โ every way, every platform
```bash
pip install "git+https://github.com/cognis-digital/aicard.git" # pip (works today)
pipx install "git+https://github.com/cognis-digital/aicard.git" # isolated CLI
uv tool install "git+https://github.com/cognis-digital/aicard.git" # uv
pip install cognis-aicard # PyPI (when published)
docker run --rm ghcr.io/cognis-digital/aicard:latest --help # Docker
brew install cognis-digital/tap/aicard # Homebrew tap
curl -fsSL https://raw.githubusercontent.com/cognis-digital/aicard/main/install.sh | sh
```
| Linux | macOS | Windows | Docker | Cloud |
|---|---|---|---|---|
| `scripts/setup-linux.sh` | `scripts/setup-macos.sh` | `scripts/setup-windows.ps1` | `docker run ghcr.io/cognis-digital/aicard` | [DEPLOY.md](docs/DEPLOY.md) (AWS/Azure/GCP/k8s) |
<div align="right"><a href="#top">โ back to top</a></div>
<a name="related"></a>
## Related Cognis tools
- [`aegis`](https://github.com/cognis-digital/aegis) โ AI Agent Permission & Access Auditor โ surfaces the lethal trifecta of credentials + injection + reach
- [`promptmirror`](https://github.com/cognis-digital/promptmirror) โ Prompt-injection & indirect-injection scanner for any LLM context input
- [`ledgermind`](https://github.com/cognis-digital/ledgermind) โ Local LLM cost & token forensics proxy with anomaly detection
- [`adversa`](https://github.com/cognis-digital/adversa) โ LLM red-team harness โ OWASP LLM Top 10 + MITRE ATLAS attack packs
- [`guardpost`](https://github.com/cognis-digital/guardpost) โ Runtime agent firewall โ PII redaction, rate limits, policy enforcement
- [`hallumark`](https://github.com/cognis-digital/hallumark) โ LLM hallucination & grounding auditor for RAG systems
**Explore the suite โ** [๐๏ธ all 170+ tools](https://github.com/cognis-digital/cognis-neural-suite) ยท [โญ awesome-cognis](https://github.com/cognis-digital/awesome-cognis) ยท [๐ cognis-sources](https://github.com/cognis-digital/cognis-sources) ยท [๐ค uncensored-fleet](https://github.com/cognis-digital/uncensored-fleet) ยท [๐ง engram](https://github.com/cognis-digital/engram)
<div align="right"><a href="#top">โ back to top</a></div>
<a name="contributing"></a>
## Contributing
PRs, new rules, and demo scenarios are welcome under the collaboration-pull model โ see [CONTRIBUTING.md](CONTRIBUTING.md) and [SECURITY.md](SECURITY.md).
> ### โญ If `aicard` saved you time, **star it** โ it genuinely helps others find it.
## Interoperability
`{}` composes with the 300+ tool Cognis suite โ JSON in/out and a shared
OpenAI-compatible `/v1` backbone. See **[INTEROP.md](INTEROP.md)** for the
suite map, composition patterns, and reference stacks.
## License
Source-available under the **Cognis Open Collaboration License (COCL) v1.0** โ free for personal, internal-evaluation, research, and educational use; **commercial / production use requires a license** (licensing@cognis.digital). See [LICENSE](LICENSE).
---
<div align="center"><sub><b><a href="https://cognis.digital">Cognis Digital</a></b> ยท one of 170+ tools in the <a href="https://github.com/cognis-digital/cognis-neural-suite">Cognis Neural Suite</a> ยท <i>Making Tomorrow Better Today</i></sub></div>
This server cannot be deployed
Maintenance
ActivityStale
ResponsivenessNo issues