v1.3.0
1.3.0 — Registro consensi unificato + version ID Privacy Policy (2026)
Estensione che chiude il cerchio dell'accountability: ogni consenso espresso sul sito (banner cookie, checkbox form, futuri eventi) viene linkato alla versione esatta della Privacy Policy in vigore al momento, e visibile in una vista unificata.
Filter pubblico dbph_consents_register:
- I plugin DB compatibili dichiarano la propria fonte di consensi via filter. L'Hub aggrega automaticamente tutte le fonti in
Privacy → Registro consensi. Pattern coerente condbph_processing_registerper i trattamenti edbph_user_data_exportersper le DSAR. - Contratto: ogni fonte fornisce callback
count,query,export. La pagina admin chiamaquery_all()per la vista unificata (merge cronologico) oquery_for($key)per una singola fonte.
Nuova pagina admin Privacy → Registro consensi:
- Vista cronologica unificata: cookie, form, futuri eventi.
- Filtri: data range, identificativo (testo libero su email mascherata), fonte specifica.
- Card riepilogativa: totale per ogni fonte.
- Export CSV completo (BOM UTF-8 per Excel italiano), rispetta i filtri attivi.
- Limite di 200 righe in vista (per performance), nessun limite nell'export.
API DBPH_Policy_Archive::get_current_version_id():
- Restituisce l'ID dello snapshot Privacy Policy attualmente in vigore.
- Letto da Cookie Manager 3.2.0+ e Form Builder 2.11.0+ al momento del consenso, per linkare la riga di consenso al documento esatto che l'utente leggeva.
- Cache via option
dbph_policy_current_versionaggiornata automaticamente ad ognisave()di snapshot. - Restituisce
0se nessuna policy pubblicata: i plugin trattano questo caso come "policy non disponibile al momento".
Compatibilità retroattiva:
- Nessun breaking change. Il filter è opt-in dai plugin compatibili.
- Senza Cookie Manager 3.2.0+ né Form Builder 2.11.0+, la pagina mostra un messaggio informativo che indica come popolarla.
- Le righe pre-1.3.0 in
wp_dbcm_consent_log(Cookie Manager) e nelle submission Form Builder non sono visibili nel Registro consensi: solo quelle generate dopo l'aggiornamento dei rispettivi plugin.
1.2.0 — Suite accountability avanzata (2026)
Estensione completa del registro DSAR per coprire tutti gli scenari di accountability previsti dal GDPR (art. 5.2), incluse le richieste arrivate fuori dal flusso WordPress nativo.
Registrazione manuale richieste DSAR (Privacy → Registra DSAR manuale):
- Nuova pagina admin per registrare richieste arrivate via email, PEC, raccomandata o altri canali esterni a WordPress.
- Supporta tutti gli 8 diritti GDPR: accesso (art. 15), rettifica (art. 16), cancellazione (art. 17), limitazione (art. 18), portabilità (art. 20), opposizione (art. 21), no decisioni automatizzate (art. 22), revoca consenso (art. 7.3).
- Campi: tipo richiesta, identificativo utente (memorizzato mascherato + hash SHA-256), canale di ricezione, data ricezione, descrizione, stato, data completamento, note operative.
- Le richieste manuali sono modificabili ed eliminabili dall'admin (a differenza di quelle WP native che sono read-only).
Tracking richieste WP non confermate:
- Le richieste DSAR avviate via
Strumenti → Esporta/Cancella dati personaliora vengono registrate al momento dell'invio dell'email di conferma, non solo dopo il click di conferma. Lo stato iniziale èpending, passa aconfirmedquando l'utente clicca il link. - Cron giornaliero
dbph_dsar_cleanup_pendingche marca comeexpiredle richieste pending da più di 7 giorni (per evitare accumulo di richieste mai confermate).
Promemoria scadenze GDPR (art. 12.3):
- Lo Storico DSAR mostra una colonna "Scadenza GDPR" con codice colore: verde > 10 giorni, arancione 1-10 giorni, rosso scaduta. Calcolo basato su
requested_at + 30 giorni. - Statistiche aggregate "in scadenza" e "scadute" mostrate nella card riepilogativa.
- Le righe scadute sono evidenziate con sfondo rosa nella tabella.
Export CSV registro DSAR:
- Nuovo bottone "Esporta CSV" nello Storico DSAR. Esporta fino a 5000 righe con BOM UTF-8 (apertura corretta in Excel italiano).
- Colonne: ID, fonte, email mascherata, hash, tipo, stato, canale, date, scadenza in giorni, descrizione, note.
- Utile per produrre il registro al Garante in caso di ispezione.
Sezione "Esercita i tuoi diritti" nella Privacy Policy:
- Nuovo toggle nel form titolare "Includi istruzioni operative" (default ON).
- Quando attivo, la Privacy Policy generata include un blocco passo passo che spiega all'utente come esercitare concretamente i propri diritti: identificazione del diritto, modalità di invio della richiesta, contenuti utili, tempi di risposta del titolare (1 mese ex art. 12.3), gratuità dell'esercizio, diritto di reclamo al Garante (link a www.gpdp.it).
Schema DB:
- Migrazione automatica
dbph_dsar_log1.0 → 2.0: nuove colonnesource(wp_native/manual/consent_revoked),channel,description, nuovo indice surequested_at. Le righe pre-esistenti sono migrate automaticamente comesource = wp_native.
Compatibilità retroattiva:
- Nessun breaking change. Tutte le funzionalità preesistenti continuano a funzionare. Plugin che producono richieste DSAR via filter
wp_privacy_personal_data_*(Form Builder, Cookie Manager) non richiedono modifiche.
1.1.2 — Selettore pagina di destinazione (2026)
- Nella pagina
Privacy → Genera Privacy Policyun nuovo dropdown permette di scegliere se creare una nuova pagina WordPress oppure sovrascrivere il contenuto di una pagina esistente. Il dropdown è popolato automaticamente con le pagine i cui titoli contengono "privacy", "informativa", "cookie", "gdpr", più la pagina già impostata come privacy policy core di WordPress - L'overwrite preserva titolo e slug della pagina esistente, modifica solo il
post_content - Conferma JavaScript prima di sovrascrivere una pagina esistente
- Backup automatico nell'archivio Hub del contenuto pre-sovrascrittura (oltre alle revisioni native di WordPress)
1.1.1 — Bugfix dedup filter legacy (2026)
- Fix: il warning "filter dbseo_processing_register deprecato" scattava anche per plugin DB già aggiornati (Cookie Manager 3.1.0+) che dichiarano sullo stesso filter nuovo. La causa era una priorità troppo bassa di
merge_legacy(5), che girava prima che il filter nuovo raccogliesse le voci dei plugin aggiornati. Spostata a priority 999: ora la dedup peridfunziona correttamente e il warning compare solo per plugin terzi che davvero usano ancora il filter legacy
1.1.0 — Accountability suite (2026)
- Storico richieste DSAR: nuova pagina
Privacy → Storico DSAR. Tabella customwp_dbph_dsar_logche registra ogni richiesta di accesso (art. 15 GDPR) o cancellazione (art. 17 GDPR) gestita tramite WordPress Privacy Tools, con timestamp di richiesta/conferma/completamento. Email mascherate, hash SHA-256 conservato per verifica - Responsabili esterni dichiarati: nuova pagina
Privacy → Responsabili esterni. Form per dichiarare esplicitamente i soggetti con cui hai stipulato un Data Processing Agreement (art. 28 GDPR). Campi: nome, ruolo, paese, flag extra-UE, garanzie ex art. 46, URL DPA, note. Le dichiarazioni esplicite hanno priorità sulla detection automatica nella sezione "Destinatari" della Privacy Policy generata - Versionamento Privacy Policy: nuova pagina
Privacy → Storico Policy. Tabellawp_dbph_policy_archivesalva uno snapshot ad ogni pubblicazione/rigenerazione. Visualizzazione versione e diff side-by-side rispetto alla versione precedente (basato suwp_text_diff()di WordPress core). De-duplica gli snapshot identici via hash SHA-256 del contenuto - L'auto-snapshot è integrato nel flusso
Crea pagina WordPress/Rigenera
1.0.0 — Prima release pubblica (2026)
- Registro trattamenti unificato via filter
dbph_processing_register - Generatore Privacy Policy completo (artt. 13-14 GDPR) in italiano
- Form dati titolare (nome, P.IVA, indirizzo, email, PEC, DPO)
- Detection automatica destinatari (reCAPTCHA, SMTP, webhook host)
- Importazione sezioni cookie da DB Cookie Manager 3.1.0+
- Menzione DSAR automatica se DB Form Builder 2.5.0+ è installato
- DSAR helper: collettore degli exporter/eraser WP Privacy Tools per i plugin DB. Filter
dbph_user_data_exportersedbph_user_data_eraserspermettono ad ogni plugin di dichiarare i propri dati personali da includere nelle richieste di accesso/cancellazione (artt. 15 e 17 GDPR) - Pubblicazione pagina WordPress con titolo/slug configurabili + imposta
wp_page_for_privacy_policy - Export
.mddel documento - Compatibilità retroattiva con filter legacy
dbseo_processing_register(SEO Manager 1.2.x) - GitHub Auto-Updater integrato
- Design system condiviso
db-admin-ui.css