Privacy Tools Guide

Crossing an international border with a smartphone requires more preparation than charging your device and packing a travel adapter. Border agencies in high-surveillance countries have broad legal powers to inspect, copy, and analyze device contents. For developers and power users who store API keys, encryption tools, or sensitive client data on their phones, a well-executed preparation strategy prevents data exposure and legal complications.

This security checklist covers practical steps to harden your device before crossing borders in high-surveillance regions. The focus is on actionable measures—backups, encryption verification, app management, and border-specific configurations—that you can implement immediately.

Backup Everything Before Departure

The single most important step is a complete backup. If border agents require you to unlock your device or if they seize it temporarily, you need a secure copy of your data elsewhere.

Create an encrypted local backup using your platform’s native tools. On iOS, connect to a Mac and use Finder or Xcode to create an encrypted backup. On Android, use ADB to pull critical directories:

# Android: Pull specific directories to encrypted external storage
adb pull /sdcard/Documents/ ./backup-documents/
adb pull /sdcard/Downloads/ ./backup-downloads/

Store this backup on encrypted external storage or a secure cloud service that uses zero-knowledge encryption. Verify the backup is accessible from a separate device before your trip.

Verify Full-Disk Encryption Status

Both iOS and Android enable encryption by default when a passcode is set, but verification matters. On Android, check encryption status in Settings → Security → Encryption. On iOS, encryption is tied to the Secure Enclave—ensure Find My iPhone is enabled, as it protects the encryption keys.

For developers using file-based encryption (FBE) on Android 10+, understand that decryption requires your screen lock credential. Choose a strong passcode—at least 6 characters with mixed types—and avoid patterns or simple PINs.

Audit Installed Apps

Review every installed application. Border agents may question specific apps, and some applications can create legal complications depending on the destination country.

Remove or disable:

For apps you must keep, verify they don’t store sensitive credentials in plaintext. Developer tools like Termux, iSH, or Bluestacks often contain SSH keys or API tokens. Either remove these tools or move sensitive configs to encrypted containers before travel.

Clear Browser Data and Session Tokens

Browser data reveals significant information about your activities. Clear cookies, local storage, and cached credentials:

# iOS: Clear Safari data via Settings → Safari → Clear History and Website Data
# Android Chrome: Settings → Privacy → Clear browsing data

Disable auto-fill for passwords and addresses. Remove saved login credentials for sensitive services. If you use a password manager, ensure its database requires authentication at launch rather than auto-unlocking.

For developers who use browser-based developer tools or local development servers, shut down all running local services and clear any localhost bindings that might expose internal services.

Manage Cloud Sync and Remote Wipe Capabilities

Cloud services can be accessed by border agents if they have your device and you authenticate. Before crossing borders:

  1. Sign out of cloud services (iCloud, Google Drive, Dropbox, OneDrive)
  2. Disable automatic sync for sensitive applications
  3. Verify Find My iPhone / Find My Device is functional—this enables remote wipe if the device is seized

Consider turning off iCloud Keychain and Google Smart Lock. When these services are active, agents can potentially request Apple or Google to provide data related to your account.

Airplane Mode and Network Isolation

At the border itself, airplane mode becomes your primary defense. Enable it before approaching immigration:

# Android (ADB, if you need to automate)
adb shell settings put global airplane_mode_on 1

# iOS Shortcut automation (create before travel)
# Add action: Set Airplane Mode → On

Airplane mode disables cellular, WiFi, and Bluetooth radios. This prevents:

Use Secondary Devices Strategically

Many security professionals travel with a dedicated “border device”—a stripped-down phone containing minimal data. This device is:

This approach limits exposure if the device is inspected or confiscated. Your primary device stays powered off in checked luggage or at home.

Prepare for Device Inspection Scenarios

Understand the legal framework of your destination. Some countries can compel device decryption; others may simply copy data and return the device later.

Practical preparations:

For developers with code repositories on the device, ensure no private keys or deployment credentials remain. Use SSH agent forwarding from a separate key that you can revoke remotely if needed.

Post-Crossing Verification

