The "AART" Shadow Permission System
Apple's App Tracking Transparency (ATT) gives users a simple choice: allow or deny tracking. Facebook doesn't just check this. It maintains an entirely parallel permission system called AART that tracks your consent status independently of Apple's system.
Binary Evidence
getFBAARTPermissionStatusFacebook's own tracking permission status -- separate from Apple's ATT
hasSeenAARTOnPermanently records whether AART was ever enabled -- even if later revoked
DeviceInsightsPreviousFBAARTPermissionStatusKeyTracks changes in permission status -- profiles users who revoke consent
ios_has_seen_aart_on / ios_fb_aart_status / fb_aart_permission_statusThree separate persistence keys for tracking AART state
Decompiled Session Start (0x100083904)
This function runs on every session start and builds a payload combining Apple's permission with Facebook's shadow system:
FBBlockAndFetchDeviceIDFromKeychain() // Pull persistent device ID
familyDeviceID = [sharedInstance familyDeviceID] // Cross-app ID
// Check BOTH permission systems:
[FBAdTrackingManager getTrackingAuthorizationStatus] // Apple's ATT
[FBAdTrackingManager hasSeenAARTOn] // Facebook's shadow
[FBAdTrackingManager getFBAARTPermissionStatus] // Facebook's permission
// Count privacy settings visits:
FBPreferencesGetInteger(kPrivacyFlowSessionCounterKey, 1)
// Bundle into JSON and send:
[NSDictionary dictionaryWithObjects:forKeys:count:]
[result JSONString] Why This Matters
Even when you tell Apple "Ask App Not to Track," Facebook maintains its own record of your permission decisions, tracks when you changed your mind, and permanently records whether you ever allowed tracking. Your "no" to Apple is just one data point in Facebook's richer model of your consent behavior.