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:
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).
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:
{ 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.
Per testare la tua callback:
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.