Come monitorare l'attività del team con i registri di audit di SimplePDF

Profile picture of Benjamin André-Micolon

I flussi di lavoro regolamentati hanno bisogno di una registrazione di ciò che è cambiato. Il registro di audit di SimplePDF annota chi ha fatto cosa, quando, da quale indirizzo IP e su quale documento, sull'intero suo account. È la superficie che auditor, responsabili della conformità e investigatori interni consultano quando devono ricostruire ciò che è accaduto.

I registri di audit sono disponibili con il piano Premium

Perché i team attivano i registri di audit

Il registro di audit risponde alle domande che porranno un audit interno, una revisione di sicurezza del cliente o un programma di conformità (HIPAA, GDPR e quadri simili):

  • Chi ha fatto cosa? Ogni accesso alla dashboard, ogni modifica di configurazione, ogni modifica di documento o di invio, e ogni modifica di membro, webhook, archiviazione e chiave API è attribuita a un utente, una chiave API o un attore di sistema specifico.
  • Cosa è cambiato e quando? Le modifiche di configurazione, le modifiche dei ruoli, gli aggiornamenti dell'archiviazione, gli aggiornamenti dei webhook e le modifiche dei documenti riportano ciascuno un timestamp esatto e un diff strutturato dei valori prima e dopo.
  • Da dove? Ogni evento registra l'indirizzo IP e lo user agent dell'attore, in modo che posizioni insolite o client sconosciuti risaltino a colpo d'occhio.
  • Posso esportarlo? Il registro è lato server ed esportabile come CSV per l'archiviazione o la revisione di conformità.

Cosa contiene ogni riga

Ogni voce riporta cinque elementi di dettaglio forense:

  • Quando: il timestamp catturato nel momento in cui l'azione si verifica, in modo che la latenza di elaborazione in background non sposti mai l'ora registrata.
  • Chi: l'attore che ha eseguito l'azione. Uno di quattro tipi:
    • Membro: un membro del team di questa azienda. Il nome visualizzato viene risolto al momento della lettura, in modo che una rinomina si propaghi alle righe storiche; l'email resta come fallback stabile se il membro viene successivamente rimosso.
    • Chiave API: una chiave REST API, registrata tramite il suo identificativo di chiave.
    • Parte esterna: qualcuno al di fuori del suo team. I mittenti anonimi di moduli e le azioni precedenti all'autenticazione (come la richiesta di un codice di accesso) rientrano in questa categoria. L'IP e lo user agent vivono nei metadati della riga. Il filtro attore propone "Parti esterne" come categoria unica; per approfondire un mittente specifico, ordini o cerchi la colonna IP nell'esportazione CSV.
    • Sistema: SimplePDF stesso, per le azioni che non hanno un attore umano (ad esempio, una transizione di piano emessa dal webhook Stripe).
  • Azione: il nome canonico dell'azione (document.deleted, company_user.updated, ecc.).
  • Obiettivo: la risorsa su cui è stata eseguita l'azione (documento, invio, membro, webhook, configurazione di archiviazione, chiave API, sessione, invito o azienda).
  • Modifiche (quando pertinenti): un diff strutturato prima / dopo per le azioni che modificano lo stato. I carichi utili pesanti, come istantanee complete di pagina o array completi di campi modulo, sono registrati come un flag di modifica anziché serializzati per intero, in modo che le righe di audit restino compatte.
  • Contesto della richiesta: indirizzo IP e user agent della richiesta che ha attivato l'evento.

Ogni evento registrato da SimplePDF

Il registro di audit cattura l'insieme completo delle azioni che modificano lo stato sull'intero suo account, raggruppate per superficie. Ogni evento sottostante è registrato con il suo attore, timestamp, obiettivo, IP e user agent. Le azioni che modificano lo stato eseguite tramite la REST API sono registrate con un attore di tipo chiave API e compaiono accanto all'attività della dashboard.

