Adapter Votre SDK iOS à l'ITP de Safari et à la Prévention du Suivi (FR)
La Prévention Intelligente du Suivi (ITP) de Safari et d'autres fonctionnalités de confidentialité évoluent constamment, posant des défis aux SDK iOS qui s'appuient sur des méthodes de suivi traditionnelles.
Adoptez le Contexte PropriétaireL'ITP de Safari restreint fortement les cookies tiers. Concevez votre SDK iOS pour fonctionner dans un contexte propriétaire chaque fois que possible, en tirant parti des solutions côté serveur ou de l'intégration directe.
Privilégiez les Identifiants Respectueux de la Vie PrivéeAbandonnez les identifiants persistants et intersites. Concentrez-vous sur les identifiants éphémères ou consentis par l'utilisateur, en respectant les paramètres de confidentialité de l'utilisateur et le cadre de la Transparence du Suivi des Applications d'Apple.
Implémentez des Solutions de Repli RobustesAnticipez que certains points de données ou mécanismes de suivi pourraient être bloqués. Construisez votre SDK avec une dégradation gracieuse et des stratégies de repli pour maintenir les fonctionnalités de base même lorsque l'ITP est active.
Restez Informé des Politiques d'AppleL'ITP et les politiques de confidentialité sont dynamiques. Consultez régulièrement la documentation des développeurs et les mises à jour de confidentialité d'Apple pour vous assurer que votre SDK reste conforme et efficace.
La Prévention Intelligente du Suivi (ITP) de Safari a fondamentalement remodelé le paysage du suivi web, en particulier pour les développeurs s'appuyant sur les cookies tiers et les identifiants persistants. Pour les SDK iOS, cela présente un ensemble unique de défis, surtout lors de l'intégration avec des vues web ou la gestion de la communication inter-domaines. L'engagement continu d'Apple envers la confidentialité des utilisateurs, renforcé par des fonctionnalités comme la Transparence du Suivi des Applications (ATT) et des politiques plus strictes en matière de collecte de données, signifie que les développeurs de SDK doivent adapter de manière proactive leurs stratégies pour assurer la fonctionnalité, maintenir l'intégrité des données et respecter le consentement de l'utilisateur.
Cet article de blog explore les subtilités de l'ITP et des mécanismes de confidentialité similaires au sein de Safari sur iOS, offrant des informations exploitables et des exemples pratiques pour optimiser votre SDK. Notre objectif est de vous aider à construire des SDK résilients et respectueux de la vie privée qui non seulement fonctionnent de manière fiable, mais aussi favorisent la confiance des utilisateurs dans un monde numérique de plus en plus soucieux de la confidentialité.
Comprendre l'ITP de Safari et son Impact sur les SDK iOS
La Prévention Intelligente du Suivi (ITP) est un ensemble de technologies améliorant la confidentialité intégrées à Safari (et WebKit). Sa fonction principale est de limiter le suivi intersite en restreignant l'utilisation des cookies et d'autres formes de données de sites web par des tiers. Au fil des ans, l'ITP a évolué à travers plusieurs itérations, chacune introduisant des contrôles plus stricts :
- Blocage des cookies tiers : L'aspect le plus significatif. L'ITP partitionne ou bloque agressivement les cookies tiers, rendant difficile pour les annonceurs et les fournisseurs d'analyses de suivre les utilisateurs sur différents sites web.
- API Storage Access : Introduite comme un moyen respectueux de la vie privée pour les contenus intégrés de demander l'accès à leur stockage propriétaire lorsqu'un utilisateur interagit avec eux.
- Protections contre la décoration de liens : L'ITP peut également supprimer les paramètres de suivi des URL pour empêcher le suivi via la décoration de liens.
- Politique de référent : Safari envoie souvent une politique de référent plus restrictive (par exemple,
strict-origin-when-cross-origin), limitant la quantité d'informations transmises aux sites tiers. - Prévention du suivi de rebond éphémère : Identifie et atténue les techniques où les traqueurs redirigent les utilisateurs via leur site pour définir des cookies propriétaires.
Pour les SDK iOS, en particulier ceux qui interagissent avec du contenu web (par exemple, navigateurs intégrés à l'application, flux d'authentification, passerelles de paiement ou analyses intégrées), l'impact de l'ITP peut être profond. Si votre SDK s'appuie sur la définition ou la lecture de cookies à partir d'un domaine tiers au sein d'un WKWebView, ou s'il s'attend à ce que certaines informations de référent soient transmises, l'ITP peut casser ces mécanismes, entraînant :
- Échec des processus d'authentification ou de paiement.
- Données d'attribution ou d'analyse inexactes.
- Expériences utilisateur dégradées en raison d'informations d'état ou de session manquantes.
Stratégies pour le Développement de SDK iOS à l'Épreuve de l'ITP
S'adapter à l'ITP nécessite un changement de mentalité, passant du suivi traditionnel à la gestion des données centrée sur la confidentialité. Voici les stratégies clés :
1. Privilégier le Contexte Propriétaire et les Solutions Côté Serveur
Le moyen le plus efficace de contourner les restrictions de l'ITP sur les cookies tiers est d'opérer dans un contexte propriétaire. Cela signifie que le domaine qui définit le cookie ou accède au stockage est le même que le domaine que l'utilisateur consulte actuellement.
Exemple Pratique : Suivi Côté Serveur pour l'Analyse
Au lieu de vous fier à un script d'analyse tiers intégré à votre WKWebView qui tente de définir ses propres cookies, envisagez une approche côté serveur :
- Le SDK collecte les données : Votre application iOS (ou le contenu web de votre
WKWebView) collecte les données d'interaction utilisateur pertinentes (par exemple, produit consulté, bouton cliqué). - Envoi des données à votre backend : Ces données sont envoyées directement à votre propre serveur backend.
- Le backend transmet au fournisseur d'analyse : Votre backend transmet ensuite ces données à l'API de votre fournisseur d'analyse. Puisque cette communication se fait de serveur à serveur, elle contourne les restrictions de l'ITP sur les cookies côté client.
Cette approche vous donne un contrôle total sur les données, garantit qu'elles sont envoyées de manière fiable et n'est pas soumise à la prévention du suivi côté navigateur.
2. Utiliser l'API Storage Access pour les Besoins Transversaux
Lorsque vous avez absolument besoin d'accéder à des cookies intersites au sein d'un WKWebView intégré (par exemple, pour l'authentification unique avec un fournisseur d'identité), l'API Storage Access est la méthode approuvée et respectueuse de la vie privée. Cette API permet au contenu tiers de demander l'autorisation explicite à l'utilisateur d'accéder à son stockage propriétaire.
Exemple Pratique : SSO Transparent dans WKWebView
Imaginez que votre SDK intègre un WKWebView pour un flux d'authentification qui doit accéder aux cookies de votre fournisseur d'identité (IDP) pour réaliser le SSO. Sans l'API Storage Access, Safari bloquerait ces cookies.
Côté client (au sein de votre contenu web intégré) :
document.requestStorageAccess().then(function() {
// L'accès au stockage est accordé, vous pouvez maintenant effectuer des requêtes qui utilisent des cookies
// par exemple, charger l'iframe SSO ou effectuer une requête XHR à l'IDP
}).catch(function() {
// L'accès au stockage a été refusé ou une interaction utilisateur est requise
// Gérer gracieusement, peut-être revenir à une connexion par redirection complète
});
SDK iOS (WKUIDelegate et WKNavigationDelegate) :
Vous devrez gérer l'invite utilisateur que Safari présente. La méthode WKUIDelegate webView:requestMediaCapturePermissionFor:initiatedBy:decisionHandler: (ou des demandes d'autorisation similaires) pourrait être invoquée, mais pour l'accès au stockage, l'invite est généralement gérée par Safari lui-même. Assurez-vous que votre WKWebViewConfiguration est correctement configurée, en particulier websiteDataStore.
3. Adopter des Identifiants Respectueux de la Vie Privée et le Consentement de l'Utilisateur
Avec la Transparence du Suivi des Applications (ATT), Apple exige le consentement explicite de l'utilisateur pour le suivi entre les applications et les sites web appartenant à d'autres entreprises. Votre SDK doit respecter cela. Éloignez-vous de la dépendance aux identifiants d'appareil persistants à des fins de suivi sans consentement.
Exemple Pratique : Gérer l'ATT et l'IDFA
Si votre SDK s'appuyait auparavant sur l'Identifiant pour les Annonceurs (IDFA) pour l'attribution ou le ciblage :
- Demander l'autorisation ATT : Utilisez
AppTrackingTransparency.frameworkpour demander l'autorisation de l'utilisateur avant d'accéder à l'IDFA. - Utilisation conditionnelle de l'IDFA : Ne récupérez et n'utilisez l'IDFA que si l'utilisateur accorde l'autorisation.
- Identifiants alternatifs : Si l'autorisation est refusée, utilisez des identifiants éphémères spécifiques au contexte (par exemple, un ID de session) ou des ID non persistants générés par le serveur qui ne sont pas utilisés pour le suivi intersite.
Exemple Swift :
import AppTrackingTransparency
import AdSupport
func requestTrackingAuthorization() {
if #available(iOS 14, *) {
ATTrackingManager.requestTrackingAuthorization { status in
switch status {
case .authorized:
let idfa = ASIdentifierManager.shared().advertisingIdentifier.uuidString
print("IDFA: \(idfa)")
// Utiliser l'IDFA pour le suivi consenti
case .denied, .notDetermined, .restricted:
print("Autorisation ATT refusée ou non déterminée.")
// S'appuyer sur d'autres méthodes respectueuses de la vie privée
@unknown default:
break
}
}
} else {
// Solution de repli pour les versions d'iOS antérieures à 14
// Vérifier si le suivi est activé via ASIdentifierManager.shared().isAdvertisingTrackingEnabled
}
}
Comment Didit vous Aide
Didit, en tant que plateforme d'identité tout-en-un, s'aligne intrinsèquement sur une approche axée sur la confidentialité, la rendant robuste contre l'ITP et les mécanismes de prévention du suivi similaires. Notre objectif principal est de vérifier les humains réels en toute sécurité, et non le suivi intersite. L'architecture de Didit est conçue pour gérer la vérification d'identité, la biométrie, la détection de fraude et l'authentification au sein d'un système unique et contrôlé, minimisant la dépendance aux cookies de suivi tiers. Nous y parvenons en :
- Intégration propriétaire : Les SDK et les API de Didit sont conçus pour une intégration directe et propriétaire dans votre application, garantissant que les processus de vérification d'identité se déroulent dans le contexte de votre application, contournant largement les préoccupations de l'ITP liées au suivi intersite.
- Traitement côté serveur : De nombreuses capacités robustes de Didit, telles que le filtrage AML et l'analyse des signaux de fraude, fonctionnent de serveur à serveur. Cela signifie que le traitement des données sensibles et les contrôles d'identité se produisent en toute sécurité sur notre backend, éliminant les vulnérabilités de suivi côté client.
- Biométrie éphémère : Didit traite les données biométriques en mémoire et les supprime, ne renvoyant que des résultats booléens à votre application. Cette approche de « confidentialité dès la conception » signifie que nous ne stockons pas d'identifiants biométriques persistants pour le suivi, s'alignant parfaitement sur les objectifs de l'ITP.
- Flux d'authentification sécurisés : Nos méthodes d'authentification, y compris la ré-authentification biométrique, sont conçues pour être sécurisées et privées, utilisant des mécanismes de défi-réponse qui ne dépendent pas des cookies intersites pour la gestion de l'état.
- Conformité et confiance : Étant conforme SOC 2 Type II, ISO 27001 et RGPD, Didit est construit sur une base de confidentialité et de sécurité des données, ce qui rend naturellement notre plateforme résiliente aux changements des technologies de prévention du suivi.
Prêt à Commencer ?
Adapter votre SDK iOS à l'ITP de Safari et au paysage plus large de la confidentialité n'est pas seulement une question de conformité ; il s'agit de bâtir la confiance avec vos utilisateurs et d'assurer la longévité de votre produit. En adoptant les contextes propriétaires, en tirant parti des API appropriées comme Storage Access, en privilégiant le consentement de l'utilisateur et en restant informé des politiques évolutives d'Apple, vous pouvez créer un SDK robuste et respectueux de la vie privée.
Découvrez comment la plateforme d'identité axée sur la confidentialité de Didit peut simplifier votre conformité et améliorer l'expérience utilisateur. Visitez notre site web, consultez notre documentation technique, ou demandez une démo pour voir Didit en action.