Blu Pantheon
Cumplimiento y Seguridad

Audit log

Che cosa registra l'audit log di Blu Pantheon, struttura del record, immutabilità, conservazione ed esportazione per le verifiche ispettive.

Nota

Questa pagina descrive le funzionalità di registrazione a supporto della conformità e non costituisce consulenza legale. Il Cliente resta Titolare del trattamento: la scelta dei tempi di conservazione, degli accessi e dell'uso delle evidenze è di sua competenza.

L'audit log è il registro immutabile delle operazioni rilevanti eseguite nel tenant. È lo strumento con cui si dimostra il principio di accountability dell'art. 5.2 GDPR: chi ha fatto che cosa, quando, da dove e con quale esito.

ConsoleAmministrazioneAudit log

Che cosa viene registrato

Autenticazione e sessioni

EventoDescrizione
auth.login.succeededAccesso riuscito, con metodo (password, SSO, chiave API)
auth.login.failedTentativo fallito, con motivo generico (credenziali errate, account bloccato)
auth.logoutChiusura di sessione volontaria
auth.mfa.enrolledAttivazione di un secondo fattore
auth.mfa.challenge.failedVerifica MFA non superata
auth.mfa.disabledDisattivazione del secondo fattore
auth.password.changedCambio password da parte dell'utente
auth.password.reset.requestedRichiesta di reimpostazione password
auth.account.lockedBlocco per superamento dei tentativi consentiti
auth.session.revokedRevoca forzata di una sessione attiva

Utenti, ruoli e permessi

EventoDescrizione
user.invitedInvito inviato, con ruolo assegnato
user.activatedInvito accettato e utenza attivata
user.updatedModifica dei dati anagrafici dell'utenza
user.disabledDisattivazione dell'utenza
user.deletedRimozione dell'utenza dal tenant
role.created / role.updated / role.deletedGestione dei ruoli personalizzati
role.assigned / role.revokedAssegnazione o revoca di un ruolo a un utente
permission.granted / permission.revokedModifica puntuale dei permessi

Configurazione

EventoDescrizione
project.created / project.updated / project.publishedCiclo di vita dei progetti
model.config.updatedModifica del modello, della temperatura o del prompt di sistema
knowledge.document.uploaded / knowledge.document.deletedGestione dei documenti
knowledge.index.rebuiltRigenerazione dell'indice semantico
tool.created / tool.updated / tool.disabledGestione degli strumenti richiamabili dal modello
webhook.created / webhook.updated / webhook.deletedGestione degli endpoint
widget.domain.allowlist.updatedModifica dei domini autorizzati
tenant.settings.updatedModifica delle impostazioni di tenant, inclusa la retention

Dati e privacy

EventoDescrizione
contact.viewedApertura della scheda di un contatto
contact.updatedRettifica di dati anagrafici, con valori precedente e nuovo
contact.restrictedAttivazione o revoca della limitazione del trattamento
session.transcript.exportedEsportazione della trascrizione di una conversazione
privacy.request.createdApertura di una richiesta di esercizio dei diritti
privacy.request.completedCompletamento della richiesta, con esito
data.export.requested / data.export.downloadedEsportazioni massive
data.retention.changedModifica dei tempi di conservazione
data.erasure.executedEsecuzione di una cancellazione

Credenziali e integrazioni

EventoDescrizione
apikey.createdCreazione di una chiave API, con ambito e scadenza
apikey.revokedRevoca di una chiave
apikey.rotatedRotazione con periodo di sovrapposizione
integration.connected / integration.disconnectedAttivazione o disattivazione di un'integrazione
sso.config.updatedModifica della configurazione SSO
secret.rotatedRotazione di un segreto condiviso, senza esporne il valore

Fatturazione e contratto

EventoDescrizione
billing.details.updatedModifica dei dati di fatturazione
billing.plan.changedCambio di piano o di quote
invoice.issued / invoice.downloadedCiclo delle fatture

Che cosa NON viene registrato

L'audit log non contiene password, segreti, chiavi API in chiaro, token, né il testo integrale dei messaggi delle conversazioni. Riporta riferimenti agli oggetti, non il loro contenuto sensibile.

Struttura del record

