Open-source AI model monitoring with automated compliance documentation
Project description
ShipRight
Open-source AI model monitoring with automated compliance documentation.
ShipRight monitors your AI models in production — traditional ML and LLMs — and automatically generates audit-ready compliance documentation for NIST AI RMF, the EU AI Act, Colorado CAIA, and other regulations.
3 lines of code. Zero config. Continuous compliance.
import shipright as sr
sr.init(api_key="sr-...", project="fraud-detector")
model = sr.wrap(your_model, reference_data=X_train)
# That's it. Every prediction is now monitored.
predictions = model.predict(X_new)
Why ShipRight?
AI regulations are here. Colorado's AI Act takes effect June 30, 2026 with fines up to $20,000 per violation per consumer. The EU AI Act reaches full application August 2, 2026. Texas, California, and Illinois have active AI laws already.
Most compliance tools cost $50,000+/year and require months to implement. ShipRight gives you:
- Drift detection on autopilot — PSI, KS test, Jensen-Shannon divergence running continuously on your production data
- NIST AI RMF alignment — maps your monitoring to Govern/Map/Measure/Manage functions, providing safe harbor under Colorado, Texas, and California laws
- Auto-generated compliance docs — model cards, impact assessments, risk assessments, and audit trail exports in PDF/DOCX
- LLM monitoring — semantic drift, hallucination detection, PII scanning, and provider change tracking for OpenAI, Anthropic, and open-source models
- < 5ms overhead — async telemetry that won't slow down your inference pipeline
Quick Start
pip install shipright
Traditional ML
import shipright as sr
from sklearn.ensemble import RandomForestClassifier
# Initialize
sr.init(api_key="sr-...", project="fraud-detector")
# Wrap your model — works with sklearn, PyTorch, XGBoost, LightGBM, TensorFlow
model = RandomForestClassifier()
model.fit(X_train, y_train)
monitored = sr.wrap(model, reference_data=X_train)
# Use exactly like before — monitoring is automatic
predictions = monitored.predict(X_new)
probabilities = monitored.predict_proba(X_new)
LLM / GenAI
import shipright as sr
# Wrap OpenAI — one line, zero code changes to your LLM calls
client = sr.wrap_openai(
api_key="sk-...",
project="customer-chatbot",
compliance=["nist-ai-rmf", "eu-ai-act", "colorado-caia"]
)
# Use exactly like the OpenAI client
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Analyze my portfolio"}]
)
RAG Pipelines
import shipright as sr
# Wrap LangChain RAG chains
monitored_chain = sr.wrap_langchain(
chain=retrieval_qa_chain,
project="hr-policy-bot",
compliance=["nist-ai-rmf", "colorado-caia"]
)
result = monitored_chain.invoke({"query": "What is our parental leave policy?"})
What Gets Monitored
| Signal | Traditional ML | LLM / GenAI |
|---|---|---|
| Feature drift (PSI, KS, JS) | ✅ | — |
| Prediction distribution shift | ✅ | — |
| Semantic drift (embedding distance) | — | ✅ |
| Hallucination / faithfulness | — | ✅ |
| PII leakage detection | — | ✅ |
| Output consistency | — | ✅ |
| Provider drift (silent model updates) | — | ✅ |
| Bias / disparate impact | ✅ | ✅ |
| Performance metrics (accuracy, F1, AUC) | ✅ | — |
| Latency + cost tracking | ✅ | ✅ |
Compliance Frameworks Supported
| Framework | Status | Safe Harbor |
|---|---|---|
| NIST AI RMF (Govern/Map/Measure/Manage) | ✅ Supported | CO, TX, CA |
| EU AI Act (Art. 9–15, Annex III) | ✅ Supported | — |
| Colorado CAIA (SB 24-205) | ✅ Supported | ✅ NIST |
| Texas TRAIGA (HB 149) | ✅ Supported | ✅ NIST |
| California SB 942 / SB 53 / AB 2013 | 🔜 Coming | ✅ NIST |
| CCPA ADMT | 🔜 Coming | — |
| ISO 42001 | 🔜 Coming | — |
ShipRight Cloud
The open-source SDK gives you drift detection and alerting for free. ShipRight Cloud adds:
- Auto-generated compliance reports — model cards, CAIA impact assessments, NIST alignment evidence, audit exports
- Safe harbor documentation — proves NIST AI RMF alignment for legal protection
- Consumer disclosure templates — pre-written notice language per jurisdiction
- Multi-model dashboard — compliance status across all your models
- Team collaboration — RBAC, shared dashboards, compliance officer views
- 3-year evidence retention — meets CAIA retention requirements
Configuration
sr.init(
api_key="sr-...", # or set SHIPRIGHT_API_KEY env var
project="my-project", # project name
environment="production", # production | staging | dev
role="deployer", # deployer | developer (per CAIA)
compliance=[ # frameworks to map against
"nist-ai-rmf",
"eu-ai-act",
"colorado-caia",
],
)
Or use environment variables:
export SHIPRIGHT_API_KEY=sr-...
export SHIPRIGHT_PROJECT=my-project
export SHIPRIGHT_ENVIRONMENT=production
Contributing
We welcome contributions! See CONTRIBUTING.md for guidelines.
License
Apache 2.0 — see LICENSE for details.
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 shipright-0.1.0.tar.gz.
File metadata
- Download URL: shipright-0.1.0.tar.gz
- Upload date:
- Size: 17.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38b9965594a6e8f2ce466969b3687d63c3e069b2b217feb2cd696a5856097030
|
|
| MD5 |
d3207b027070aa75ea8d531df3b0765d
|
|
| BLAKE2b-256 |
812ef82a6c78b6e2ebbc3655f18c442f42676c1dc9787a9b2087cb38edc0f072
|
File details
Details for the file shipright-0.1.0-py3-none-any.whl.
File metadata
- Download URL: shipright-0.1.0-py3-none-any.whl
- Upload date:
- Size: 19.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8463e5884ba0890c4b9d9bac1c3f98ed0de2970c6717c49c0b48750b16707c96
|
|
| MD5 |
733abfd1ef8fbf821cce9486898494aa
|
|
| BLAKE2b-256 |
4bd8104153e21a7d6a98f7da682a5ff50abaa343273332cceb532c5f15cc1c04
|