privacy-ux

Automate iOS privacy manifests and just-in-time permission UX.

1.1k|81|Updated Nov 30, 2025
One-click install
npx skills add https://github.com/CharlesWiltgen/Axiom --skill privacy-ux
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: privacy-ux
Source: https://github.com/CharlesWiltgen/Axiom/tree/main/.claude-plugin/plugins/axiom/skills/privacy-ux
Command: npx skills add https://github.com/CharlesWiltgen/Axiom --skill privacy-ux

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Patterns for privacy manifests, permission UX, ATT, and Privacy Nutrition Labels to help users understand data usage clearly.

Core Features & Use Cases

  • Privacy manifests (PrivacyInfo.xcprivacy), tracking domain management, and Required Reason APIs.
  • Just-in-time permission UX and ATT integration.
  • Preparing accurate Privacy Nutrition Labels for App Store Connect.

Quick Start

Create a PrivacyInfo.xcprivacy manifest and implement ATT UX for a camera permission flow.

Frequently Asked Questions about privacy-ux

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a privacy manifest for my iOS app?

A privacy manifest is a PrivacyInfo.xcprivacy file that declares data collection and API usage in your iOS app. Create it in Xcode 15+ by adding NSPrivacyCollectedDataTypes and NSPrivacyAccessedAPITypes to specify what data you collect and which Required Reason APIs you access, then submit it to App Store Connect alongside your Privacy Nutrition Label.

What's the difference between ATT and privacy manifests?

App Tracking Transparency (ATT) is a user permission prompt for tracking consent on iOS 14.5+, while privacy manifests declare all data collection and API usage regardless of tracking status. Both are required: ATT gates ad tracking, manifests provide complete transparency about data handling in your Privacy Nutrition Label.

How do I implement just-in-time permission prompts for camera access?

Just-in-time permission UX shows permission requests only when users actually need a feature, not at app launch. Implement it by triggering permission prompts immediately before accessing the camera, pair it with ATT integration for iOS 14.5+, and document the access reason in your privacy manifest's NSPrivacyAccessedAPITypes.

Do I need to manage tracking domains in iOS 17+?

iOS 17+ automatically blocks tracking domains declared in your privacy manifest, so you must list all third-party domains that track user activity. Declare them in NSPrivacyTracking within your PrivacyInfo.xcprivacy file; this prevents your app from being rejected during App Store review.

What are Required Reason APIs and why do they matter?

Required Reason APIs are system functions like file access or calendar queries that iOS restricts and requires you to declare a legitimate business reason for using. List them in NSPrivacyAccessedAPITypes within your privacy manifest; without declaring reasons, your app will be rejected during review.

Can I use privacy manifests with App Store Connect's Privacy Nutrition Label?

Yes, privacy manifests feed directly into your Privacy Nutrition Label on App Store Connect. The NSPrivacyCollectedDataTypes and NSPrivacyAccessedAPITypes declarations you make in your PrivacyInfo.xcprivacy file automatically populate and validate your disclosure, ensuring consistency between your manifest and public label.