跳到正文
cccskills
免费在 GitHub 公开

managing-mobile-app-consent

Guide for mobile-specific consent management covering Apple ATT framework for iOS, Android permission model, in-app consent flows, SDK consent propagation to third-party libraries, and IDFA/GAID handling. Addresses platform-specific requirements alongside GDPR and ePrivacy compliance for mobile applications.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(5)

  • SKILL.md7.7 KB
  • assets/template.md2.0 KB
  • references/standards.md2.6 KB
  • references/workflows.md3.6 KB
  • scripts/process.py8.3 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Managing Mobile App Consent

Overview

Mobile applications present unique consent challenges: platform-level permission systems (Apple ATT, Android runtime permissions), advertising identifiers (IDFA/GAID), SDK-level data collection by third-party libraries, and limited screen real estate for consent interfaces. Compliance requires coordination between GDPR/ePrivacy requirements and platform-specific privacy frameworks.

Apple App Tracking Transparency (ATT) Framework

Requirements (iOS 14.5+, enforced April 2021)

Apple's ATT framework requires apps to request user permission before tracking across apps and websites owned by other companies. Key aspects:

  • NSUserTrackingUsageDescription: Apps must include a purpose string in Info.plist explaining why tracking is needed.
  • ATTrackingManager.requestTrackingAuthorization(): Must be called before accessing IDFA or performing tracking.
  • IDFA Access: The Identifier for Advertisers (IDFA) returns all zeros unless the user grants ATT permission.
  • Tracking Definition: Apple defines "tracking" as linking user/device data from your app with data from other companies' apps/websites for advertising or sharing with data brokers.

CloudVault SaaS Inc. ATT Implementation

Purpose String (NSUserTrackingUsageDescription): "CloudVault uses this identifier to measure the effectiveness of our advertising campaigns and provide relevant ads. You can change this in Settings at any time."

Pre-Permission Prompt (shown before ATT dialog): CloudVault SaaS Inc. displays a custom pre-permission screen explaining the value exchange before triggering the system ATT dialog:

"Help us improve CloudVault by allowing measurement of our advertising. This helps us understand which ads brought you here and improve our marketing spend. Your data is never sold. You can change this choice in iOS Settings at any time."

[Continue] → triggers ATTrackingManager.requestTrackingAuthorization()

ATT States and Handling

ATT StatusMeaningCloudVault Action
.notDeterminedUser hasn't been asked yetShow pre-permission screen, then request
.authorizedUser allowed trackingEnable IDFA access, attribution SDKs
.deniedUser denied trackingDisable IDFA, use SKAdNetwork for attribution
.restrictedTracking restricted by parental controls/MDMDo not request, use SKAdNetwork

Android Permission Model and Privacy Changes

Android 13+ (API 33) Ad ID Changes

  • AD_ID Permission: Apps must declare com.google.android.gms.permission.AD_ID in AndroidManifest.xml to access Google Advertising ID (GAID).
  • Google Play Requirements: Apps targeting children must not access GAID.
  • User Reset: Users can reset or delete their GAID in Android Settings.

Android Privacy Sandbox (In Development)

Google's Privacy Sandbox for Android introduces:

  • Topics API: Returns coarse-grained interest topics (replaces FLoC for mobile)
  • Attribution Reporting API: Privacy-preserving ad attribution (similar to SKAdNetwork)
  • FLEDGE: On-device ad auctions without cross-app tracking

CloudVault SaaS Inc. Android Implementation

<!-- AndroidManifest.xml -->
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>

GAID is only accessed if the user has granted consent for advertising purposes through the in-app consent flow. If consent is not granted, GAID is not read.

In-App Consent Flow Design

First Launch Consent

App First Launch
  │
  ├─► Step 1: Welcome screen with privacy summary
  │     "Welcome to CloudVault. Before you get started,
  │      let's set up your privacy preferences."
  │     [Set Up Privacy]
  │
  ├─► Step 2: Layered consent screen
  │     ├─ Purpose 1: Analytics [Toggle, OFF by default]
  │     │   "Help us improve CloudVault by sharing anonymous usage data"
  │     │   [Learn More] → detailed Art. 13 information
  │     │
  │     ├─ Purpose 2: Advertising Measurement [Toggle, OFF by default]
  │     │   "Measure which ads brought you to CloudVault"
  │     │   [Learn More] → detailed information + ATT context
  │     │
  │     ├─ Purpose 3: Crash Reporting [Toggle, OFF by default]
  │     │   "Share crash reports to help us fix bugs faster"
  │     │   [Learn More] → data types, retention
  │     │
  │     └─ "You can change these at any time in Settings > Privacy"
  │
  ├─► Step 3: Record consent decisions
  │     ├─ Per-purpose consent records (standard fields)
  │     ├─ Platform: iOS/Android
  │     ├─ OS version, app version, device model
  │     └─ SDK consent propagation (see below)
  │
  ├─► Step 4: Platform-specific follow-up
  │     ├─ iOS: If advertising consent granted → trigger ATT dialog
  │     └─ Android: If advertising consent granted → access GAID
  │
  └─► Step 5: Proceed to app
        └─ SDKs initialized based on consent state

