Privacy Tools Guide

Review every iOS privacy setting with step-by-step walkthrough: disable tracking (advertising ID), restrict location services (turn off location-based suggestions and significant locations), block cross-site tracking in Safari, manage app permissions, and review app privacy reports to see which apps access your data.

Privacy & Security Overview

Tracking Settings

Allow Apps to Request to Track - This master toggle controls whether apps can request permission to track your activity across other companies’ apps and websites. When disabled, all apps receive a prompt indicating tracking is not allowed. Individual app permissions become irrelevant since no app can request tracking data. For maximum privacy, keep this OFF and manually reset the advertising identifier periodically.

Reset Advertising Identifier - Tapping this clears the advertising ID (IDFA) and associates new random identifiers with your device. Advertisers lose historical tracking data linked to your previous identifier. Consider resetting this every few months or after sensitive browsing sessions.

Location Services

Location Services manages which apps and system features can access your precise or approximate location. Navigate to Settings → Privacy & Security → Location Services to review:

Location Accuracy - When enabled, apps with location permission can use GPS, Bluetooth, and Wi-Fi for precise location. Disable for apps that don’t need exact positioning to reduce location fingerprinting.

Share My Location - This system-wide feature lets family members see your location via Find My. Disable if you don’t use Family Sharing or want complete location anonymity.

System Services - Scroll to the bottom to find dozens of location-based system features:

Analytics & Improvements

Share iPhone Analytics - Sends diagnostic and usage data to Apple. While Apple states this data is anonymized, it still reveals device behavior patterns. Disable for privacy-focused configurations.

Share Crash Data - Sends crash reports to developers if you have third-party apps installed. Disable unless you’re actively debugging apps.

Improve Siri & Dictation - Allows Apple to review voice recordings to improve speech recognition. Disable to prevent voice data from being sent to Apple servers.

Safari Privacy Settings

Privacy & Security Section

Prevent Cross-Site Tracking - This enables Intelligent Tracking Prevention (ITP), which uses on-device machine learning to identify and block tracking cookies. Keep enabled for web privacy.

Hide IP Address from Trackers - Prevents trackers from seeing your IP address. Apple routes these requests through its servers, anonymizing your connection. Enable for enhanced browsing privacy.

Fraudulent Website Warning - Checks websites against known phishing databases. This sends URLs to Google’s Safe Browsing service. Disable if you want complete URL privacy (at increased phishing risk).

Experimental Features

Force Private Click Measurement - Enables Apple’s privacy-preserving attribution for ad clicks. Keeps advertising functional while limiting cross-site tracking.

App Privacy Reports

iOS 17+ includes App Privacy Reports that show how apps use granted permissions. Enable this feature to monitor:

Navigate to Settings → Privacy & Security → App Privacy Report to enable and review.

Network Security Settings

VPN

VPN Configurations - Shows active VPN connections. Review installed VPN profiles monthly to remove unused configurations. Prioritize reputable providers with verified no-log policies.

Wireless Options

Auto-Join Wi-Fi - Determines whether your device automatically connects to known networks. Disable to prevent accidental connections to malicious hotspots in public places.

Auto-Join Wi-Fi - Set to “Ask to Join Networks” or disable entirely for sensitive configurations.

Passwords & Security

Password Manager

Passwords - iCloud Keychain stores passwords securely with end-to-end encryption. Ensure “Password Options” are configured:

Two-Factor Authentication

Two-Factor Authentication - Critical security setting. Ensure this is enabled for your Apple ID in Settings → [Your Name] → Sign-In & Security.

Sensitive Content Settings

Communication Safety

Communication Safety - Apple’s feature that detects nudity in Messages. When enabled, it can optionally warn children about sensitive content. This processes images on-device using machine learning.

Sensitive Content Warning - Similar feature for all users, blur potentially sensitive images in Safari and Messages. Disable if you prefer unfiltered content.

Screen Time (Privacy Implications)

Screen Time - Contains detailed usage analytics including app usage, websites visited, and device activity. These reports stay on-device by default but back up with iCloud if enabled. Review iCloud sync settings in Screen Time to ensure usage data isn’t being stored externally.

Emergency & Safety Features

Emergency SOS

Emergency SOS - Configures rapid emergency calling. The “Auto Call” feature automatically calls emergency services when you press the side button five times. This is recommended to keep enabled for safety.

Medical ID

Medical ID - Stores medical information accessible from the lock screen. Review what information is shared and ensure it’s accurate for emergency responders.

Data & Privacy Apple Resources

Apple provides a Data & Privacy portal at privacy.apple.com where you can:

# iOS privacy audit checklist — run these checks via iCloud API (requires authentication)
# or use Apple Configurator 2 on macOS to inspect managed device profiles

# List installed configuration profiles on a supervised iOS device via MDM API
curl -s -X POST https://your-mdm-server/mdm   -H 'Content-Type: application/json'   -d '{"RequestType": "ProfileList", "UDID": "device-udid-here"}'