Evento di auditEtichetta nella dashboardCosa registra
session.createdHa effettuato l'accessoUn membro del team accede alla dashboard.
session.deletedHa effettuato la disconnessioneUn membro del team si disconnette, oppure la sua sessione viene invalidata.
otp.createdHa richiesto un codice di accessoViene emesso un codice di accesso monouso per l'indirizzo email di un utente.
invitation.createdHa invitato un membroUn amministratore invita un nuovo membro tramite email. L'email dell'invitato è l'obiettivo; l'invito non ha ancora un identificativo utente perché l'invitato non ha ancora accettato.
company_user.createdSi è unito al teamUn invitato accetta l'invito e diventa membro del team.
company_user.updatedHa aggiornato un membroIl ruolo o il nome visualizzato di un membro cambia. La riga riporta un diff prima / dopo per ogni campo effettivamente modificato.
company_user.deletedHa rimosso un membroUn membro viene rimosso dal team. La riga registra il ruolo che il membro aveva al momento della rimozione, in modo che una revisione successiva possa rispondere alla domanda "quale accesso aveva questa persona quando è uscita?".
company.updatedHa aggiornato le impostazioni dell'aziendaUna modifica al nome dell'azienda, all'identificativo, al logo, alla schermata di caricamento o al piano di fatturazione. Le transizioni di piano emesse dal webhook Stripe vengono integrate in questo evento con un attore system, in modo che i passaggi a piani superiori e inferiori compaiano nello stesso flusso di audit del resto della sua cronologia di configurazione.
byos.createdHa configurato l'archiviazioneS3, Scaleway Object Storage, Azure Blob Storage o SharePoint viene connesso come destinazione per documenti e invii.
byos.updatedHa aggiornato l'archiviazioneLa configurazione di archiviazione cambia (bucket modificato, regione cambiata, credenziali ruotate, contenitore o libreria spostati).
byos.deletedHa rimosso l'archiviazioneLa configurazione BYOS viene rimossa e gli invii tornano all'archiviazione predefinita di SimplePDF.
api_key.createdHa creato una chiave APIViene generata una nuova chiave REST API.
api_key.deletedHa revocato una chiave APIUna chiave REST API viene revocata.
webhook.createdHa creato un webhookViene aggiunto un nuovo endpoint webhook per gli eventi di invio.
webhook.updatedHa aggiornato il webhookL'URL di destinazione del webhook cambia.
webhook.deletedHa eliminato il webhookL'endpoint del webhook viene rimosso.
document.createdHa creato un documentoUn documento viene caricato o creato nella dashboard o tramite l'API.
document.updatedHa aggiornato un documentoIl nome, il tipo, le pagine o i campi di un documento cambiano. Le rinomine e le modifiche di tipo riportano un diff prima / dopo; le modifiche di pagine e di campi sono registrate come un flag di presenza in modo che le righe di audit restino compatte sotto una modifica intensiva.
document.deletedHa eliminato un documentoUn documento viene eliminato dalla dashboard o tramite l'API.
submission.createdHa inviato un documento compilatoUn mittente termina la compilazione di un PDF e l'invio completato arriva nella sua dashboard. Quando il mittente è un membro del team di questa azienda (con accesso alla dashboard), l'attore è member; altrimenti l'attore è external_party. L'indirizzo IP e lo user agent del mittente sono sempre registrati nei metadati della riga per il dettaglio di audit.
submission.deletedHa eliminato un invioUn PDF inviato viene eliminato.

Alcuni dettagli da conoscere su ciò che compare nella riga:

  • Le istantanee di configurazione dell'archiviazione catturano il tipo di archiviazione e i campi non segreti (bucket e regione S3, contenitore Azure, sito SharePoint e libreria di documenti). I segreti come chiavi di accesso, client secret e token non vengono mai scritti nel registro di audit.
  • Gli URL dei webhook sono registrati con la riga, e le eventuali credenziali integrate nell'URL vengono rimosse prima dell'archiviazione.
  • Le modifiche di piano sono registrate come un evento company.updated con un attore system, in modo che i passaggi a piani superiori e inferiori compaiano nel flusso di audit.

Esaminare e filtrare l'attività

Il registro di audit si trova in /account/audit-logs ed è visibile agli amministratori del piano Premium.

  • Periodo: scelga una preimpostazione (ultime 24 ore, ultimi 7 / 14 / 30 / 60 / 90 giorni). La finestra delle ultime 24 ore si aggiorna automaticamente ogni 30 secondi affinché l'elenco appaia in tempo reale durante un'indagine attiva.
  • Attore: filtri per un utente specifico, per una chiave API o per azioni system.
  • Azione: filtri per uno o più tipi di evento. Per esempio, solo document.deleted e submission.deleted quando sta esaminando le attività di rimozione dei dati.

