Privacy Tools Guide

Immigration activists protecting undocumented community members must use Signal for encrypted communications, Tor for all internet traffic, separate devices for organizing work, encrypted databases with minimal personal identifying information, and legal frameworks that destroy records after retention periods. Anticipate geographic tracking, social network analysis, communication interception, and device seizures at borders or protests. This guide provides technical implementations including secure communications architecture, database design, access controls, and operational security practices for protecting vulnerable community members from enforcement surveillance.

Understanding the Threat ecosystem

Immigration enforcement agencies employ sophisticated digital surveillance tools. Activists and organizers should anticipate:

The threat model requires protecting not only yourself but every community member whose information passes through your networks.

Secure Communications Architecture

End-to-End Encrypted Messaging

Signal remains the gold standard for encrypted communications. For immigration activist groups, configure these settings in Signal:

# Signal desktop configuration location (Linux)
~/.config/Signal/

Enable these critical settings:

  1. Registration Lock - Requires PIN to re-register on new devices
  2. Disappearing Messages - Set to 24 hours or less for sensitive conversations
  3. Screen Lock - Enable within Signal app settings
  4. Relay Calls - Route calls through Signal servers to hide IP addresses

For groups requiring additional metadata protection, consider running your own Signal SMLS server, though this requires significant technical resources.

Email Encryption with GPG

When email communication is necessary, implement GPG encryption:

# Generate a GPG key with modern encryption
gpg --full-generate-key

# Select:
# RSA and RSA (default)
# 4096 bits
# Key expiration: 2 years
# Include your name and activist email (consider using a pseudonym)

# Export your public key for sharing
gpg --export --armor your-email@example.com > your-key.asc

# Encrypt a message for a recipient
gpg --encrypt --armor --recipient recipient@example.com message.txt

Maintain separate keys for activist work and personal communications. Never reuse keys across contexts.

Data Protection for Member Databases

Local-First Architecture

Avoid cloud services that could be subpoenaed. Implement local-first data storage:

// Example: Encrypted local database with SQLCipher
const Database = require('sqlcipher');
const db = new Database('members.db');

// 256-bit AES encryption key derived from passphrase
const key = crypto.pbkdf2Sync(passphrase, salt, 256000, 32, 'sha512');
db.key(key);

// Store member information encrypted at rest
db.run(`
  CREATE TABLE members (
    id INTEGER PRIMARY KEY,
    name_encrypted TEXT,
    contact_encrypted TEXT,
    notes_encrypted TEXT,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP
  )
`);

Secure File Storage

Use Cryptomator for transparent folder encryption:

# Install cryptomator-cli for headless operation
# Create an encrypted vault programmatically

vault_path="/home/activist/encrypted-vault"
mkdir -p "$vault_path"
cryptomator create "$vault_path" --password-file=/path/to/vault-password.txt

For sensitive documents, maintain air-gapped backups on encrypted USB drives stored in secure locations separate from primary work spaces.

Network-Level Protection

VPN Configuration for Sensitive Work

Configure VPN to route all traffic through encrypted tunnels:

# WireGuard configuration example
[Interface]
PrivateKey = <your-private-key>
Address = 10.0.0.2/32
DNS = 10.0.0.1

[Peer]
PublicKey = <server-public-key>
Endpoint = your-vpn-server.example.com:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

Select VPN providers with:

Tor Browser for Sensitive Research

When researching immigration-related topics or accessing information about legal rights:

# Verify Tor Browser signature before use
gpg --keyserver pool.sks-keyservers.net --recv-keys 0x4E2C6E3D
gpg --verify tor-browser.tar.gz.asc tor-browser.tar.gz

Configure Tor Browser with:

Device Security Hardening

Mobile Device Configuration

# Android: Disable unnecessary radios when not in use
# Use automation apps like Tasker to toggle based on location

# Disable WiFi scanning
settings put wifi_scan_interval -1

# Disable Bluetooth discovery
settings put bluetooth_discoverable_timeout 0

# Enable encrypted DNS
settings put private_dns_provider 3
settings put private_dns_specifier dns.example.com

Implement these mobile security practices:

  1. Separate work and personal devices - Use a dedicated phone for activist communications
  2. Enable full-disk encryption - Available on all modern Android and iOS devices
  3. Use privacy screens - Prevents shoulder surfing in public spaces
  4. Disable cloud backup - iCloud and Google backup can expose sensitive data
  5. Remove social media apps - These collect extensive location and behavioral data

Computer Hardening

# Linux: Enable automatic security updates
sudo apt update && sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

# Enable firewall
sudo ufw enable

# Disable unnecessary services
sudo systemctl disable bluetooth.service
sudo systemctl disable cups.service

# Enable disk encryption during installation (LUKS)

Operational Security Practices

Communication Hygiene

Information Sharing Protocols

# Create secure temporary sharing links (self-hosted)
# Use OnlyOffice or Cryptpad for collaborative documents

# Avoid: Google Drive, Dropbox, or standard cloud sharing
# These services can be subpoenaed and may not resist jurisdiction overreach

# Implement: Nextcloud with end-to-end encryption
docker run -d -p 8080:80 \
  -e NEXTCLOUD_ADMIN_USER=admin \
  -e NEXTCLOUD_ADMIN_PASSWORD=secure-password \
  -v nextcloud_data:/var/www/html \
  nextcloud:fpm-alpine

Physical Security Integration

Digital security fails without physical security:

Incident Response Planning

Prepare for potential device seizure or account compromise:

  1. Enable remote wipe - Find My Device (iOS) or Find My Device (Android)
  2. Document incident procedures - Know who to contact if detained
  3. Maintain encrypted backups - Offline backups prevent data loss from remote wipe
  4. Establish pre-agreed communication plans - If detained, how do others know?

Built by theluckystrike — More at zovo.one