Privacy Tools Guide

In M&A due diligence, conduct privacy assessments to identify data protection liabilities, undisclosed breaches, and non-compliant processing practices. Analyze database schemas for PII, trace data flows to third parties, verify encryption in transit/at rest, and document retention policies to avoid “successor liability” for privacy violations inherited from the target company.

Understanding the Privacy Stakes in M&A Transactions

Acquiring a company means inheriting its data protection liabilities. Under regulations like GDPR, CCPA, and sector-specific laws such as HIPAA, the acquiring entity can be held responsible for data protection violations that occurred before the acquisition. This concept, sometimes called “successor liability,” means that privacy gaps in the target company’s data handling practices become your problem post-acquisition.

The due diligence phase represents your best opportunity to identify these risks. A thorough privacy assessment during M&A due diligence can reveal:

Technical Data Inventory Requirements

A proper privacy due diligence process begins with understanding what data the target company collects, stores, and processes. This requires a technical inventory that goes beyond simple data classification.

Developers should examine the target’s data infrastructure with specific attention to:

Database Schema Analysis: Review database schemas to identify personal data storage patterns. Look for tables containing customer information, employee records, and any data that might qualify as personally identifiable information (PII) under applicable regulations.

-- Example query to identify potential PII columns
SELECT table_name, column_name, data_type
FROM information_schema.columns
WHERE column_name LIKE '%email%'
   OR column_name LIKE '%phone%'
   OR column_name LIKE '%name%'
   OR column_name LIKE '%address%'
   OR column_name LIKE '%ssn%'
   OR column_name LIKE '%dob%';

Data Flow Mapping: Trace how personal data moves through the system. This includes API endpoints, inter-service communications, and data transfers to third parties. Document any encryption in transit and at rest.

Retention Policies: Check whether the target company has documented data retention policies and, more importantly, whether those policies are actually implemented in code. Orphaned data tables or forgotten backup files frequently become compliance liabilities.

Compliance Verification Checklist

During due diligence, technical teams should verify specific compliance areas. The following checklist provides a structured approach:

Review the target’s consent management implementation. This includes checking whether cookie banners, terms of service acceptances, and marketing opt-ins are properly implemented and auditable.

// Example: Checking consent storage implementation
function verifyConsentMechanism(consentRecord) {
  const required = ['timestamp', 'ip_address', 'consent_type', 'version'];

  for (const field of required) {
    if (!consentRecord[field]) {
      console.error(`Missing required field: ${field}`);
      return false;
    }
  }

  // Verify consent is tied to specific privacy policy version
  if (!consentRecord.policy_version) {
    console.error('No policy version linked to consent');
    return false;
  }

  return true;
}

Data Subject Rights Implementation

Assess whether the target company can fulfill data subject rights requests. This includes the technical capability to:

Third-Party Processor Agreements

Review all third-party data processing relationships. Each processor should have a Data Processing Agreement (DPA) that includes specific contractual provisions required by GDPR Article 28 and similar regulations.

Cross-Border Data Transfer Assessment

Modern businesses frequently transfer personal data across borders. During M&A due diligence, you must identify:

  1. Transfer mechanisms: Determine whether the target uses Standard Contractual Clauses (SCCs), Binding Corporate Rules (BCRs), or adequacy decisions for international data transfers.

  2. Data localization requirements: Some jurisdictions require certain data types to remain within specific geographic boundaries. Identify any such constraints that might affect post-acquisition integration.

  3. Privacy Shield or equivalent certifications: If the target relies on certifications for data transfers, verify current status and any pending reviews.

# Example: Assessment script for transfer mechanism documentation
def assess_transfer_compliance(data_flows):
    transfer_issues = []

    for flow in data_flows:
        if flow['destination_country'] != flow['source_country']:
            if not flow.get('transfer_mechanism'):
                transfer_issues.append({
                    'flow_id': flow['id'],
                    'issue': 'No documented transfer mechanism',
                    'source': flow['source_country'],
                    'destination': flow['destination_country']
                })
            elif flow['transfer_mechanism'] == 'sccs':
                if not flow.get('scc_version'):
                    transfer_issues.append({
                        'flow_id': flow['id'],
                        'issue': 'SCC version not specified'
                    })

    return transfer_issues

Security Incident History Review

Request documentation of all security incidents, including attempted breaches, successful unauthorized accesses, and any ransomware attacks. Pay particular attention to:

Regulators increasingly scrutinize how companies handle incidents during the M&A process. A history of poor incident response can trigger additional scrutiny even for unrelated current practices.

Integration Planning Considerations

Once you’ve completed the privacy due diligence assessment, integrate your findings into the overall acquisition planning. Key considerations include:

Remediation Timeline: Identify privacy gaps that require fixing before closing versus issues that can be addressed post-integration. Prioritize items with regulatory exposure or potential for significant fines.

Integration Architecture: Plan how to consolidate data systems while maintaining compliance. This often requires careful mapping of consent records, retention schedules, and data subject rights capabilities across both organizations.

