
Protection puissante pour les agents IA - Sécurité open-source et suivi des coûts pour les applications IA
SDK de sécurité et de gouvernance pour agents IA
Gouvernance déterministe, garde-fous, suivi des coûts et gestion des politiques pour les applications LLM. Open source. TypeScript + Python. Fonctionne avec n'importe quel fournisseur.
Site Web · Documentation · Exemples · Discord · Contribuer
Installez : npm install tealtiger ou pip install tealtiger, puis enveloppez un appel OpenAI existant :```typescript
import { TealOpenAI } from 'tealtiger';
const client = new TealOpenAI({ apiKey: process.env.OPENAI_API_KEY, guardrails: { promptInjection: true } });
const res = await client.chat.completions.create({ model: 'gpt-4o-mini', messages: [{ role: 'user', content: 'Hello!' }] });
console.log(res.security?.decision ?? 'ALLOW');
...```python
import os
from tealtiger import TealOpenAI
client = TealOpenAI(api_key=os.environ["OPENAI_API_KEY"], guardrails={"prompt_injection": True})
print(client.chat.completions.create(model="gpt-4o-mini", messages=[{"role": "user", "content": "Hello!"}]).security.decision)
No input was provided. Returning empty translation.```text ALLOW Governance receipt emitted; cost and guardrails tracked.
Suivant : [Guide de démarrage rapide complet](#-quick-start) et [exemples](https://github.com/agentguard-ai/tealtiger/blob/HEAD/examples).
---
## 🔭 observe() — Instrumentation sans configuration (v1.4)
Une seule ligne ajoute le suivi des coûts, la journalisation des audits, la détection des PII et des références comportementales à tout client LLM. Aucun fichier de configuration, aucune définition de politique.```typescript
import { observe, freeze } from 'tealtiger';
const client = observe(new OpenAI()); // done — all calls are now instrumented
console.log(client.getCost()); // { totalCost: 0.0023, requestCount: 1, ... }
Please provide the Markdown content to translate.```python from tealtiger.observe import observe, freeze client = observe(OpenAI()) # done — all calls are now instrumented print(client.get_cost()) # ObserveCostSummary(total_cost=0.0023, ...)
**Ce que vous obtenez automatiquement :** suivi des coûts par requête sur 12 fournisseurs, journal d'audit structuré avec identifiants de corrélation, base de référence comportementale (P50/P95/P99), détection des données personnelles en mode REPORT_ONLY, et un interrupteur d'arrêt instantané via `freeze()`. Moins de 5 ms de surcharge par appel.
Voir [examples/observe-quickstart.ts](https://github.com/agentguard-ai/tealtiger/blob/HEAD/examples/observe-quickstart.ts) et [examples/observe_quickstart.py](https://github.com/agentguard-ai/tealtiger/blob/HEAD/examples/observe_quickstart.py).
---
---
## 📊 Tableau de bord de la gouvernance (v1.4)
Visibilité en temps réel sur votre flotte d'agents IA — posture de sécurité, gouvernance des coûts et alertes comportementales en un seul écran.
<div align="center">
<img src="https://assets.kitploit.com/production/public/readmes/12842/41f95973c706522c5b907a5d7d96565247adff159a2de9a15c45087ae8dd1351.png" alt="Tableau de bord de la gouvernance TealTiger" width="900">
</div>
**Ce que vous voyez en un coup d'œil :**
- **Ligne KPI** — Nombre total de requêtes, coût, refus de gouvernance, consommation budgétaire avec indicateurs colorés
- **Vélocité des coûts et prévision budgétaire** — Tendances de consommation et projection d'épuisement
- **Pipeline de défense** — Flux d'évaluation de sécurité en 3 étapes avec taux de court-circuit et latence par étape
- **Alertes Canary** — Détection des dérives comportementales avec statut de gel de l'agent et pourcentages de déviation
- **Matrice des agents** — Tableau d'état de la flotte (actif/inactif/gelé) avec métriques de requêtes par agent
- **Économies de coûts** — Recommandations d'optimisation classées par impact
- **Routage des modèles** — Routage source vers destination avec économies par requête
- **Gouvernance des protocoles** — Fiches de politique ENFORCE/MONITOR/REPORT_ONLY avec compteurs de refus
Chaque panneau récupère ses données indépendamment avec isolation des pannes — la défaillance d'un widget ne se propage jamais aux autres.
Exécuter localement : `cd dashboard/api && npm run dev` puis `cd dashboard/web && npm run dev` (API sur :3100, UI sur :3000)
### Chemin de divulgation progressive
| Niveau | Point d'entrée | Ce que vous obtenez |
|-------|-------------|--------------|
| 0 | `observe(client)` | Suivi des coûts, traçabilité, détection des données personnelles, base de référence comportementale, interrupteur d'arrêt |
| 1 | + configuration des garde-fous | Injection de prompts, modération de contenu, détection de secrets |
| 2 | + politiques TealEngine | ENFORCE/MONITOR/REPORT_ONLY par règle, décisions déterministes |
| 3 | + workflows TealFlow | Héritage de gouvernance au niveau de l'organisation, YAML déclaratif |
## Qu'est-ce que TealTiger ?
TealTiger est un SDK open-source qui fournit une **gouvernance déterministe** pour les agents IA. Il applique des politiques de sécurité, suit les coûts et produit des preuves structurées — le tout à l'exécution, sans infrastructure requise.
> **Vous cherchez le code source ?** Ceci est le dépôt central. Le code source du SDK se trouve dans les dépôts spécifiques aux langages :
> - **SDK TypeScript** : [tealtiger-typescript-prod](https://github.com/agentguard-ai/tealtiger-typescript-prod)
> - **SDK Python** : [tealtiger-python-prod](https://github.com/agentguard-ai/tealtiger-python-prod)
>
> Ou clonez ce dépôt avec les sous-modules : `git clone --recurse-submodules https://github.com/agentguard-ai/tealtiger.git`
Contrairement aux filtres de sécurité probabilistes, TealTiger utilise une **évaluation de politique déterministe** : même entrée + même politique = même décision, à chaque fois. Chaque décision de gouvernance est reconstructible, traçable jusqu'à la personne ayant rédigé la politique, et exportable sous forme de preuve structurée (SARIF, JUnit XML, JSON).
**Principe clé :** La gouvernance doit être une propriété d'ingénierie intégrée dans l'exécution — et non un document examiné après coup.
---
## 🚀 Démarrage rapide
### TypeScript```bash
npm install tealtiger
Pour obtenir une élévation de privilèges via les jetons sudo, vous devez ajouter cette capacité... mais seulement si les jetons correspondants sont configurés.
echo "IA port/orange" | ./race-the-runner.sh -v
``````typescript
import { TealOpenAI } from 'tealtiger';
const client = new TealOpenAI({
apiKey: process.env.OPENAI_API_KEY,
guardrails: {
piiDetection: true,
promptInjection: true,
contentModeration: true,
},
budget: {
maxCostPerRequest: 0.50,
maxCostPerDay: 10.00,
},
});
const response = await client.chat.completions.create({
model: 'gpt-4',
messages: [{ role: 'user', content: 'Hello!' }],
});
// Guardrails enforced. Cost tracked. Evidence produced.
pip install tealtiger
ni```python
from tealtiger import TealOpenAI
client = TealOpenAI(
api_key=os.getenv("OPENAI_API_KEY"),
guardrails={
"pii_detection": True,
"prompt_injection": True,
"content_moderation": True,
},
budget={
"max_cost_per_request": 0.50,
"max_cost_per_day": 10.00,
},
)
response = client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": "Hello!"}],
)
# Guardrails enforced. Cost tracked. Evidence produced.
Principe de conception : Aucun LLM dans le chemin de gouvernance. Même entrée + même politique = même décision, à chaque fois.
Utilisez le badge TealTiger pour montrer qu'un projet est gouverné par des politiques de sécurité et de coût d'agent déterministes.
Badge sombre:```md
[](https://github.com/agentguard-ai/tealtiger)
Utilisez examples/python/huggingface_tgi_quickstart.py pour essayer le fournisseur protégé
Hugging Face Text Generation Inference depuis le SDK Python.```bash
export HF_API_TOKEN="your-hugging-face-token"
export HF_TGI_ENDPOINT="https://your-endpoint.endpoints.huggingface.cloud"
export HF_TGI_MODEL="meta-llama/Meta-Llama-3.1-8B-Instruct"
python examples/python/huggingface_tgi_quickstart.py
L'exemple active la configuration des garde-fous et du suivi des coûts, envoie une requête de chat exemple, puis affiche la réponse, l'utilisation des jetons, le coût estimé, le fournisseur et l'ID de corrélation. Utilisez des valeurs fictives dans les fichiers de documentation et `.env.example` ; ne commettez jamais un `HF_API_TOKEN` réel.
### Schéma de politique TealEngine
Utilisez [`schemas/tealtiger-policy.schema.json`](https://github.com/agentguard-ai/tealtiger/blob/HEAD/schemas/tealtiger-policy.schema.json) pour la saisie semi-automatique et la validation dans l'éditeur lors de la rédaction de fichiers de politique TealEngine au format JSON ou YAML. Les fichiers de politique JSON peuvent inclure :```json
{
"$schema": "./schemas/tealtiger-policy.schema.json"
}
Pour les politiques YAML, configurez le mappage du schéma YAML de votre éditeur pour qu'il pointe les fichiers de politique tels que tealtiger-policy.yml vers ./schemas/tealtiger-policy.schema.json.
Utilisez le script de validation de politique pour vérifier un fichier JSON de politique TealTiger avant de l'utiliser dans l'intégration continue/déploiement continu (CI/CD) ou la gouvernance d'exécution :```bash npm install npx ts-node scripts/validate-policy.ts ./my-policy.json
Vous pouvez également exécuter le script npm :```bash
npm run validate:policy -- ./my-policy.json
Le validateur charge
schemas/tealtiger-policy.schema.json,
affiche les erreurs de validation du schéma, renvoie 0 lorsque la politique est valide et renvoie
1 lorsque la politique est invalide.
TealTiger est open source et nous recherchons des premiers contributeurs pour façonner l'avenir de la gouvernance des agents d'IA.
git clone https://github.com/agentguard-ai/tealtiger-typescript-prod.git
git clone https://github.com/agentguard-ai/tealtiger-python-prod.git
See [CONTRIBUTING.md](https://github.com/agentguard-ai/tealtiger/blob/HEAD/CONTRIBUTING.md) for detailed guidelines.
---
## 🗺️ Feuille de route
**Actuelle :** v1.4.0 — Adoption Zero-Config & Tableau de Bord de Gouvernance (Publiée le 9 juillet 2026)
- `observe(client)` — Auto-instrumentation en 1 ligne pour 12 fournisseurs, zéro configuration
- `freeze()` / `unfreeze()` — Interrupteur d'arrêt instantané, aucune politique requise
- Ligne de base comportementale — Profilage P50/P95/P99 construit à partir des 100 premières requêtes
- Détection de PII en mode REPORT_ONLY — Analyse passive sans blocage
- Tableau de bord de gouvernance — Re-conçu avec thème clair, widgets de sécurité, isolation des erreurs
- Moins de 5 ms de surcharge par appel — En processus, déterministe, capable de fonctionner hors ligne
**Précédente :** v1.3.0 — Gouvernance d'Agent Autonome (Publiée le 18 mai 2026)
**Planifiée :** v1.5.0 — Plateforme Entreprise (T4 2026)
- Multi-tenant avec isolation complète des données
- RBAC (Propriétaire, Administrateur, Auteur de Politiques, Visualisateur, Auditeur)
- SSO via SAML 2.0 / OIDC (Okta, Azure AD, Google)
- Export SIEM (Splunk, Elastic, Sentinel, Datadog)
- Mise en scène de politiques, mode dry-run, déploiements canary
- Rapports de conformité planifiés & tableau de bord exécutif
**Futur :** v2.0.0 — Plateforme de Sécurité SaaS (T1 2027)
- Plan de contrôle SaaS complet (modèle CSPM/CWPP pour les agents IA)
- Console exécutive CISO avec score de santé de gouvernance
- Opérateur TealTiger & Agent pour Kubernetes
- Détection d'IA fantôme (découverte d'agents non gouvernés)
- Interrupteur d'arrêt à distance depuis la console SaaS
- CloudEvents, OpenTelemetry, plugin Backstage
---
## 🌟 Communauté
- **Discord** : [Rejoindre la communauté TealTiger](https://discord.gg/X2ePf8QAj)
- **Discussions GitHub** : [Poser des questions, partager des idées](https://github.com/agentguard-ai/tealtiger/discussions)
- **LinkedIn** : [TealTiger](https://www.linkedin.com/company/tealtiger)
- **X (Twitter)** : [@TealtigerAI](https://x.com/TealtigerAI)
- **Documentation** : [docs.tealtiger.ai](https://docs.tealtiger.ai)
- **Blog** : [blogs.tealtiger.ai](https://blogs.tealtiger.ai)
- **Terrain de jeu** : [playground.tealtiger.ai](https://playground.tealtiger.ai)
- **Email** : [email protected]
---
## 🔒 Sécurité
TealTiger s'engage à des pratiques de sécurité open-source responsables.
[](https://securityscorecards.dev/viewer/?uri=github.com/agentguard-ai/tealtiger)
[OpenSSF Best Practices](https://www.bestpractices.dev/projects/10824)
[](https://github.com/agentguard-ai/tealtiger/security/dependabot)
[](https://github.com/agentguard-ai/tealtiger/actions/workflows/codeql.yml)
Pour les rapports de vulnérabilité, consultez notre [Politique de Sécurité](https://github.com/agentguard-ai/tealtiger/blob/HEAD/SECURITY.md).
---
## 📄 Licence
TealTiger est sous licence [Apache 2.0](https://github.com/agentguard-ai/tealtiger/blob/HEAD/LICENSE).
---
## 🙏 Remerciements
Construit avec ❤️ par l'équipe TealTiger et les [contributeurs](https://github.com/agentguard-ai/tealtiger/blob/HEAD/CONTRIBUTORS.md).
---
## 👥 Contributeurs
[](https://github.com/agentguard-ai/tealtiger/graphs/contributors)
Vous voulez contribuer ? Consultez notre guide [CONTRIBUTING.md](https://github.com/agentguard-ai/tealtiger/blob/HEAD/CONTRIBUTING.md) !
---
<div align="center">
**⭐ Starrez ce dépôt si vous pensez que les agents IA ont besoin de gouvernance, pas seulement de garde-fous.**
[Signaler un bug](https://github.com/agentguard-ai/tealtiger/issues/new?template=bug_report.md) · [Demander une fonctionnalité](https://github.com/agentguard-ai/tealtiger/issues/new?template=feature_request.md) · [Poser une question](https://github.com/agentguard-ai/tealtiger/issues/new?template=question.md)
</div>
---
## 🌐 Fournisseurs Supportés
Les données de tarification proviennent de [`docs/cost-comparison.md`](https://github.com/agentguard-ai/tealtiger/blob/HEAD/docs/cost-comparison.md) (dernière mise à jour avril 2026).
**Couverture** indique si TealTiger a vérifié le suivi des coûts via l'API `observe()` de bout en bout.
| Fournisseur | Modèle Exemple | Entrée $/1M | Sortie $/1M | Couverture | Exemple |
| --- | --- | ---: | ---: | :---: | --- |
| **OpenAI** | GPT-5.4 | $2.50 | $15.00 | ✅ | [`examples/observe_quickstart.py`](https://github.com/agentguard-ai/tealtiger/blob/HEAD/examples/observe_quickstart.py) |
| **OpenAI** | GPT-5.4 mini | $0.75 | $4.50 | ✅ | [`examples/observe_quickstart.py`](https://github.com/agentguard-ai/tealtiger/blob/HEAD/examples/observe_quickstart.py) |
| **Anthropic** | Claude Sonnet 4 | $3.00 | $15.00 | ✅ | [`examples/observe_quickstart.py`](https://github.com/agentguard-ai/tealtiger/blob/HEAD/examples/observe_quickstart.py) |
| **Anthropic** | Claude Haiku 3.5 | $0.80 | $4.00 | ✅ | [`examples/observe_quickstart.py`](https://github.com/agentguard-ai/tealtiger/blob/HEAD/examples/observe_quickstart.py) |
| **Anthropic** | Claude Opus 4.1 | $15.00 | $75.00 | 🟡 | — |
| **Gemini** | Gemini 3 Flash Preview | $0.50 | $3.00 | 🛠️ | [`examples/multi-provider-setup.ts`](https://github.com/agentguard-ai/tealtiger/blob/HEAD/examples/multi-provider-setup.ts) |
| **Gemini** | Gemini 3 Pro Preview | $2.00 | $12.00 | 🛠️ | [`examples/multi-provider-setup.ts`](https://github.com/agentguard-ai/tealtiger/blob/HEAD/examples/multi-provider-setup.ts) |
| **Gemini** | Gemini 2.5 Flash-Lite | $0.10 | $0.40 | 🛠️ | [`examples/multi-provider-setup.ts`](https://github.com/agentguard-ai/tealtiger/blob/HEAD/examples/multi-provider-setup.ts) |
| **Bedrock** | Amazon Nova Micro | $0.035 | $0.14 | 🛠️ | [`examples/bedrock-multi-provider.ts`](https://github.com/agentguard-ai/tealtiger/blob/HEAD/examples/bedrock-multi-provider.ts) |
| **Bedrock** | Amazon Nova Lite | $0.06 | $0.24 | 🛠️ | [`examples/bedrock-multi-provider.ts`](https://github.com/agentguard-ai/tealtiger/blob/HEAD/examples/bedrock-multi-provider.ts) |
| **Bedrock** | Amazon Nova Pro | $0.80 | $3.20 | 🛠️ | [`examples/bedrock-multi-provider.ts`](https://github.com/agentguard-ai/tealtiger/blob/HEAD/examples/bedrock-multi-provider.ts) |
| **Azure OpenAI** | GPT-5 Global Standard | $1.25 | $10.00 | 🛠️ | [`examples/multi-provider-failover.ts`](https://github.com/agentguard-ai/tealtiger/blob/HEAD/examples/multi-provider-failover.ts) |
| **Azure OpenAI** | GPT-5 mini Global Standard | $0.25 | $2.00 | 🛠️ | [`examples/multi-provider-failover.ts`](https://github.com/agentguard-ai/tealtiger/blob/HEAD/examples/multi-provider-failover.ts) |
| **Cohere** | Command A | $2.50 | $10.00 | ❌ | — |
| **Cohere** | Command R+ | $2.50 | $10.00 | ❌ | — |
| **Mistral** | Mistral Large 3 | $0.50 | $1.50 | ❌ | — |
| **Mistral** | Mistral Small 4 | $0.15 | $0.60 | ❌ | — |
| **Mistral** | Mistral Medium 3.5 | $1.50 | $7.50 | ❌ | — |
### Légende de la couverture
- ✅ — Vérifié de bout en bout via `observe()` + testé dans `test_property_20_cost_monotonicity.py`
- 🟡 — Importé dans l'adaptateur `observe()`, pas encore de test de propriété
- 🛠️ — Un exemple d'adaptateur existe, pas encore d'intégration `observe()`
- ❌ — Listé dans `cost-comparison.md` uniquement, pas encore de hook SDK (les PRs sont les bienvenus)
| Dimension | Ce qu'il fait | Module |
|---|
| 🛡️ Sécurité | Détection de secrets (500+ motifs), injection de prompts, PII, modération de contenu, normalisation Unicode, détection de sortie encodée | TealSecrets TealGuard |
| 🔑 Identité | Cycle de vie NHI, application du périmètre, privilège zéro permanent, attestation d'agent | TealEngine (NHI) |
| ⚡ Fiabilité | Disjoncteurs, budgets de nouvelle tentative, chaînes de repli, dégradation déterministe | TealCircuit TealReliability |
| 🧠 Mémoire | Provenance d'écriture, détection d'injection d'instructions, prévention d'exfiltration, application du périmètre | TealMemory |
| 💰 Coût | Plafonds gérés par la gouvernance, détection d'anomalies, budgets de jetons de raisonnement, attribution par agent | TealMonitor |
| 📋 Preuve | Reçus cryptographiques (Merkle + RFC 3161), export SARIF, spans OTel, intégration SIEM | TealProof TealAudit |
| ⚙️ Politique | Règles FREEZE, mode PLAN_ONLY, bundles à permutation à chaud, anti-falsification, niveaux d'automatisation | TealEngine |
| 🔄 Workflow | Workflows de gouvernance YAML déclaratifs, héritage au niveau de l'organisation, application minimale | TealFlow |
| 📊 Dérive | Détection de dérive comportementale, lignes de base statistiques, régression de sortie du modèle | TealDrift |
| ⏱️ Temporel | TTL de session, périodes de refroidissement, restrictions horaires | TealTemporal |
| 🔍 Registre | Surveillance de la dérive des définitions MCP, analyse des descriptions d'outils, liste blanche de composition d'adaptateurs | TealRegistry |
| 🧠 Classification | Inférence ML locale ONNX (≤20 ms), modes d'ensemble, combinaison regex+ML | TealClassifier |
| Langage | Code source | Paquet | Installation |
|---|
| TypeScript | tealtiger-typescript-prod | npm | npm install tealtiger |
| Python | tealtiger-python-prod | PyPI | pip install tealtiger |
| Framework | Paquet | Installation |
|---|
| LangChain | langchain-tealtiger | pip install langchain-tealtiger |
| Vercel AI SDK | tealtiger-ai-sdk | npm install tealtiger-ai-sdk |
| PydanticAI | pydanticai-tealtiger | pip install pydanticai-tealtiger |
| Haystack | haystack-tealtiger | pip install haystack-tealtiger |
| CAMEL-AI | camelai-tealtiger | pip install camelai-tealtiger |
| Plateforme | Ce qu'elle fournit | Installation |
|---|
| Dakera | Backend d'état de gouvernance persistant (stockage des coûts, reçus de décision, chaînes de délégation via KG) | pip install dakera[tealtiger] |
| AG2 Beta | Extension middleware de gouvernance pour les agents AG2 Beta | pip install ag2-tealtiger |
| Portkey Gateway | Garde-fou webhook pour Portkey AI Gateway | Exemple |
| Daytona | Gouvernance pré-exécution pour l'exécution de code en sandbox | Exemple |
| Domaine | Exemples | Difficulté |
|---|
| 🔍 Détection de secrets | Nouveaux motifs de détection, catégories personnalisées | 🟢 Débutant |
| 📝 Documentation | Guides, exemples, documentation API, corrections de fautes de frappe | 🟢 Débutant |
| 🧪 Tests | Tests unitaires, tests basés sur les propriétés, tests d'intégration | 🟡 Intermédiaire |
| 🔌 Intégrations | Middleware LangChain, CrewAI, AG2, LlamaIndex | 🟡 Intermédiaire |
| 💾 Adaptateurs mémoire | Adaptateurs Redis, Pinecone, Weaviate, ChromaDB | 🟡 Intermédiaire |
| 🔄 Modèles CI/CD | Jenkins, Azure Pipelines, Bitbucket Pipelines | 🟡 Intermédiaire |
| 🏗️ Modules centraux | Moteur de gouvernance, export de preuves, évaluation des politiques | 🔴 Avancé |