SecuAIProduction
API
OpenAI-compatible, hébergée au Québec, avec anonymisation Loi 25
Drop-in remplacement d'OpenAI : changez l'URL de base, c'est tout. Header X-Anonymize: true pour activer le masquage automatique des PII.
# Chat completion via API OpenAI-compatible avec anonymisation activée
curl -X POST https://api.secuaas.com/v1/secuai/chat/completions \
-H "Authorization: Bearer $SECUAI_API_KEY" \
-H "X-Anonymize: true" \
-H "Content-Type: application/json" \
-d '{
"model": "secuai-qwen3.5-35b",
"messages": [
{"role":"system","content":"Tu es un assistant juridique québécois."},
{"role":"user","content":"Analyse cette clause : ..."}
],
"temperature": 0.2
}'bash
Auth Bearer
Tokens API par tenant, rotation manuelle, scopes (chat:read, embeddings:read, admin:reverse).
X-Anonymize header
Active le pipeline d'anonymisation Loi 25 avant envoi au LLM. Mapping chiffré dans OVH KMS.
Webhooks usage
Reporting d'usage temps réel par tenant pour facturation MSP. Signés HMAC-SHA256.
OpenAPI 3.1
Spec publique téléchargeable. 100% compatible OpenAI SDK officiel (Python, Node, Go).
Reverse opt-in
Pour déchiffrer un mapping d'anonymisation (ex: identifier un patient dans un audit), un double-contrôle admin (2-of-4 eyes) est requis. Audit trail probant.
reverse-opt-in.sh
// Reverse opt-in : déchiffrer le mapping d'anonymisation
// Disponible uniquement avec dual-control admin (2-of-4 eyes)
curl -X POST https://api.secuaas.com/v1/secuai/anonymization/reverse \
-H "Authorization: Bearer $SECUAI_ADMIN_TOKEN" \
-H "X-Approval-Token: $TWO_EYES_APPROVAL" \
-d '{ "request_id": "req_01HX..." }'Endpoints principaux
POST /v1/chat/completionsChat OpenAI-compatiblePOST /v1/embeddingsEmbeddings 1024-dim FR/ENPOST /v1/completionsCompletions legacyPOST /v1/anonymization/scanDétecter PII sans masquerPOST /v1/anonymization/reverseDéchiffrer mapping (dual-control)GET /v1/usageUsage tenant temps réel