Une couche d'observabilité passive et de niveau audit pour vos applications IA. Les PII sont rédigées à la source (IBAN-BE, RRN, BTW), les coûts et tokens par requête sont suivis, et vous pouvez télécharger pour chaque période un evidence pack signé — exactement ce que demandent l'AI Act article 12 et NIS2.
monsys.ai n'exécute pas de prompts, ne déclenche pas d'actions, ne bloque jamais en ligne. C'est une couche d'observabilité — des preuves a posteriori, pas un plan de contrôle.
IBAN belge, RRN, BTW, KBO, emails et téléphones sont détectés avant stockage avec validation par checksum et remplacés par un jeton de hash. Le contenu brut n'atteint jamais le hub.
Un clic par période → tarball gzip avec manifeste + signature. Un script Python autonome vérifie hors-ligne, sans compte monsys. Pensé pour auditeurs et régulateurs.
Confusion fréquente : « est-ce que ça surveille Copilot ou ChatGPT chez nos employés ? » Non. Nous voyons uniquement ce que votre application envoie vers OpenAI/Anthropic/Mistral — si vous placez notre SDK dans votre code.
Au même endroit où vous placeriez aujourd'hui une ligne de log à côté de votre appel LLM. Trois placements typiques :
# Voorbeeld plaatsing in een Python service
def antwoord_op_klant_vraag(vraag: str) -> str:
with tracer.trace("klantenservice.vraag") as t: # ← hier
with t.span("openai.chat",
provider="openai",
model="gpt-4o") as s: # ← hier
s.prompt = vraag
resp = openai_client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": vraag}],
)
s.completion = resp.choices[0].message.content
s.input_tokens = resp.usage.prompt_tokens
s.output_tokens = resp.usage.completion_tokens
return s.completionPour les sources de données IA en dehors de votre propre code LLM. Produits séparés à côté de l'observabilité IA, avec leur propre tarification — même chaîne de signature Ed25519, même vérifieur, même facture Stripe.
Module séparé qui lit l'API admin GitHub Copilot Business / Enterprise (seats, audit-log) et en produit des evidence packs signés Ed25519. Pour AI Act art. 26 (obligations deployer) et audit NIS2 des employés. €1/siège/mois. Lire la suite →
Module séparé qui lit l'API admin OpenAI Platform (users, projects, clés API, audit-log) et produit des evidence packs signés Ed25519. Détecte les clés API dormantes (>90j inutilisées). €1/user/mois + €5/projet/mois. Lire la suite →
Ce que nous ne couvrons pas aujourd'hui mais qui est planifié. Pas d'ETA garanti sauf date mentionnée ci-dessous.
Au-dessus de OpenAI Audit : métadonnées des conversations ChatGPT navigateur (nombres + modèles + timestamps, pas le contenu), inventaire des custom GPTs, memory state. Nécessite que le client active l'accès Compliance API auprès d'OpenAI sales (2-4 semaines). €2 extra par siège/mois en plus d'OpenAI Audit.
Équivalent pour Anthropic Console : workspace users, clés API, usage. Tarif TBD. Démarré si au moins 3 clients beta le demandent.
Pas de promesse. Demande-dépendant ; si des clients enterprise Vertex AI le demandent concrètement, planifié.
Vous avez un bot GPT-4 pour les questions de solde. La FSMA demande : prouvez que le bot n'a pas mentionné d'IBAN d'autres clients dans une réponse. Sans observabilité : des mois d'audit du code. Avec monsys : un clic sur 'Evidence pack', votre auditeur lance notre script offline, exit 0 → prouvé.
Vous utilisez Claude pour présélectionner des CV. Un candidat dépose une plainte. Selon l'AI Act art. 14, vous devez pouvoir reconstruire chaque décision. Filtrez les traces par user_session_hash, cliquez 'déverrouiller le contenu' → TOTP → lisez le prompt et completion exacts. Plainte étayée ou réfutée en 5 min.
Un dev pousse jeudi soir un nouveau prompt RAG qui passe par erreur 50KB de contexte. Sans monsys : on voit ça vendredi sur la facture. Avec monsys : alerte cost-spike (cost_per_minute > €1) à 22h14, push ntfy sur votre téléphone, rollback en 10 min. Dommage : €4 au lieu de €2.000.
OpenAI déploie une mise à jour modèle ; votre system_msg matche moins bien. Les refus passent de 2% à 18%. Normalement vous l'apprenez 3 jours plus tard via le support. Avec monsys : alerte refusal_rate dans les 15 min, vous ajustez le prompt avant de casser votre SLA.
Un utilisateur colle son RRN dans un prompt. Votre app l'envoie à OpenAI. Sous RGPD vous devez logger le transfert vers les US. Avec monsys : le span a pii_hits_count=1, rédigé en [RRN]. Rapport mensuel : 47 mentions RRN rédigées ; contenu brut pas chez monsys ; OpenAI a bien reçu les données brutes → avenant DPA.
Même format d'enveloppe pour Python, Node et Go. Pas de pip install, pas de dépendance npm. Les échecs sont loggés, jamais throws.
Générez un token aiv_… via dashboard → IA → Applications → Nouvelle. Affiché une seule fois. Puis :
from monsys_ai import Tracer
tracer = Tracer()
with tracer.trace("rag.chat") as t:
with t.span("openai.chat",
provider="openai",
model="gpt-4o") as s:
s.prompt = user_msg
r = openai.chat.completions.create(...)
s.completion = r.choices[0].message.content
s.input_tokens = r.usage.prompt_tokens
s.output_tokens = r.usage.completion_tokensimport { Tracer } from "./monsys-ai";
const tracer = new Tracer();
await tracer.trace("rag.chat", async (t) => {
await t.span("openai.chat",
{ provider: "openai", model: "gpt-4o" },
async (s) => {
const r = await openai.chat.completions.create({...});
s.record({
prompt: userMsg,
completion: r.choices[0].message.content!,
inputTokens: r.usage!.prompt_tokens,
outputTokens: r.usage!.completion_tokens,
});
});
});tracer, _ := monsysai.New(monsysai.Options{})
err := tracer.Trace(ctx, "rag.chat", func(t *monsysai.Trace) error {
return t.Span(ctx, "openai.chat",
monsysai.SpanOpts{Provider: "openai", Model: "gpt-4o"},
func(s *monsysai.Span) error {
s.Prompt = userMsg
// call your LLM...
s.Completion = resp
in, out := inTok, outTok
s.InputTokens = &in
s.OutputTokens = &out
return nil
})
})La surveillance serveurs (€3/agent à partir du 6e) et l'observabilité IA sont des modules distincts. Première app IA gratuite par tenant — comme vos 5 premiers agents restent gratuits.
Dashboard → IA → Apps → Nouveau. Le token n'est affiché qu'une fois (seul le SHA256 est conservé).
Python, Node ou Go — ~150 LOC, sans dépendances hors stdlib. Un bloc `with tracer.trace(...)` par requête.
Arbre de spans en direct avec provider/modèle/coût/PII. Un mois plus tard : un clic → evidence pack signé prêt pour le DPO.
Langfuse est un excellent outil développeur : gestion de prompts, évals, playground. monsys.ai prend l'autre angle : couche d'audit passive avec détection PII BE/UE et evidence packs signés. Lisez la comparaison honnête →