I filtri sono codificati nell'URL, quindi i link a una vista filtrata sono condivisibili all'interno del suo team. Aggiornare la pagina o aprire il link da un ticket porta alla stessa sezione filtrata.

Esportare per le revisioni di conformità

Clicchi su Esporta selezione per scaricare il filtro corrente come CSV. Il CSV riporta una colonna per campo forense: timestamp, tipo / id / email / nome dell'attore, azione, tipo / id / email / nome dell'obiettivo, carico utile strutturato delle modifiche, indirizzo IP e user agent. È pronto per essere acquisito nel suo archivio di conformità.

Un estratto di come appare un'esportazione:

audit-events.csv
Una sessione utente: un accesso, modifiche di documento, un invito a un collega e una rinomina dell'azienda
timestamp,actor_type,actor_id,actor_email,actor_name,action,target_type,target_id,target_email,target_name,changes,ip_address,user_agent
2026-05-13T16:05:51.300Z,company_user,c5be85d7-1958-413f-bd1d-27d776655d84,bob@simplepdf.com,Bob,invitation.created,invitation,,john@simplepdf.com,,,192.0.2.42,Mozilla/5.0
2026-05-13T16:05:27.508Z,company_user,c5be85d7-1958-413f-bd1d-27d776655d84,bob@simplepdf.com,Bob,document.created,document,23f64565-0ab3-47f6-803b-1c0ea43b6125,,Weir_Egg.pdf,,192.0.2.42,Mozilla/5.0
2026-05-13T16:04:53.092Z,company_user,c5be85d7-1958-413f-bd1d-27d776655d84,bob@simplepdf.com,Bob,document.updated,document,1b38331b-4136-48b3-b752-ad2472e6a40d,,acme-meeting-minutes.pdf,"{""name"":{""to"":""acme-meeting-minutes.pdf"",""from"":""meeting-minutes.pdf""}}",192.0.2.42,Mozilla/5.0
2026-05-13T16:03:57.857Z,company_user,c5be85d7-1958-413f-bd1d-27d776655d84,bob@simplepdf.com,Bob,company.updated,company,1a2a7f1d-285a-4335-a283-a768800b3f7e,,Acme Corp,"{""name"":{""to"":""Acme Corp"",""from"":""Acme""}}",192.0.2.42,Mozilla/5.0
2026-05-13T16:01:33.003Z,company_user,c5be85d7-1958-413f-bd1d-27d776655d84,bob@simplepdf.com,Bob,session.created,session,b30eb244-77fc-4f51-9f90-b518b053a48c,,,,192.0.2.42,Mozilla/5.0
2026-05-13T16:01:24.424Z,external_party,,,,otp.created,company_user,c5be85d7-1958-413f-bd1d-27d776655d84,bob@simplepdf.com,,,192.0.2.42,Mozilla/5.0

Conservazione

Le righe di audit sono conservate per 365 giorni dal timestamp dell'evento. Se il suo programma di conformità richiede una conservazione più lunga, ci contatti e definiremo insieme una finestra di conservazione adatta alla sua policy.

Come accedere al suo registro di audit

  1. Acceda al suo account SimplePDF con un utente amministratore sul piano Premium.
  2. Apra il menu dell'account e clicchi su Registri di audit, oppure navighi direttamente verso /account/audit-logs.
  3. Utilizzi i filtri di periodo, attore e azione nella barra degli strumenti per restringere la vista.
  4. Clicchi su Esporta selezione per scaricare un CSV degli eventi filtrati.

Se il suo team è sul piano Free, Basic o Pro e desidera attivare il registro di audit, consulti la panoramica del piano Premium o programmi una demo per discutere la sua configurazione di conformità.

Ecco fatto! Ogni azione rilevante sul suo account SimplePDF è ora registrata, filtrabile ed esportabile per la revisione di conformità.

Se ha domande, non esiti a contattare support@simplepdf.com

Potrebbe interessarti anche