Resource Allocation: Ensure the combined entity has sufficient privacy engineering resources to handle increased complexity. This includes staff for data subject rights requests, privacy impact assessments, and ongoing compliance monitoring.

Technical assessments should be documented in formats that support legal review. Create summary documents that translate technical findings into risk assessments suitable for legal counsel and deal teams.

The privacy requirements for mergers and acquisitions due diligence represent a complex intersection of technical capability, regulatory compliance, and business risk. For developers and technical teams, this process requires both defensive thinking—identifying what could go wrong—and constructive planning—designing integration approaches that maintain compliance while achieving business objectives.

By conducting thorough privacy due diligence, organizations can avoid inheriting unexpected liabilities and establish a solid foundation for post-acquisition integration. The investment in technical assessment during due diligence pays dividends through smoother integrations and reduced regulatory exposure.

Encryption Audit Procedures

Verify encryption implementation across systems:

#!/bin/bash
# Encryption assessment script

# Check TLS configuration
echo "Checking TLS versions and ciphers..."
nmap --script ssl-enum-ciphers -p 443 target.example.com

# Verify certificate validity
echo "Verifying certificates..."
openssl s_client -connect target.example.com:443 -servername target.example.com | \
  openssl x509 -noout -text | grep -E "Subject:|Validity|Public-Key"

# Check database encryption
echo "Checking database encryption..."
# For MySQL
mysql -u root -p -e "SHOW GLOBAL VARIABLES LIKE '%ssl%';"

# For PostgreSQL
psql -U postgres -c "SHOW ssl;"

# Check data at rest encryption
echo "Checking filesystem encryption..."
# For AWS
aws ec2 describe-volumes --query "Volumes[*].[VolumeId,Encrypted]"

# For on-premises
mount | grep -E "ext4|btrfs" | grep -i encrypt

Document consent management effectiveness:

// Script to audit consent implementation
async function auditConsentManagement() {
  const issues = [];

  // Check for cookie banner on first visit
  const hasCookieBanner = document.querySelector('[data-cookiebanner]');
  if (!hasCookieBanner) {
    issues.push('No cookie banner detected on initial page load');
  }

  // Verify consent options (not just accept)
  const rejectButton = document.querySelector('button[data-reject-cookies]');
  if (!rejectButton) {
    issues.push('No reject option for cookies (only accept-all)');
  }

  // Check for pre-checked boxes
  const checkboxes = document.querySelectorAll('input[type="checkbox"][data-consent]');
  for (let cb of checkboxes) {
    if (cb.checked && !cb.disabled) {
      issues.push(`Consent checkbox pre-checked: ${cb.id}`);
    }
  }

  // Verify cookie storage
  const consentRecord = localStorage.getItem('user_consent');
  if (!consentRecord) {
    issues.push('No consent record stored');
  } else {
    const consent = JSON.parse(consentRecord);
    if (!consent.timestamp || !consent.version) {
      issues.push('Consent record missing timestamp or version');
    }
  }

  return issues;
}

Data Retention Policy Verification

Ensure documented policies are actually implemented:

def verify_retention_implementation(database_connection):
    """
    Check if documented retention policies are actually enforced
    """
    issues = []

    # Get documented retention policies
    documented_policies = {
        'user_activity_logs': 90,  # days
        'audit_logs': 365,
        'customer_email': None,  # permanent
        'temp_cache': 7,
    }

    for table, retention_days in documented_policies.items():
        # Check if table has retention implementation
        query = f"""
        SELECT COUNT(*) as old_records
        FROM {table}
        WHERE created_at < NOW() - INTERVAL '{retention_days} days'
        """

        cursor = database_connection.cursor()
        cursor.execute(query)
        result = cursor.fetchone()

        if result['old_records'] > 0:
            issues.append({
                'table': table,
                'policy': f'{retention_days} days',
                'actual_oldest_record': 'exceeds policy',
                'count_violating': result['old_records']
            })

    return issues

Post-Acquisition Privacy Integration

After due diligence, plan integration:

privacy_integration_timeline:

  pre_closing_30_days:
    - Finalize privacy gap remediation
    - Obtain regulatory pre-approval if needed
    - Document all integration approaches
    - Train integration teams on privacy risks

  closing_day:
    - Execute transition documentation
    - Transfer DPA agreements to acquirer
    - Notify data subjects if required
    - Update privacy policies

  week_1_to_2:
    - Merge user databases with full audit trail
    - Verify consent records transferred correctly
    - Test data subject access request procedures
    - Confirm encryption keys migrated

  month_1_to_3:
    - Full privacy impact assessment of combined entity
    - Update data flow diagrams
    - Consolidate privacy documentation
    - Run compliance verification against integrated system

  ongoing:
    - Monthly compliance monitoring
    - Quarterly privacy audits
    - Annual comprehensive assessment

Tool Recommendations for Due Diligence

Privacy Assessment Tools:

Technical Audit Tools:

Database Analysis:

Team Composition for Privacy Due Diligence

Effective due diligence requires cross-functional expertise:

Budget 3-6 months for thorough privacy due diligence on mid-sized companies (100+ employees).

Built by theluckystrike — More at zovo.one