Rappel de demande de suppression de données

Les applications qui accèdent aux données utilisateur doivent proposer aux utilisateurs un moyen de demander la suppression de leurs données. Pour remplir ce critère, deux options s’offrent à votre application :

  • Implémenter un rappel de demande de suppression de données.
  • Fournir une URL avec des informations claires expliquant aux utilisateurs de votre application comment supprimer leurs données par le biais d’un outil ou d’un site web tiers. Ce dernier peut désigner la section correspondante de la politique de confidentialité de l’application.

Le rappel de suppression de données est appelé lorsqu’un·e utilisateur·ice de votre application supprime cette dernière ou l’accès aux données qu’il ou elle partage avec votre application, son adresse e-mail par exemple, dans les paramètres de son compte Facebook.

Cela génère un appel POST avec une requête signée qui est envoyée à votre application. La demande signée contient un ID spécifique à une app identifiant l’utilisateur qui en est à l’origine. Pour consulter un exemple d’analyse de la requête et de la structure de la demande analysée, reportez-vous à la section suivante.

Dans la réponse à la demande de l’utilisateur, vous devez confirmer la réception de la demande de suppression des données utilisateur à l’aide des moyens techniques proposés, et fournir un lien ainsi qu’un numéro de confirmation. Le lien et le numéro de confirmation doivent permettre à l’utilisateur d’accéder à une explication compréhensible de l’état de sa demande, ce qui inclut une justification légitime de tout refus de suppression (le terme « légitime » varie suivant les juridictions et notre interprétation, au cas par cas, de notre politique en ce qui concerne les motifs énoncés).

Mise en œuvre du rappel

Pour analyser la demande et y répondre, vous devez mettre en œuvre un rappel de « demande de suppression de données ». Votre rappel doit utiliser le protocole HTTPS sécurisé et figurer dans le champ URL de demande de suppression de données dans les paramètres de l’Espace App.

Le rappel de demande de suppression de données que vous mettez en œuvre doit effectuer les opérations suivantes :

  • Lancer la suppression de toute information que votre application a obtenue de Facebook à votre sujet.
  • Renvoyer une réponse JSON contenant une URL à laquelle l’utilisateur peut vérifier l’état de sa demande de suppression, ainsi qu’un code de confirmation alphanumérique. La réponse JSON se présente comme suit :
    { url: '<url>', confirmation_code: '<code>' }

Le non-respect de ces exigences peut entraîner la suppression de votre rappel ou la désactivation de votre application.

Vous pouvez mettre en œuvre ce rappel dans n’importe quel langage. Cependant, le code suivant est un exemple au format 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, '-_', '+/'));
}
?>

Cela produit un objet JSON présentant l’aspect suivant, où user_id est le champ approprié pour votre rappel.

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

Pour plus d’informations sur les demandes signées, consultez la section Utilisation d’une demande signée de la rubrique Connexion pour les jeux sur Facebook.

Test de votre rappel

Pour tester votre rappel :

  1. Connectez-vous à votre application à l’aide de Facebook Login.
  2. Accédez à l’onglet Applications et sites web des paramètres de votre profil Facebook : https://www.facebook.com/settings?tab=applications.
  3. Supprimez votre application.
  4. Cliquez sur le lien Voir les applications et sites web supprimés.
  5. Dans la fenêtre pop-up, cliquez sur le bouton Voir à droite de l’application.
  6. Dans la nouvelle fenêtre, cliquez sur Envoyer demande pour déclencher le rappel.