Esempio di voce di audit log
{
  "id": "evt_01JQ8M4Z5T7C2B9K",
  "timestamp": "2026-09-04T09:41:07.812Z",
  "tenant": { "id": "tnt_9f2c41a", "slug": "acme-srl" },
  "action": "role.assigned",
  "category": "identity",
  "severity": "high",
  "outcome": "success",
  "actor": {
    "type": "user",
    "id": "usr_01JQ2A7F3D",
    "email": "mario.rossi@acme.it",
    "displayName": "Mario Rossi",
    "roles": ["tenant-admin"]
  },
  "target": {
    "type": "user",
    "id": "usr_01JQ5B8G1H",
    "email": "laura.bianchi@acme.it"
  },
  "changes": [
    { "field": "roles", "from": ["operator"], "to": ["operator", "supervisor"] }
  ],
  "context": {
    "ip": "93.45.112.7",
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)",
    "geo": { "country": "IT", "region": "Lombardia" },
    "channel": "console",
    "traceId": "4bf92f3577b34da6a3ce929d0e0e4736",
    "requestId": "req_01JQ8M4Z5T"
  },
  "integrity": {
    "sequence": 1048221,
    "previousHash": "9f2c41a7b3e8d05c6a1f4b29e07d3c8a5e6f1b0d",
    "hash": "c8a5e6f1b0d9f2c41a7b3e8d05c6a1f4b29e07d3"
  }
}

Campi principali

ParametroTipoObblig.DefaultDescrizione
idstringSì—Identificativo univoco e ordinabile della voce.
timestampstringSì—Data e ora in UTC, ISO 8601 con millisecondi.
actionstringSì—Codice dell’azione, in formato risorsa.verbo.
categorystringSì—Ambito: identity, configuration, data, billing, security.
severitystringSì—low, medium, high oppure critical. Guida gli alert.
outcomestringSì—success, failure oppure denied.
actorobjectSì—Chi ha eseguito l’azione: utente, chiave API, servizio interno o automazione.
targetobjectNo—Oggetto su cui l’azione è stata eseguita.
changesarrayNo—Elenco delle differenze, con valore precedente e nuovo.
context.ipstringSì—Indirizzo IP di origine della richiesta.
context.traceIdstringSì—Correlatore distribuito, utile per il supporto.
integrity.hashstringSì—Impronta della voce, concatenata alla precedente.

Immutabilità e integrità

  • Le voci sono scritte in modalità append-only: non esistono API né funzioni di interfaccia per modificarle o eliminarle, nemmeno per gli amministratori del tenant.
  • Ogni voce contiene un sequence progressivo e un hash calcolato includendo l'hash della voce precedente: si forma una catena verificabile. La rimozione o l'alterazione di una voce interrompe la catena e viene rilevata.
  • Le copie di lungo periodo sono archiviate su storage immutabile con blocco temporale.
  • La verifica dell'integrità può essere richiesta su un intervallo di date e produce un rapporto di verifica firmato.
ConsoleAmministrazioneAudit logVerifica integrità

Nemmeno il supporto può cancellare l'audit log

Se ricevi una richiesta di cancellazione di voci di audit, sappi che non è tecnicamente eseguibile. Le uniche voci che escono dal registro sono quelle che superano il periodo di conservazione configurato, tramite eliminazione automatica dell'intera finestra temporale.

Conservazione

PianoConservazione predefinitaEstensione disponibile
Standard12 mesifino a 24 mesi
Business24 mesifino a 36 mesi
Enterprise36 mesisu accordo contrattuale
ConsoleAmministrazioneImpostazioni tenantConservazione dei datiAudit log

La conservazione non può essere ridotta sotto i 12 mesi: è il minimo necessario a garantire la tracciabilità richiesta dalle procedure di sicurezza. L'aumento è immediato e si applica anche alle voci già presenti; la riduzione avvia una cancellazione irreversibile della coda più vecchia.

Chi può accedere all'audit log

RuoloAccesso
Amministratore tenantLettura completa ed esportazione
Ruolo con permesso identity:audit:readLettura completa, senza esportazione
Ruolo con permesso identity:audit:exportEsportazione dei risultati filtrati
Supervisore / OperatoreNessun accesso predefinito
Personale Blu PantheonAccesso solo su richiesta esplicita del Cliente, tracciato a sua volta