# On macOS, check if any profiles are installed on a paired iPhone
cfgutil --ecid ECID_HERE get -f ProfileList

# Review iOS sysdiagnose for privacy-relevant settings (diagnostic only)
# Settings -> Privacy & Security -> App Privacy Report -> export
# Then parse the exported JSON to audit app data access patterns
python3 -c "
import json
with open('AppPrivacyReport.json') as f:
    report = json.load(f)
for app in report.get('privacyAccessedBundleIdentifiers', []):
    print(app['bundleIdentifier'], app.get('types', []))
"

Verifying VPN Leak Protection

Before trusting any VPN for sensitive browsing, verify that DNS and WebRTC leaks are absent.

# Check for DNS leaks via CLI
curl -s https://am.i.mullvad.net/json | python3 -m json.tool

# Test WebRTC leak (requires browser extension or:)
# Open https://browserleaks.com/webrtc with VPN active
# Your VPN IP should appear, not your real IP

# Confirm kill-switch is active on Linux
iptables -L OUTPUT -n | grep -E "DROP|REJECT"

Run these tests immediately after connecting and again after a brief network disruption. A good kill-switch blocks all traffic when the tunnel drops, not just new connections.

Split Tunneling Configuration

Split tunneling lets you route only specific apps through the VPN while leaving other traffic on your regular connection.

# Mullvad CLI split tunneling example
mullvad split-tunnel add /usr/bin/curl
mullvad split-tunnel list

# On Linux with NetworkManager, exclude a subnet:
nmcli connection modify "VPN-Name"   ipv4.routes "10.0.0.0/8"   ipv4.never-default yes

Use split tunneling for high-bandwidth streaming while keeping your browser and messaging apps tunneled. Never split-tunnel password managers or banking apps.

Developer-Focused API Privacy Auditing

For developers and security professionals, iOS provides diagnostic tools to audit privacy configurations programmatically. The App Privacy Report data can be extracted and analyzed:

App Privacy Report API: iOS 17+ provides an Activity API that allows your own apps to check privacy permissions:

import AppKit

// Check if app has location permission
let locationPermission = PrivacyManager.locationAccessLevel()

// Permission levels:
// .notDetermined - never asked
// .denied - user denied access
// .denied - user denied access (temporary, for this app)
// .allowed - always allow
// .allowedWhenInUse - only when using app

switch locationPermission {
case .allowedAlways:
    print("App has continuous location access")
case .allowedWhenInUse:
    print("App can access location only while in use")
case .denied:
    print("Location access denied")
case .notDetermined:
    print("Privacy choice not yet made")
}

Examining Network Privacy: Monitor DNS and VPN usage on your device:

# On macOS, check active VPN profiles
networksetup -listallvpnservices

# Monitor DNS resolution with mDNSResponder
sudo log stream --level debug --predicate 'process == "mDNSResponder"'

# Check secure DNS configuration
dns -configuration show

Privacy Hardening for High-Risk Scenarios

Standard settings provide good privacy for most users. For journalists, activists, or high-risk users, additional hardening is necessary:

Disable iCloud Sync Entirely: Navigate to Settings > [Your Name] > iCloud and turn off syncing for:

Enable Advanced Data Protection: Available in Settings > [Your Name] > iCloud > Advanced Data Protection. This provides end-to-end encryption for sensitive data:

- Notes and memos
- Photos and videos
- Health records
- Contacts
- Calendar
- Reminders

Use Airplane Mode + Cellular: For maximum privacy during sensitive work, enable Airplane Mode, then selectively re-enable Cellular only when needed. This prevents background WiFi connectivity and location triangulation:

# iOS WiFi scan enumeration prevention
# Settings > WiFi > Turn WiFi completely off, not just "disconnect"
# This prevents passive WiFi beacon scanning

Restrict Bluetooth: Bluetooth enables proximity tracking. Disable it except when actively using Bluetooth devices:

Settings > Bluetooth > Turn completely off

Photo Privacy: Strip EXIF data from photos before sharing:

# On macOS connected to iPhone, use ImageMagick to strip metadata
mogrify -strip /path/to/photo.jpg

# Or use ExifTool
exiftool -all= -overwrite_original /path/to/photo.jpg

Testing Privacy Settings Effectiveness

Verify your privacy configuration actually works:

Check Internet Connectivity Isolation:

# Monitor all DNS queries on your network
sudo tcpdump -i en0 -n 'udp port 53'

# Use privacy-focused DNS analyzers
# Tools like DNSCrypt can proxy and verify all DNS resolution

Verify Clipboard Access Prevention:

Test Location Privacy:

Privacy Configuration Backup

Export your privacy settings for documentation:

# On macOS, extract iOS privacy configuration from device backup
sqlite3 ~/Library/Application\ Support/MobileSync/Backup/*/Health/health.db \
  "SELECT * FROM privacy_categories;"

Built by theluckystrike — More at zovo.one*