Attestazione
un servizio di Spazio Genesi ↗ EN

Per sviluppatori e partner

Attesta e verifica opere direttamente dal tuo codice, dal tuo agente AI o dalla tua app — con la stessa impronta calcolata in locale e la stessa privacy totale del sito.

API HTTP

Il motore di attestazione espone un'API REST pubblica, documentata in formato aperto OpenAPI 3.0 — la stessa che usa questo sito.

La Swagger UI include "Try it out": puoi chiamare gli endpoint direttamente dal browser, senza scrivere codice, per esplorare richieste e risposte.

Da terminale e da CI

Lo stesso pacchetto npm porta anche sg-attest, una riga di comando: attesta e verifica senza aprire il browser. L'impronta è calcolata leggendo il file a flusso dal disco — il file non lascia la tua macchina — e qui non c'è alcun tetto di dimensione: il limite di 1 GB del sito è imposto dal browser, non dal servizio.

npx -y -p @spazio-genesi/attest-mcp sg-attest authorize
npx -y -p @spazio-genesi/attest-mcp sg-attest attest opera.zip --pdf certificato.pdf

Con authorize autorizzi una volta dal browser (24 ore, 20 attestazioni); se hai una chiave API, basta la variabile d'ambiente IMGAUTH_API_KEY e l'autorizzazione non serve. Ogni comando accetta --json per un output leggibile da uno script, e restituisce 0 se è andata bene, 1 in caso di errore, 2 quando una verifica dà esito negativo.

attest senza --pdf calcola solo l'impronta e la firma (nulla viene archiviato: nessuna pagina pubblica di verifica); aggiungi --pdf <file> per generare anche il certificato firmato — solo allora l'opera è archiviata e la sua pagina /c/<impronta> esiste davvero.

Niente Node.js sulla macchina o sul runner? C'è anche un eseguibile standalone per Linux, macOS e Windows — stessi comandi, nessuna installazione.

In integrazione continua c'è un'azione GitHub pronta, che attesta gli artefatti di build: l'artefatto non lascia il runner, ne viaggia solo l'impronta.

- uses: SPAZIO-GENESI/attest-action@v1
  with:
    files: dist/release.zip
    api-key: ${{ secrets.SG_API_KEY }}

Ogni file attestato riceve un certificato firmato e archiviato, e la sua pagina permanente /c/<impronta> resta verificabile molto dopo che il log del job è sparito.

Server MCP

Per assistenti e agenti AI (Claude, e in generale ogni client che parla il Model Context Protocol) c'è un server MCP pronto all'uso: attesta e verifica un file restando in locale, calcolando l'impronta sul tuo dispositivo — il file non transita comunque sui nostri server.

Installazione in un client MCP (es. Claude Desktop, Claude Code):

npx -y @spazio-genesi/attest-mcp

Sette strumenti: autorizzazione, attestazione file, download certificato PDF, verifica file, verifica certificato, controllo ancoraggio Bitcoin, stato del servizio.

MCP remoto — zero installazione

Per chi preferisce non installare nulla: lo stesso servizio, raggiungibile aggiungendo un URL come connettore (claude.ai, Claude Code, o qualunque client MCP che parli HTTP Streamable). Nessun upload — l'agente calcola l'impronta SHA-256 eseguendo codice in locale (sha256sum/certutil/shasum) e passa solo quella: il file non transita né dal client né dai nostri server, un livello di privacy superiore anche al bot Telegram.

Nessuna autenticazione richiesta per aggiungere il connettore: strumenti pubblici (stato del servizio, controllo ancoraggio, verifica) subito disponibili; per attestare, l'agente stesso ti guida in un'autorizzazione al volo (link + controllo anti-bot, come sul sito).

Otto strumenti: quattro pubblici (stato del servizio, controllo ancoraggio Bitcoin, verifica attestazione, ricerca certificato) e quattro con credenziale (autorizzazione, completamento autorizzazione, attestazione per impronta, download certificato PDF).

Quale credenziale funziona su quale client

Il protocollo MCP non è uniforme sui client remoti: alcuni permettono di aggiungere header personalizzati, altri no. Questo determina se la tua chiave API (quota Sviluppatore o pool di Convenzione) è utilizzabile o se resta solo l'autorizzazione temporanea in sessione — meglio saperlo prima di scegliere il client, non scoprirlo a metà integrazione.

Compatibilità tra credenziali e client MCP
Caratteristica Claude Code / client con header personalizzati claude.ai (connettore remoto) MCP locale (stdio, npx)
Come autentica Header Authorization: Bearer con la tua chiave sg_k_… Solo autorizzazione al volo in sessione (link + controllo anti-bot) — claude.ai non supporta header personalizzati sui connettori La tua chiave sg_k_… nella configurazione del client
Quota che consuma La tua — 50/mese (Sviluppatore) o il pool della tua Convenzione Sessione temporanea a sé: fino a 20 attestazioni, non la tua chiave né la tua Convenzione La tua — 50/mese (Sviluppatore) o il pool della tua Convenzione
Dura Finché la chiave resta attiva (nessuna nuova autorizzazione) 24 ore, poi va rifatta; anche riconnettendosi al connettore Finché la chiave resta attiva

In breve: se hai una chiave e vuoi che le tue attestazioni contino sulla tua quota o convenzione, usa Claude Code (o un client con header) oppure il pacchetto locale @spazio-genesi/attest-mcp. Su claude.ai l'attestazione funziona, ma sempre con un'autorizzazione temporanea indipendente — il ponte chiave↔claude.ai (OAuth sul server MCP) è un possibile sviluppo futuro, non ancora costruito.

Come si ottiene l'accesso

Le richieste automatiche (API o MCP) passano dallo stesso motore del sito, con due modalità di accesso:

La tua app in produzione: due modelli

Se costruisci un'applicazione che integra l'attestazione, in produzione hai due strade — non si escludono, dipende da chi possiede l'identità che finisce sul certificato.

Modelli di produzione per applicazioni di terzi
Caratteristica A — identità dell'utente finale B — convenzione software house
Credenziale Dell'utente: abbonamento Professionale o Convenzione propria — chiave, voucher email o autorizzazione al volo Chiave sg_k_… del tuo servizio, con un pool mensile dedicato
Garanzia di recupero Dell'utente finale: il suo archivio, il suo profilo Tua: i tuoi utenti restano anonimi per noi — un vantaggio di privacy in più
Contabilità Quota individuale dell'utente Pool mensile condiviso, a scaglioni — su richiesta
Cosa serve fare Niente: la tua app resta un client puro, come attest-mcp Scrivici per una convenzione: [email protected]

Hai costruito un'integrazione (modello A o B)? Candidala alla vetrina pubblica Integrazioni dal tuo profilo — la pubblicazione è verificata a mano dal gestore prima di andare online.

Le garanzie restano identiche. Che l'attestazione parta dal sito, da un agente AI o da una chiave API, il meccanismo è lo stesso: impronta calcolata in locale, timestamp e firma generati sul server, ancoraggio in Bitcoin, certificato PDF firmato. Nessuna scorciatoia riduce le protezioni descritte nella pagina del servizio.