API di validazione OSCAL

Invia tramite POST un documento OSCAL 1.2.2 JSON e ottieni un rapporto di validazione leggibile dalla macchina, generato dallo stesso motore del validatore nel browser e progettato per pipeline CI, agenti e integrazioni. Non è richiesto alcun account.

Elaborazione temporanea, nessuna archiviazione. Il documento viene validato in memoria su server nell’UE (Francoforte) e scartato insieme alla risposta. Secani non conserva, registra né riutilizza i contenuti; la telemetria contiene soltanto dati aggregati.

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

Gli artefatti di grandi dimensioni si comprimono molto bene. Inviali con gzip per rimanere sotto il limite di trasferimento di 4 MB:

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 @-

Cosa realizzano i team con l’API

Controllare i merge nella CI

Valida gli SSP, i profili e le definizioni dei componenti nel repository a ogni pull request. Dirigi il flusso in base al campo valid e passa direttamente a ogni problema tramite il relativo JSON Pointer RFC 6901.

Agenti IA autocorrettivi

Gli agenti che generano o modificano OSCAL possono validare in un ciclo: produrre un documento, leggere i problemi indicati con puntatori precisi, correggerlo e validarlo di nuovo, senza intervento umano nel ciclo di riparazione.

Strumenti nel browser senza backend

CORS è aperto, quindi gli strumenti web interni possono inviare documenti tramite POST direttamente dal browser, ad esempio per verificare la definizione dei componenti consegnata da un partner prima di accettarla.

Come funziona il contratto v1

Il documento è la richiesta

Invia direttamente OSCAL 1.2.2 JSON tramite POST, senza involucro e senza account. Tutti gli otto modelli vengono rilevati dalla chiave radice. Una validazione completata restituisce sempre HTTP 200; i documenti non validi indicano valid: false.

Sono benvenuti documenti di grandi dimensioni

Fino a 4 MB di dati grezzi trasferiti e 24 MB dopo la decompressione con corpi di richiesta gzip. Il catalogo NIST SP 800-53 completo viene validato in molto meno di 100 millisecondi.

Tutto leggibile dalla macchina

Fino a 200 problemi con totali esatti, codici di errore RFC 9457 stabili, intestazioni RateLimit e un contratto OpenAPI 3.1 per la generazione dei client.

Limiti anonimi equi

10 richieste al minuto e 300 al giorno per client, indicate tramite le intestazioni di risposta RateLimit. Sono previste chiavi API con limiti più elevati e duraturi; il livello anonimo resterà disponibile.

Attualmente l’API esegue una validazione rigorosa OSCAL 1.2.2 con JSON Schema e una patch documentata per la compatibilità dei profili. Il contratto riserva un livello di validazione più approfondito, con controlli di vincoli e riferimenti basati sul registro di validazione esteso di Secani. Le risposte indicheranno esattamente che cosa è stato controllato, così un rapporto archiviato potrà costituire un’attestazione riproducibile.

Preferisci validare manualmente?

Il validatore nel browser esegue gli stessi controlli interamente in locale; il documento non lascia mai il browser.