After crossing the border, perform immediate security checks:

  1. Change passwords for any accounts accessed during travel
  2. Review device for unexpected apps or configurations
  3. Check cloud accounts for unauthorized access
  4. Run malware scans if you suspect the device was tampered with
  5. Rotate any API keys or credentials that may have been exposed

Consider a full device wipe and restore from your encrypted backup if you have any concerns about device integrity.

Detailed Backup and Recovery Procedures

Creating secure backups requires systematic approach:

Step 1: Identify critical data

Step 2: Create encrypted backup

# macOS: Using built-in encryption
# Create encrypted disk image
hdiutil create -type SPARSE -encryption AES-256 \
  -size 50g -fs APFS -volname "Border Backup" \
  ~/Desktop/border_backup.sparsebundle

# Mount image
hdiutil attach ~/Desktop/border_backup.sparsebundle

# Copy critical files
cp -r ~/ssh ~/.ssh /Volumes/Border\ Backup/
cp ~/important-docs/* /Volumes/Border\ Backup/

# Unmount when done
hdiutil eject /Volumes/Border\ Backup

Step 3: Test recovery Before travel, ensure you can actually recover:

# Test decryption and file access
hdiutil attach ~/Desktop/border_backup.sparsebundle
ls /Volumes/Border\ Backup/
# If this works, recovery is possible
hdiutil eject /Volumes/Border\ Backup

Step 4: Store securely

Never carry all backups with you to the border.

Technical Deep Dive: Encryption Verification

Before relying on device encryption, verify it’s actually enabled:

iOS Encryption Check:

# iPhone encryption is tied to Secure Enclave
# Verify Secure Enclave is active:
# Settings → Privacy & Security → Lockdown Mode → Check Status

# If Lockdown Mode is available, Secure Enclave is active
# All data is encrypted

# Verify Find My is enabled (protects encryption keys):
# Settings → [Apple ID] → Find My → Find My iPhone → On

Android Encryption Check:

# Android 10+: Full Disk Encryption (FDE) or File-Based Encryption (FBE)
# Check status via:
# Settings → Security → Encryption Status

# View technical details:
adb shell getprop ro.crypto.state
# Should return "encrypted"

adb shell getprop ro.crypto.type
# Should return "block" (FDE) or "file" (FBE)

If encryption is not enabled, enable it before traveling:

# iOS: Set strong passcode (Settings → Face ID & Passcode)
# Encryption activates automatically with passcode

# Android: Settings → Security & Privacy → Encryption
# Follow on-screen prompts (may take hours)
# Do NOT restart device during this process

App-Specific Data Removal

Different apps store sensitive data in different locations:

SSH/Development Tools:

# Remove SSH keys (can be regenerated after border)
rm -rf ~/.ssh/

# Verify removal:
[ ! -f ~/.ssh/id_rsa ] && echo "SSH keys removed"

# Remove local git credentials
git config --global user.name ""
git config --global user.email ""
rm ~/.gitcredentials

API Tokens and Credentials:

# Find config files containing credentials
grep -r "api_key\|token\|secret" ~/.config/ ~/.local/ 2>/dev/null

# Remove or redact them
# Be methodical—missing a token can compromise accounts

Cryptocurrency and Financial Apps:

Development Environments:

Use this script to audit config files:

#!/bin/bash
# Audit for sensitive information before border

echo "Auditing for sensitive information..."

# Search in common config locations
for dir in ~/.config ~/.ssh ~/.local ~/.kube ~/.aws ~/.docker; do
  if [ -d "$dir" ]; then
    echo "=== Checking $dir ==="
    grep -r "password\|secret\|key\|token" "$dir" 2>/dev/null | head -20
  fi
done

echo "Review above output and remove sensitive data"

Custom Shortcut Automation for iOS

iOS Shortcuts can automate border preparation:

// iOS Shortcut: Border Preparation Automation
// Run this shortcut before arriving at border

import Foundation

// Create shortcut with these actions:
// 1. Set Airplane Mode: ON
// 2. Ask "Proceed with border mode?"
// 3. If Yes:
//    - Ask for device passcode confirmation
//    - Turn off Bluetooth
//    - Turn off WiFi
//    - Set Do Not Disturb: ON
//    - Show notification: "Device is in border mode"
// 4. If No: Cancel

// Save as "Border Mode" shortcut
// Add to Lock Screen for quick access

This provides one-tap activation of all protective measures.

Understanding your legal rights depends on destination:

US Border (CBP Authority):

UK Border:

EU Borders (varies by country):

Canada:

Practical recommendation: Store a card with your rights in your travel documents:

[Your jurisdiction] Border Search Rights Card

I understand border agents may search my device.
I do not consent to searches, but understand I cannot legally refuse.
I request to speak with a lawyer before any extended searches.
I do not consent to sharing my passwords or unlock methods.

[Your lawyer's contact information]

Post-Border Device Verification

After crossing the border, verify device integrity:

# Immediate checks (within 1 hour of crossing)

# 1. Check device logs for unusual activity
log show --last 1h | grep -i "security\|app\|network"

# 2. List recently installed apps
# iOS: Settings → General → iPhone Storage (sort by size, look for new apps)
# Android: Settings → Apps → Installation time

# 3. Check permissions granted to apps
# iOS: Settings → Privacy (Review each category)
# Android: Settings → Apps & Notifications → Permissions

# 4. Review location access history
# iOS: Settings → Privacy → Location Services (check for unexpected access)
# Android: Settings → Privacy → Location (check timeline)

# 5. Check iCloud/Google Account Security
# Log into your accounts from separate device
# Review: Recent activity, connected devices, authorized locations
# Look for logins from unusual locations/times

Advanced Threat Scenarios

For travelers with sophisticated threat models:

Scenario 1: Nation-state threat (dissident, journalist)

Scenario 2: Corporate espionage threat

Scenario 3: Border agent wants to copy device

Device Restoration and Recovery

After border crossing, proper restoration reduces risks:

# Recommended: Full device reset

# iOS:
# Settings → General → Transfer or Reset → Erase All Content and Settings
# (Choose "Erase iPhone" from Recovery Mode for complete reset)
# Then restore from encrypted backup (not cloud backups from before border)

# Android:
# Settings → System → Reset → Erase All Data
# Or ADB: adb shell pm reset

# After reset:
# 1. Set up device fresh (no cloud restoration initially)
# 2. Reinstall essential apps one at a time
# 3. Wait 24 hours, observe for suspicious behavior
# 4. Only then restore data from backups
# 5. Update all credentials and passwords

This “clean room” restoration approach detects malware introduced at border.

Credential Rotation Checklist

After suspected device compromise:

# Immediate (within 1 hour)
- [ ] Change banking passwords (from separate, trusted device)
- [ ] Change email password (all email accounts)
- [ ] Change social media passwords

# Within 24 hours
- [ ] Change work/company passwords
- [ ] Rotate API keys for services accessed from device
- [ ] Generate new SSH keys (if old ones were on device)
- [ ] Rotate database credentials
- [ ] Update 2FA phone number if sim-swapped

# Within 1 week
- [ ] Update cryptocurrency keys (if non-hardware-wallet holding)
- [ ] Review and revoke authorized apps (Google, Apple, GitHub, etc.)
- [ ] Enable login notifications on all accounts
- [ ] Check for unauthorized payment methods in accounts

# Ongoing
- [ ] Monitor accounts for unusual activity
- [ ] Set calendar reminder to rotate passwords quarterly

Insurance and Liability Considerations

Developers traveling should understand liability implications:

Recommended documentation:

# Before departure: Create device audit log
date > border_travel_log.txt
uname -a >> border_travel_log.txt
sw_vers >> border_travel_log.txt  # macOS
lsb_release -a >> border_travel_log.txt  # Linux/Android
find ~ -type f -newermt "2024-01-01" | wc -l >> border_travel_log.txt

# At border: If searched, ask for written documentation
# Request: "Please provide written documentation of what was accessed/copied"

# After border: Document findings
date >> border_travel_log.txt
echo "Device searched by [Border Agency]" >> border_travel_log.txt
echo "Duration: [time]" >> border_travel_log.txt
echo "Post-search findings: [any suspicious changes]" >> border_travel_log.txt

Built by theluckystrike — More at zovo.one