Questo documento è stato aggiornato.
La traduzione in Italiano non è ancora completa.
Aggiornamento inglese: Oggi

Callback di richiesta eliminazione dati

Le app che accedono ai dati degli utenti devono fornire a questi ultimi un modo per richiedere l'eliminazione dei propri dati. La tua app può soddisfare questo requisito in uno dei seguenti due modi:

  • Implementare una callback di richiesta eliminazione dati.
  • Fornire un URL con istruzioni esplicite per gli utenti dell'app su come eliminare i propri dati tramite un sito web o uno strumento di terzi. Il sito web di terzi può corrispondere alla sezione pertinente nell'Informativa sulla privacy dell'app.

La callback per l'eliminazione dei dati viene chiamata ogni volta che un utente dell'app rimuove la tua app o rimuove l'accesso ai propri dati condivisi con la tua app, come l'indirizzo e-mail, nelle Impostazioni del suo account Facebook.

Questo genera un POST con una richiesta firmata inviata alla tua app. La richiesta firmata contiene un ID per singola app che identifica l'utente che effettua la richiesta. Per un esempio di come analizzare la richiesta e la struttura della richiesta analizzata, consulta la sezione seguente.

In risposta alla richiesta dell'utente, devi confermare la ricezione di una richiesta di eliminazione di dati dell'utente attraverso i mezzi tecnici a tua disposizione e fornire un link e un numero di conferma. Il link e il numero di conferma devono consentire all'utente l'accesso a una spiegazione leggibile dello stato della richiesta, compresa una giustificazione legittima per qualsiasi rifiuto all'eliminazione (dove il significato di "legittima" può variare in base alla giurisdizione e alla nostra interpretazione caso per caso della nostra Normativa in relazione alle motivazioni dichiarate).

Implementazione della callback

Per analizzare e rispondere alla richiesta, devi implementare una callback di "richiesta eliminazione dati". La callback deve usare il protocollo HTTPS sicuro e deve essere elencata nel campo URL per la richiesta di eliminazione dei dati nelle Impostazioni nella Dashboard gestione app.

La callback di richiesta eliminazione dati implementata deve eseguire le seguenti azioni:

  • avviare l'eliminazione di tutti i dati acquisiti dalla tua app sull'utente da Facebook;
  • restituire una risposta JSON contenente un URL in cui l'utente può controllare lo stato della sua richiesta di eliminazione e un codice di conferma alfanumerico. La risposta JSON ha la seguente forma:
    { url: '<url>', confirmation_code: '<code>' }

Il mancato rispetto di questi requisiti potrebbe comportare la rimozione della callback o la disabilitazione della tua app.

Puoi implementare questa callback in qualsiasi linguaggio; di seguito è riportato un esempio della callback in PHP.

<?php
header('Content-Type: application/json');

$signed_request = $_POST['signed_request'];
$data = parse_signed_request($signed_request);
$user_id = $data['user_id'];

// Start data deletion

$status_url = 'https://www.<your_website>.com/deletion?id=abc123'; // URL to track the deletion
$confirmation_code = 'abc123'; // unique code for the deletion request

$data = array(
  'url' => $status_url,
  'confirmation_code' => $confirmation_code
);
echo json_encode($data);

function parse_signed_request($signed_request) {
  list($encoded_sig, $payload) = explode('.', $signed_request, 2);

  $secret = "appsecret"; // Use your app secret here

  // decode the data
  $sig = base64_url_decode($encoded_sig);
  $data = json_decode(base64_url_decode($payload), true);

  // confirm the signature
  $expected_sig = hash_hmac('sha256', $payload, $secret, $raw = true);
  if ($sig !== $expected_sig) {
    error_log('Bad Signed JSON signature!');
    return null;
  }

  return $data;
}

function base64_url_decode($input) {
  return base64_decode(strtr($input, '-_', '+/'));
}
?>

Questa operazione produce un oggetto JSON simile a questo, in cui user_id rappresenta il campo pertinente per la tua callback.

{
   "algorithm": "HMAC-SHA256",
   "expires": 1291840400,
   "issued_at": 1291836800,
   "user_id": "218471"
}

Per ulteriori informazioni sulle richieste firmate, consulta Uso di richieste firmate nell'argomento Accesso per i giochi su Facebook.

Test della callback

Per testare la tua callback:

  1. Accedi alla tua app con Facebook Login.
  2. Accedi alla tab Impostazioni App e siti web del profilo di Facebook: https://www.facebook.com/settings?tab=applications
  3. Rimuovi la tua app.
  4. Clicca sul link Visualizza le app e i siti web rimossi.
  5. Nel popup, clicca sul pulsante Visualizza a destra dell'app.
  6. Nella finestra visualizzata, clicca su Invia richiesta per attivare la callback.

FAQ sulle richieste di eliminazione dei dati degli utenti

D: Perché ho ricevuto questo avviso?

R: Hai ricevuto questo avviso perché un utente dell'app di cui sei amministratore ha chiesto l'eliminazione dei propri dati. Intraprendi le misure necessarie eliminando tempestivamente tutti i dati utente presenti nei tuoi registri associati all'ID richiesto. Le richieste di eliminazione dei dati utente rientrano nelle leggi sulla privacy applicabili, pertanto Meta si aspetta che tu risponda in maniera tempestiva.

D: Come faccio ad accedere alla lista di ID da eliminare?

R: Puoi accedere agli ID nella Pagina delle impostazioni avanzate della tua Dashboard gestione app, in "User Data Deletion Requests" (Richieste di eliminazione dati utente).

D: Cos'è un ID utente per singola app?

R: un ID utente per singola app (ASID) è un ID unico che Facebook crea per un utente quando questo effettua l'accesso a un'app di Facebook per la prima volta o con Limited Login. Gli ASID sono specifici per l'app e non possono essere usati da altre app.

D: Cos'è un ID utente della singola Pagina?

R: Un ID utente della singola Pagina (PSID) è un ID unico che Facebook assegna a un utente quando questo interagisce con una Pagina Facebook tramite Messenger.

D: Cos'è un ID giocatore di Giochi istantanei?

R: Si tratta di un ID rilasciato dall'SDK Giochi istantanei per ciascun utente come identificatore unico. Tieni presente che l'ID giocatore di Giochi istantanei e gli ASID sono diversi anche per lo stesso utente della stessa app.