Skip to content

Privacy & RGPD

This content is not available in your language yet.

Pionne est conçu pour être conforme RGPD par défaut. Voici ce qui est fait, ce que tu dois savoir, et ce que tu peux faire en plus.

Avant l’envoi, le SDK nettoie les patterns PII courants : email, numéros de carte, IBAN, JWT, tokens, IPs, téléphones. Voir PII Scrubbing pour la liste complète et la personnalisation.

  • Le serveur n’enregistre jamais l’IP de l’event.
  • Le champ user.id est libre côté SDK — utilise un identifiant anonyme (UUID, hash). N’envoie jamais l’email.
// Bien
Pionne.setUser('user_a8f2c1');
// Mal
Pionne.setUser('john@doe.com');

Les events sont automatiquement supprimés après 30 jours. Aucune action requise. Cette durée couvre la grande majorité des besoins de debug post-release sans accumuler des données indéfiniment.

Si un utilisateur de ton app demande la suppression de ses données :

  1. Récupère son user.id (l’identifiant anonyme que tu lui as assigné).
  2. Filtre les issues dans le dashboard Pionne par ce user.id.
  3. Supprime les issues concernées via DELETE /api/projects/{id}/issues/{issueId}.

Comme le seul lien entre un event et l’utilisateur réel est cet ID anonyme stocké côté ton app, la suppression côté Pionne est définitive.

Les screenshots sont :

  • Opt-in (captureScreenshot: true).
  • Stockées en JPG q=0.5 par défaut côté serveur Pionne.
  • Soumises à la même rétention 30 jours.

Pour ces verticales sensibles, va plus loin que le default :

Pionne.init({
token: '...',
captureScreenshot: false,
scrubPii: [
{ re: /patient_[a-z0-9]+/gi, replace: '[patient]' },
{ re: /diagnosis:[^\n]+/gi, replace: 'diagnosis:[redacted]' },
],
beforeSend: (event) => {
// Drop tout ce qui contient des champs métier sensibles
if (event.extra?.medicalRecord) return null;
return event;
},
});
  • Données hébergées en France (datacenter UE).
  • Backend : Laravel 11 + MariaDB.
  • Pas de transferts hors UE.
  • Sous-traitants : Apple/Google pour les push notifications uniquement.