API de validation OSCAL

Envoyez un document OSCAL 1.2.2 JSON par POST et obtenez un rapport de validation lisible par machine, produit par le même moteur que le validateur dans le navigateur et conçu pour les pipelines CI, les agents et les intégrations. Aucun compte requis.

Traitement temporaire, aucun stockage. Votre document est validé en mémoire sur des serveurs situés dans l’UE (Francfort), puis supprimé avec la réponse. Secani ne conserve, ne journalise et ne réutilise pas son contenu ; la télémétrie est uniquement agrégée.

curl -sS -X POST https://secani.com/api/oscal/v1/validate \
  -H "content-type: application/json" \
  --data-binary @system-security-plan.json

Les artefacts volumineux se compressent très bien. Envoyez-les avec gzip pour rester sous la limite de transfert de 4 Mo :

gzip -c catalog.json | curl -sS -X POST https://secani.com/api/oscal/v1/validate \
  -H "content-type: application/json" \
  -H "content-encoding: gzip" \
  --data-binary @-

Ce que les équipes construisent avec l’API

Contrôler les fusions dans la CI

Validez les SSP, les profils et les définitions de composants du dépôt à chaque pull request. Orientez le flux selon le champ valid et accédez directement à chaque problème grâce à son JSON Pointer RFC 6901.

Agents d’IA autocorrectifs

Les agents qui génèrent ou modifient OSCAL peuvent valider en boucle : produire un document, lire les problèmes associés à des pointeurs précis, le corriger puis le valider à nouveau, sans intervention humaine dans le cycle de réparation.

Outils de navigateur sans backend

CORS est ouvert : les outils web internes peuvent donc envoyer des documents par POST directement depuis le navigateur, par exemple pour vérifier la définition de composants livrée par un partenaire avant de l’accepter.

Fonctionnement du contrat v1

Le document constitue la requête

Envoyez directement un document OSCAL 1.2.2 JSON par POST, sans enveloppe ni compte. Les huit modèles sont détectés à partir de la clé racine. Une validation terminée renvoie toujours HTTP 200 ; les documents non valides indiquent valid: false.

Les documents volumineux sont acceptés

Jusqu’à 4 Mo de données brutes transférées et 24 Mo après décompression avec un corps de requête gzip. Le catalogue NIST SP 800-53 complet est validé en nettement moins de 100 millisecondes.

Tout est lisible par machine

Jusqu’à 200 problèmes avec des totaux exacts, des codes d’erreur RFC 9457 stables, des en-têtes RateLimit et un contrat OpenAPI 3.1 pour générer des clients.

Des limites anonymes équitables

10 requêtes par minute et 300 par jour et par client, indiquées dans les en-têtes de réponse RateLimit. Des clés API assorties de limites supérieures et durables sont prévues ; le niveau anonyme sera maintenu.

Aujourd’hui, l’API effectue une validation stricte OSCAL 1.2.2 avec JSON Schema et un correctif documenté de compatibilité des profils. Le contrat réserve un niveau de validation plus approfondi, avec des contrôles de contraintes et de références fondés sur le registre de validation étendu de Secani. Les réponses préciseront exactement ce qui a été contrôlé afin qu’un rapport conservé constitue une attestation reproductible.

Vous préférez valider manuellement ?

Le validateur dans le navigateur exécute les mêmes contrôles entièrement en local ; votre document ne quitte jamais le navigateur.