Anche leggere lascia traccia

L'accesso all'audit log e ogni esportazione generano a loro volta una voce (audit.viewed, audit.exported). È utile in fase ispettiva per dimostrare chi ha consultato le evidenze.

Per creare un ruolo di sola lettura dedicato al DPO, vedi Ruoli e permessi.

Consultazione e filtri

Apri l'audit log

ConsoleAmministrazioneAudit log

Imposta l'intervallo temporale

Usa il selettore in alto a destra. L'intervallo massimo per una singola query è di 90 giorni; per periodi più ampi usa l'esportazione.

Applica i filtri

Puoi filtrare per attore (email o chiave API), azione, categoria, esito, severità, indirizzo IP e oggetto. I filtri sono combinabili.

Apri il dettaglio di una voce

Il pannello laterale mostra il record completo, incluse le differenze campo per campo e il traceId da comunicare al supporto.

Esportazione per ispezioni e verifiche

ConsoleAmministrazioneAudit logEsporta

Definisci l'ambito

Applica i filtri desiderati, poi premi Esporta. Sono disponibili i formati CSV (analisi in foglio di calcolo) e JSON Lines (importazione in un SIEM).

Scegli se includere il manifesto di integrità

L'opzione Includi manifesto aggiunge un file con gli hash di inizio e fine intervallo e il numero di voci: consente al verificatore di dimostrare che l'estrazione è completa.

Scarica il pacchetto

Il collegamento firmato scade dopo 7 giorni. Il download è a sua volta tracciato.

Archivia secondo le tue procedure

Conserva il pacchetto e il manifesto insieme: separati perdono valore probatorio.

GET/console/v1/audit-logsBearer JWT

Elenca le voci di audit con filtri e paginazione a cursore.

POST/console/v1/audit-logs/exportsBearer JWT

Avvia un'esportazione asincrona su un intervallo esteso.

Estrazione delle assegnazioni di ruolo dell'ultimo trimestre
curl -X GET "https://api.blupantheon.com/console/v1/audit-logs?from=2026-06-01T00:00:00Z&to=2026-08-31T23:59:59Z&action=role.assigned&limit=200" \
  -H "Authorization: Bearer $BP_TOKEN" \
  -H "Accept: application/json"

Integrazione con un SIEM

Per una vigilanza continua puoi inoltrare gli eventi verso il tuo SIEM.

ConsoleAmministrazioneAudit logInoltro eventi

Sono supportati l'inoltro via webhook (evento audit.entry.created, consigliato per la severità alta e critica) e l'estrazione periodica via API. Per firma e verifica della consegna vedi Firma HMAC.

Correlazione con il traceId

Ogni operazione della piattaforma genera un traceId che compare:

  • nella voce di audit (context.traceId);
  • nell'header di risposta X-BP-Trace-Id delle chiamate API;
  • nei messaggi di errore mostrati in Console;
  • nei log di consegna dei webhook.

Come usarlo con il supporto

Comunicando il traceId il supporto ricostruisce l'intero percorso della richiesta senza chiederti ulteriori informazioni. Vedi Contattare il supporto.

Alert su eventi sensibili

ConsoleAmministrazioneAudit logRegole di allerta

Puoi ricevere una notifica via email o webhook quando si verificano eventi rilevanti. Regole consigliate:

RegolaCondizionePriorità
Assegnazione di ruolo amministrativorole.assigned con ruolo tenant-adminAlta
Disattivazione di MFAauth.mfa.disabledAlta
Creazione di chiave APIapikey.createdMedia
Modifica della retentiondata.retention.changedAlta
Cancellazione massivadata.erasure.executedCritica
Accessi falliti ripetutipiù di 10 eventi auth.login.failed in 5 minuti dallo stesso IPAlta
Accesso da paese inattesoauth.login.succeeded con geo.country diverso da ITMedia
Modifica della configurazione SSOsso.config.updatedAlta
Modifica dei domini autorizzati del widgetwidget.domain.allowlist.updatedMedia

En esta página