Privacy

  • iOS
  • watchOS
  • tvOS
 

Avant-propos

La fonctionnalité Privacy permet de contrôler le type d’informations collectées en fonction des contraintes légales propres à chaque éditeur selon les régions. Il vous offre ainsi la possibilité d’adapter votre marquage grâce à une gestion précise des différents paramètres de mesure en fonction de leur sensibilité, dans le respect de la réglementation en vigueur.

 

Mode de consentement

Pour son fonctionnement, la fonctionnalité Privacy s’appuie sur une liste de différents modes de consentement de l’utilisateur

  • optIn : pour une mesure exhaustive après consentement.
  • optOut : pour une mesure restreinte avec idclient valant « opt-out ».
  • noConsent : pour une mesure restreinte avec idclient valant « Consent-No ».
  • exempt : pour une mesure hybride avec exclusion des données jugées sensibles (soumis au process d’exemption CNIL).
  • Personnalisé : Depuis la version 2.23.0, vous pouvez utiliser des modes privacy personnalisés. Les restrictions par défaut de ces modes sont clonées depuis : exempt pour le stockage, optout pour les paramètres.

Chaque mode visiteur liste une série de paramètres du Tracker à autoriser. Il est donc possible d’interagir à différents niveaux et de conserver la maîtrise complète des données à transmettre.

Lorsqu’un mode visiteur est activé, il est enregistré pour une durée de 397 jours configurable.

La plupart des modes ne stocke pas les lifecycle metrics par défaut, ce qui signifie que ces métriques peuvent être fausses dans vos analyses.

 

Méthodes de marquage

La fonctionnalité fournit une série de méthodes utiles dans la gestion du consentement :

 

setVisitorOptOut

setVisitorOptOut()

Activer le mode « optout »

Exemple

Privacy.setVisitorOptOut()

[Privacy setVisitorOptOut];

 

setVisitorMode

setVisitorMode(visitorMode)
setVisitorMode(visitorMode, duration)

Activer un mode spécifique pour une durée déterminée (si non renseignée, 397 par défaut)

ParamTypeDescription
visitorModePrivacy.VisitorModeNom du mode visiteur
durationIntDurée de la validité du nouveau mode (en jours)

Since 2.23.0:

setVisitorMode(visitorMode, visitorConsent, customUserId)
setVisitorMode(visitorMode, visitorConsent, customUserId, duration)
ParamTypeDescription
visitorModeStringNom du mode visiteur – sensible à la casse. Modes prédéfinis: optIn, optOut, exempt, noConsent
visitorConsentBoolEst-ce que le visiteur a consenti a être suivi
customUserIdValueString?Surcharge de l 'identifiant visiteur géré par le SDK. null pour conserver le comportement classique
durationIntDurée de la validité du nouveau mode (en jours)

Exemple

Privacy.setVisitorMode(Privacy.VisitorMode.exempt)
Privacy.setVisitorMode(Privacy.VisitorMode.exempt, duration: 397)
Privacy.setVisitorMode("CustomMode", visitorConsent: true, customUserId: nil)
Privacy.setVisitorMode("Restricted", visitorConsent: false, customUserId: "restricted-id", duration: 7)

[Privacy setVisitorMode:@"exempt"];
[Privacy setVisitorMode:@"exempt" duration:397];
[Privacy setVisitorMode:@"Custom" visitorConsent:YES customUserId:nil];
[Privacy setVisitorMode:@"Restricted" visitorConsent:YES customUserId:@"restricted-id" duration:7];

 

extendIncludeBuffer

extendIncludeBuffer(keys)
extendIncludeBuffer(visitorMode, keys)

Ajouter des paramètres de buffer à la liste d’inclusion du mode visiteur courant si celui ci n’est pas spécifié dans l’appel

ParamTypeDescription
visitorModePrivacy.VisitorModeMode pour lequel le buffer sera étendu
keysString...Paramètres de buffer

Les paramètres de buffer peuvent suivre 3 formats :

  • an: le paramètre « an » de la querystring
  • stc/my_parameter: le paramètre « my_parameter » de l 'objet « stc » de la querystring (« / » pour indiquer un niveau de sous-objet)
  • events_data_prop: la propriété « prop » de l 'objet de données des events (« _ » pour indiquer un niveau de sous-objet)

Exemple

Privacy.extendIncludeBuffer(visitorMode: "exempt", keys: "an", "ac") // buffer parameters "an" and "ac" for exempt mode
Privacy.extendIncludeBuffer(visitorMode: "optOut", keys: "stc/custom1", "stc/custom2") // buffer parameter "stc", keys "custom1" and "custom2" for optOut mode
Privacy.extendIncludeBuffer(visitorMode: "exempt", keys: "stc/custom*") // buffer parameter "stc", keys start with "custom" for exempt mode

