Privacy Tools Guide

Secure client financial data with full-disk encryption (FileVault, LUKS), use password managers with audit trails, and restrict network access to known secure servers. Implement segregated networks, disable USB ports, set automatic screen lock (5 minutes), use encrypted email (PGP), and establish clear data retention/deletion policies to comply with GLBA and state laws.

Threat Model for Accountants

Before implementing controls, identify what you’re protecting against. Accountants typically face:

Data Breaches: Client financial databases, spreadsheets, and tax documents are high-value targets for identity thieves. A single leaked client list can expose hundreds of Social Security numbers and account details.

Insider Threats: Staff members, IT administrators, or cleaning personnel with physical access to machines can exfiltrate data if proper access controls aren’t in place.

Interception: Unencrypted email, compromised WiFi networks, and man-in-the-middle attacks on cloud accounting platforms can expose sensitive client communications.

Regulatory Exposure: Failure to implement reasonable security measures can trigger compliance violations under GLBA, state data breach notification laws, and professional standards.

Your goal is implementing defense-in-depth: multiple layers of protection where no single failure compromises client data.

Encrypted Storage Configuration

All client data must rest on encrypted storage. Full-disk encryption protects against physical theft, while file-level encryption secures individual documents.

macOS FileVault Setup

# Check FileVault status
sudo fdesetup status

# Enable FileVault (requires admin privileges)
sudo fdesetup enable

Enable FileVault on every machine handling client data. Without it, a stolen laptop exposes unencrypted client files. The encryption key derives from your login password—use a strong passphrase and enable automatic login lock (5 minutes or less).

Linux LUKS Encryption

For Linux workstations, configure LUKS full-disk encryption during installation or convert existing systems:

# Check existing encryption
sudo cryptsetup status

# Create encrypted container for sensitive files
sudo cryptsetup luksFormat /dev/sdb1
sudo cryptsetup luksOpen /dev/sdb1 secure_volume
sudo mkfs.ext4 /dev/mapper/secure_volume
sudo mount /dev/mapper/secure_volume /mnt/secure_data

Mount this encrypted volume only when actively working with client files, then unmount immediately after.

Veracrypt for Portable Data

When sharing encrypted files with clients or transporting sensitive documents:

# Create Veracrypt container (command-line)
veracrypt --create --size=500M --password=your_secure_password \
  --hash=sha-512 --encryption=aes /home/user/client_data.tc

Always use containers rather than encrypting entire drives—this reduces the attack surface and makes backup management simpler.

Password Manager Configuration for Client Access

Client financial accounts require rigorous credential management. Use a dedicated password manager with organization features designed for multi-client workflows.

Bitwarden Organizations for Client Separation

Create separate Bitwarden organizations for each major client or client group:

{
  "name": "Client Acme Corp - Financial",
  "collections": [
    "Bank Accounts",
    "Payroll Systems",
    "Tax Portals",
    "Insurance"
  ],
  "access_all": false
}

This isolation ensures that credentials for one client never accidentally expose another client’s systems. Configure collection-level permissions so staff only access collections relevant to their work.

Service Account Credential Management

Many accounting workflows involve service accounts—shared credentials for banking portals, tax software, or payroll systems that multiple staff members access:

# Store service account credentials with audit logging
# Using Bitwarden CLI
bw get item "client-acme-bank-portal" | jq '.notes'

# Rotate service passwords every 90 days
# Document rotation in audit log

Implement a rotation schedule enforced through calendar reminders. Never share service account passwords through email, Slack, or unencrypted messaging.

Secure Communication Channels

Client communication frequently involves sensitive data. Email is inherently insecure—SMTP transmits messages in plaintext between servers. Implement encrypted alternatives.

ProtonMail for Client Email

ProtonMail provides zero-access encryption where Proton itself cannot read your messages. This protects against both network interception and provider compromise:

  1. Create dedicated accounts for client communication
  2. Enable two-factor authentication (U2F hardware key preferred)
  3. Configure auto-expire messages containing highly sensitive data

Signal for Real-Time Communication

