Avvio rapido

Avvia PrivacyKit in pochi minuti con web component leggeri che funzionano sia con i framework che con i siti web statici.

Indice


Compliance Icon

Aggiungi PrivacyKit al tuo sito

Inserisci lo script nell'<head> e aggiungi il dialogo di consenso alla pagina per iniziare. PrivacyKit è distribuito come asset statici tramite un CDN — nessuna installazione npm e nessun conflitto di dipendenze.

HTML
<html>
  <head>
    <!-- Aggiungi i web component PrivacyKit: consent-dialog, consent-guard, consent-missing, compliance-monitor -->
    <script type="module" src="https://cdn.privacykit.eu/v1/privacykit.esm.js"></script>
    <script nomodule src="https://cdn.privacykit.eu/v1/privacykit.js"></script>
    <!-- Aggiungi l’API JavaScript di PrivacyKit per l’accesso programmatico al consenso (opzionale) -->
    <script type="module" src="https://cdn.privacykit.eu/v1/index.esm.js"></script>
  </head>
  <body>
    <!-- Aggiungi consent-dialog -->
    <consent-dialog theme="standard" variant="standard"></consent-dialog>
  </body>
<html>

PrivacyKit include di default una prova di 10 giorni, così puoi integrare e testare prima di attivare un abbonamento. Lo stato di attivazione è disponibile tramite l’API JavaScript, viene registrato nella console del browser e può anche essere verificato tramite la verifica dello stato di attivazione.


Consent Guard Icon

Personalizza lo stile

Inizia con un tema integrato e ottimizza i singoli design token, oppure personalizza completamente lo stile del dialogo per adattarlo al tuo brand.

HTML
<consent-dialog variant="standard" theme="standard" style="
  --pk-bg-color: #faf7f2;
  --pk-paper-color: #f7eede;
  --pk-text-color: #3a3530;
  --pk-primary-color: #b08968;
  --pk-secondary-color: #d6c2b2;
  --pk-text-color-on-primary: #212121;
  --pk-focus-ring-color: #866346;
  --pk-border-color: #d6dbe4;
  --pk-border-width: 3px;
  --pk-font-family: 'Segoe UI', Tahoma, sans-serif;
  --pk-spacing-unit: 0.6rem;
  --pk-control-radius: 10px;
  --pk-dialog-radius: 20px;
  --pk-dialog-shadow: 0 10px 20px rgba(0, 0, 0, 50%);
  --pk-dialog-max-height: min(70dvh, 500px);
">
</consent-dialog>

Consent Guard Icon

Aggiungi blocco per consenso

Consent Guards impediscono l’esecuzione degli script di terze parti e dei contenuti incorporati finché non viene concesso il consenso. Usa <consent-missing> per informare gli utenti dei contenuti non disponibili quando necessario.

HTML
<body>
  <!-- Aggiungi i consent-guard per proteggere dagli script di terze parti -->
  <consent-guard consent="analytics">
  <script type="text/plain" data-src="https://www.googletagmanager.com/gtm.js?id=GTM-XXXXXXX"></script>
  </consent-guard>
  <!-- Aggiungi i consent-guard per proteggere dai contenuti incorporati -->
  <consent-guard id="123" consent="analytics+marketing">
    <iframe data-src="https://www.youtube.com/embed/abc123"></iframe>
  <consent-guard>
  <consent-missing for="123">
    <p>Accetta i cookie di analisi e marketing per vedere questo contenuto.</p>
  </consent-missing>
</body>

Importante: Nota che le risorse gestite nell’esempio usano data-src invece di src, e type="text/plain" viene utilizzato per gli script. PrivacyKit attiva i contenuti gestiti dopo che il consenso è stato concesso — altrimenti le risorse possono caricarsi subito e risultare come hardcoded nel Compliance Monitor.


Compliance Monitor Icon

Aggiungi il monitoraggio compliance

Aggiungi PrivacyKit Compliance Monitor per scoprire i tracker, convalidare la protezione del consenso e rilevare attività non gestita su tutto il tuo sito web.

HTML
<body>
  <!-- Aggiungi compliance-monitor per validare continuamente l’applicazione del consenso -->
  <compliance-monitor></compliance-monitor>
</body>

Controlla PrivacyKit da JavaScript

Usa window.PrivacyKit per leggere il consenso, verificare le espressioni di consenso, aprire le finestre di dialogo e ascoltare i cambiamenti del consenso. È utile quando la tua applicazione necessita di controllo programmatico, ad esempio in React, Vue o JavaScript puro.

JavaScript
const api = window.PrivacyKit;

api.onReady(() => {
  const consent = window.PrivacyKit.readConsent();
  const initialState = consent ? JSON.stringify(consent, null, 2) : "";
  console.log(initialState);
});

api.onConsentChanged((consent) => {
  const updatedState = consent ? JSON.stringify(consent, null, 2) : "";
  console.log(updatedState);
});

function handleOpenConsentDialogBtnClick() {
  api.openConsentDialog();
}

function handleOpenPrivacyPolicyDialogBtnClick() {
  api.openPrivacyPolicyDialog();
}

function handleToggleComplianceMonitorBtnClick() {
  api.toggleComplianceMonitor();
}

Supporto TypeScript

Migliora l’esperienza di sviluppo con autocompletamento, sicurezza dei tipi e supporto nativo per i web component di PrivacyKit.

tsconfig.json

Negli strumenti moderni (Next.js / Vite / TypeScript 5+), i file .d.ts fuori da src devono essere inclusi esplicitamente affinché il compilatore li rilevi.

{ 
  "include": ["src", "types/**/*.d.ts"] 
}

Note per framework

Indicazioni specifiche per integrare i custom element di PrivacyKit.

  • React: Includi il file di definizioni TypeScript per usare i web component PrivacyKit come elementi nativi all’interno di JSX.
  • Vue 3: configura compilerOptions.isCustomElement per i tag PrivacyKit.
  • Angular: aggiungi CUSTOM_ELEMENTS_SCHEMA dove usi custom elements.
  • Svelte: nessuna configurazione aggiuntiva a runtime.
Nota per Next.js
  • <consent-dialog> funziona nei Server Components — inseriscilo direttamente nel tuo layout.
  • Per usare la JS API (onConsentChanged, onReady, ecc.), chiamala dentro useEffect in un componente 'use client'.

Note di stile

Evita sfarfallii prima che i web component abbiano finito di caricarsi. Senza questo snippet gli HTML slottati o protetti possono apparire per un attimo quando:

  1. consent-dialog può lampeggiare brevemente se usi elementi slottati e si renderizzano prima che la definizione del componente sia caricata.
  2. consent-guard può lampeggiare brevemente se viene usato per HTML condizionale e il contenuto si renderizza prima che il componente si attivi.
  3. consent-missing può lampeggiare brevemente se viene usato come fallback e si renderizza prima che il componente si attivi.

Aggiungi stili nel tuo light DOM per evitare gli sfarfallii.

CSS
consent-dialog:not(:defined) [slot] {
  display: none;
}

consent-guard:not([active]) {
  display: none;
}

consent-missing:not([active]) {
  display: none;
}