[Privacy extendIncludeBuffer:@"exempt" keys:[NSArray arrayWithObjects:@"an", @"ac", nil]]; // buffer parameters "an" and "ac" for Exempt mode
[Privacy extendIncludeBuffer:@"exempt" keys:[NSArray arrayWithObjects:@"stc/custom1", @"stc/custom2", nil]]; // buffer parameter "stc", keys "custom1" and "custom2"
[Privacy extendIncludeBuffer:@"exempt" keys:[NSArray arrayWithObjects:@"stc/custom*", nil]]; // buffer parameter "stc", keys start with "custom"

 

extendIncludeStorage

Since 2.21.0

extendIncludeStorage(visitorMode, storageFeatureKeys)

Ajouter des stockages à la liste d 'inclusion du mode visiteur spécifié dans l 'appel

ParamTypeDescription
visitorModeStringNom du mode visiteur – sensible à la casse. Modes prédéfinis : optIn, optOut, exempt, noConsent
storageFeatureKeysStorageFeature...Clés de stockage. Disponibles : campaign, userId, privacy, identifiedVisitor, crash, lifecycle

L 'ordre d 'appel à cette méthode est important: extendIncludeStorageForVisitorMode doit être appelée avant setVisitorMode afin d 'être prise en compte.

Example

Privacy.extendIncludeStorage(visitorMode: "exempt", storageFeatureKeys: Privacy.StorageFeature.lifecycle); // Add Lifecycle storage to Exempt mode
Privacy.setVisitorMode(Privacy.VisitorMode.exempt);

[Privacy extendIncludeStorage:@"exempt" storageFeatureKeys:[NSArray arrayWithObjects:@"lifecycle", nil]]; // Add Lifecycle storage to Exempt mode
[Privacy setVisitorMode:@"exempt"];

 

Cas d’utilisation

 

Activation du mode hybride CNIL

L’activation du mode hybride exempt permet une mesure très limitée par le Tracker. Seuls les paramètres jugés « strictement nécessaires » sont mesurés.

Paramètres autorisés par défaut : s, vm, vc, mh, idclient, p, olt, vtag, ptag, ts, click, type, cn, dg, apvrmfmd, model, manufacturer, os, stc/crash/*
Paramètre autorisé depuis la 2.21.0 : ref

Stockage autorisé par défaut : privacy, userIdcrash

Bien entendu, la liste d’inclusion des paramètres peut être étendue si nécessaire. Par exemple, il est possible d’ajouter une variable personnalisée de site à cette liste si l’on considère que les données sont strictement nécessaires, en utilisant la méthode extendIncludeBuffer().

Exemple

Privacy.extendIncludeBuffer(Privacy.VisitorMode.exempt, keys: "x1") // The site indicator "x1" is added to the inclusion list

[Privacy extendIncludeBuffer:@"exempt" keys:[NSArray arrayWithObjects:@"x1", nil]];

Par défaut, les hits générés lorsque le mode Opt-out est activé sont envoyés. Vous pouvez si vous le souhaitez bloquer ces envois en surchargeant la variable de configuration du Tracker sendHitWhenOptOut.

Exemple

var tracker = ATInternet.sharedInstance.defaultTracker
tracker.setSendHitWhenOptOutEnabled(false, sync: true, completionHandler: nil) // true by default

Tracker* tracker = [[ATInternet sharedInstance] defaultTracker];
[tracker setSendHitWhenOptOutEnabled:NO sync:YES completionHandler:nil];

 

Activations d 'un mode personnalisé

Privacy.extendIncludeStorage(visitorMode: "Custom", storageFeatureKeys: Privacy.StorageFeature.lifecycle, Privacy.StorageFeature.crash)
Privacy.extendIncludeBuffer(visitorMode: "Custom", keys: "p", "vtag", "at", "ac", "events_*")
Privacy.setVisitorMode("Custom", visitorConsent: false, customUserId: nil)

[Privacy extendIncludeStorage:@"Custom" storageFeatureKeys:[NSArray arrayWithObjects:@"lifecycle", nil]];
[Privacy extendIncludeBuffer:@"Custom" keys:[NSArray arrayWithObjects:@"p", @"vtag", @"at", @"ac", @"events_*", nil]];
[Privacy setVisitorMode:@"Custom" visitorConsent:YES customUserId:nil];