SDK Consent Propagation

Third-party SDKs in the CloudVault mobile app must respect user consent:

SDKPurposeData CollectedConsent RequiredPropagation Method
Firebase AnalyticsUsage analyticsEvents, screen views, device infopur_analytics_001FirebaseAnalytics.setAnalyticsCollectionEnabled(granted)
CrashlyticsCrash reportingStack traces, device statepur_crash_003FirebaseCrashlytics.setCrashlyticsCollectionEnabled(granted)
AppsFlyerAttributionIDFA/GAID, install referrerpur_advertising_002AppsFlyerLib.start() only if consented
Google AdMobAdvertisingIDFA/GAID, device infopur_advertising_002MobileAds.setRequestConfiguration() with consent

SDK Initialization Pattern

SDKs must not be initialized before consent is obtained. CloudVault SaaS Inc. implements a "consent gate":

  1. App launches → load only essential SDKs (no tracking)
  2. Consent flow completes → read consent state
  3. For each SDK: initialize only if corresponding purpose is consented
  4. If consent is later withdrawn: disable SDK data collection (where SDK API supports it) or defer to next app restart

IDFA and GAID Handling

IdentifierPlatformWhen to AccessWhen NOT to Access
IDFAiOSATT status = .authorized AND pur_advertising_002 consentedATT denied/restricted OR advertising consent not granted
GAIDAndroidpur_advertising_002 consented AND AD_ID permission declaredAdvertising consent not granted OR app targets children

Key Regulatory References

  • GDPR Article 5(3) via ePrivacy Directive — Consent for device storage access
  • GDPR Article 7 — Conditions for consent (apply to in-app consent)
  • Apple ATT Framework Documentation — App Tracking Transparency requirements
  • Apple App Store Review Guideline 5.1.2 — Data Use and Sharing
  • Google Play Developer Policy — Advertising ID and User Data
  • CNIL Mobile Privacy Guidelines (2023) — Mobile-specific consent requirements
  • EDPB Guidelines 05/2020 — Consent in mobile context

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Implements 42 CFR Part 2 protections for substance use disorder patient records. Covers written consent requirements stricter than HIPAA, re-disclosure prohibition, court order procedures, qualified service organization agreements, and 2024 amendments aligning Part 2 with HIPAA. Keywords: 42 CFR Part 2, substance use disorder, SUD records, re-disclosure, consent, Part 2 amendments.

中文简介正在准备中。当前显示原文说明。

mukul975/Privacy-Data-Protection-Skills3172026年3月17日 更新

Guides assessment of third-country adequacy decisions under GDPR Article 45 for international data transfers. Covers the current EC adequacy decisions list, adequacy assessment criteria, partial adequacy handling, and monitoring of adequacy decision reviews. Keywords: adequacy decision, Article 45, third country, adequate protection, EC adequacy list.

中文简介正在准备中。当前显示原文说明。

mukul975/Privacy-Data-Protection-Skills3172026年3月17日 更新

Implements age-gating mechanisms for online services to restrict access based on user age. Covers hard gates versus soft gates, neutral age prompts, re-verification triggers, circumvention prevention, and regulatory requirements under GDPR, COPPA, UK Online Safety Act, and DSA. Keywords: age gate, age restriction, neutral prompt, children, online services, access control.

中文简介正在准备中。当前显示原文说明。

mukul975/Privacy-Data-Protection-Skills3172026年3月17日 更新

Evaluates and implements age estimation and verification technologies for online services. Covers facial age estimation, digital ID verification, self-declaration with risk assessment, AI-based age estimation, and the accuracy versus privacy tradeoff. Includes ICO guidance and euCONSENT framework. Keywords: age verification, age estimation, facial analysis, digital ID, children, online safety.

中文简介正在准备中。当前显示原文说明。

mukul975/Privacy-Data-Protection-Skills3172026年3月17日 更新

Preparing EU AI Act compliance documentation for high-risk AI systems. Covers Annex III classification, technical documentation under Art. 11, conformity assessment, risk management systems, and CE marking requirements. Keywords: EU AI Act, high-risk AI, Annex III, conformity assessment, CE marking.

中文简介正在准备中。当前显示原文说明。

mukul975/Privacy-Data-Protection-Skills3172026年3月17日 更新

Implements GDPR Art. 22 automated decision-making and AI Act Art. 14 human oversight requirements for AI systems. Covers identification of solely automated decisions, meaningful human intervention design, logic explanation mechanisms, and contestation procedures. Keywords: Art. 22, automated decision, human oversight, AI Act, profiling, contestation.

中文简介正在准备中。当前显示原文说明。

mukul975/Privacy-Data-Protection-Skills3172026年3月17日 更新

查看 mukul975 的全部技能

报告此技能的问题