For urgent client communications requiring immediate response, Signal provides end-to-end encryption with minimal metadata:

# Verify phone number registration (out of band)
# 1. Client sends you a Signal message
# 2. You call client to verify phone number matches
# 3. Enable disappearing messages for sensitive discussions

Configure disappearing messages (24-hour default) to minimize data retention on devices.

Secure File Transfer

Never attach sensitive documents to email. Use encrypted transfer mechanisms:

// Example: Proton Drive share link API call
const shareLink = await protonDrive.createShareLink({
  folderId: "client_tax_2025",
  expirationDays: 7,
  password: "client-specific-password", // share separately
  maxDownloads: 3
});

Network Security and VPN Usage

When working from client sites, coffee shops, or remote locations, network traffic requires protection.

VPN Configuration

Route all traffic through a reputable VPN when accessing client systems from public networks:

# WireGuard configuration for client work
[Interface]
PrivateKey = <your-private-key>
Address = 10.0.0.2/32
DNS = 1.1.1.1, 1.0.0.1

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

Choose VPN providers with verified no-logging policies and RAM-only servers. Avoid free VPNs—they often monetize through data collection.

DNS Configuration

Prevent DNS-based tracking and tampering by configuring secure DNS:

# systemd-resolved configuration for encrypted DNS
# /etc/systemd/resolved.conf
[Resolve]
DNS=1.1.1.1 1.0.0.1
DNSOverHTTPS=yes
DNSSEC=yes
FallbackDNS=9.9.9.9

This ensures DNS queries—the websites you visit—travel encrypted rather than in plaintext.

Browser Isolation for Financial Portals

Dedicate browser profiles or containers exclusively for client financial portals to prevent cross-site tracking and credential leakage.

Firefox Multi-Account Containers

// containers.json configuration
{
  "containers": [
    { "name": "Client-Banking", "color": "blue", "icon": "briefcase" },
    { "name": "Client-Tax", "color": "red", "icon": "folder" },
    { "name": "General-Research", "color": "green", "icon": "search" }
  ]
}

Assign each major client’s banking portals to dedicated containers. This prevents cookies from one client’s site leaking to another—a critical isolation requirement.

Browser Hardening for Financial Sites

Apply strict security settings to financial browsing contexts:

// user.js snippet for privacy.resistFingerprinting
user_pref("privacy.resistFingerprinting", true);
user_pref("webgl.disabled", true);
user_pref("geo.enabled", false);
user_pref("network.cookie.cookieBehavior", 1); // reject third-party
user_pref("privacy.trackingprotection.enabled", true);

Test that financial portals remain functional after enabling these settings—some may require exceptions.

Audit Logging and Access Monitoring

Maintain logs of who accessed what data and when. This supports both security monitoring and compliance requirements.

File Access Auditing (Linux)

# Enable audit logging for client data directory
auditctl -w /mnt/secure_data/client_files -p rwxa -k client_data_access

# Query access logs
ausearch -k client_data_access -ts recent

Password Manager Audit Trails

Configure Bitwarden to log vault access:

# Bitwarden Enterprise/Teams audit logging
# Events tracked: item view, item edit, item deletion,
#                vault access, export attempts

Review access logs weekly to identify unusual patterns—multiple failed attempts, access from unfamiliar IP addresses, or after-hours activity.

Implementation Checklist

Complete these steps to establish your accountant privacy setup:

  1. Enable full-disk encryption on all workstations (FileVault/LUKS)
  2. Deploy password manager with client-specific organizations
  3. Configure secure email (ProtonMail) for client communications
  4. Set up VPN for all remote work scenarios
  5. Implement browser isolation with containers or dedicated profiles
  6. Enable audit logging for file access and credential retrieval
  7. Document procedures for incident response and client notification
  8. Test recovery—verify you can access your own systems after implementing these controls

This setup balances security with usability. The goal isn’t perfect security—it’s making your client data significantly harder to compromise than alternatives, while maintaining the workflow efficiency your practice requires.


Built by theluckystrike — More at zovo.one