Privacy Tools Guide

Privacy Audit Checklist for SaaS Companies: Guide with Templates 2026

Running a privacy audit for your SaaS product requires systematic evaluation across data handling, security controls, and regulatory compliance. This guide provides an actionable checklist with templates you can adapt for your organization.

1. Data Inventory and Classification

Before implementing any privacy controls, document what data flows through your systems.

Create a Data Asset Register

# Data asset register template
data_assets = [
    {
        "name": "Customer Email Addresses",
        "category": "Contact Information",
        "pii": True,
        "sensitivity": "low",
        "retention_period": "7_years",
        "legal_basis": "contract",
        "storage_location": "US-east-1",
        "encryption_at_rest": True,
        "encryption_in_transit": True
    },
    {
        "name": "Payment Card Information",
        "category": "Financial Data",
        "pii": True,
        "sensitivity": "high",
        "retention_period": "7_years",
        "legal_basis": "contract",
        "storage_location": "US-east-1",
        "encryption_at_rest": True,
        "encryption_in_transit": True,
        "pci_compliant": True
    }
]

Audit each data field in your database. Classify items as public, internal, confidential, or restricted based on sensitivity. This classification drives access controls and retention policies.

Map Data Flows

Document how data moves through your system:

Stage Data Type Source Destination Protection
Collection User input Web form API Gateway TLS 1.3
Processing PII API Application Server AES-256
Storage Credentials App Server Database Salted hashes
Transmission Analytics App Server Analytics Service Anonymized

Verify you have proper legal basis for each processing activity.

// Consent tracking implementation
const storeConsent = async (userId, consentType, granted) => {
  await db.consent_log.insert({
    user_id: userId,
    consent_type: consentType,
    granted: granted,
    timestamp: new Date(),
    ip_address: request.ip,
    user_agent: request.headers['user-agent'],
    policy_version: '2026.1'
  });

  await redis.setex(
    `consent:${userId}:${consentType}`,
    86400 * 365, // 1 year
    granted ? '1' : '0'
  );
};

3. Data Subject Rights Implementation

GDPR and CCPA require you to respond to user requests within specific timeframes.

Automated Response Templates

# Data subject request handler
class DataSubjectRequest:
    RESPONSE_DEADLINE = 30  # days

    def handle_deletion_request(self, user_id):
        user = self.db.get_user(user_id)

        # Identify all data stores containing user data
        tables_to_clean = [
            'users', 'user_profiles', 'user_sessions',
            'audit_logs', 'analytics_events'
        ]

        for table in tables_to_clean:
            self.db.execute(
                f"DELETE FROM {table} WHERE user_id = ?",
                [user_id]
            )

        # Handle third-party data sharing
        for vendor in self.integrations.list():
            vendor.schedule_deletion(user_id)

        # Send confirmation
        self.email.send(
            user.email,
            "Data Deletion Complete",
            f"Your data deletion request has been processed. Request ID: {uuid4()}"
        )

Rights Checklist

Right Response Time Implementation
Access 30 days Export in machine-readable format
Rectification 30 days Self-service profile editing
Erasure 30 days Cascade delete across all systems
Portability 30 days JSON/CSV export in standard format
Objection 72 hours Disable processing immediately

4. Security Controls Assessment

Evaluate your technical security measures.

Authentication and Authorization

# Security configuration audit checklist
authentication:
  mfa_required: true
  mfa_methods: [totp, hardware_key]
  password_policy:
    min_length: 14
    complexity: true
    breach_check: true
    session_timeout: 3600

authorization:
  rbac_implemented: true
  principle_of_least_privilege: true
  api_keys_rotated: 90  # days
  service_accounts_reviewed: quarterly

Encryption Standards

5. Third-Party Vendor Assessment

Your vendors directly impact your privacy compliance.

Vendor Privacy Questionnaire

## Vendor Security Assessment

1. Do you encrypt data at rest? (AES-256 required)
2. What is your incident response timeline?
3. Where is data stored? (Must match our data residency requirements)
4. Do you maintain SOC 2 Type II certification?
5. What is your data deletion process?
6. Who has access to our data?
7. Do you sub-process data? If so, with whom?
8. What is your SLA for security patches?

Vendor Risk Matrix

Vendor Data Shared Risk Level Contract Status Last Review
AWS All customer data Critical Current 2026-01
Stripe Payment data Critical Current 2026-02
SendGrid Email addresses High Current 2025-11
Analytics Usage data Medium Current 2025-12

6. Incident Response Preparation

Document your breach notification procedures.

Breach Response Workflow

async def handle_suspected_breach():
    # Step 1: Contain
    isolate_affected_systems()
    revoke_compromised_credentials()

    # Step 2: Assess
    scope = determine_breach_scope()
    affected_records = count_affected_users()

    # Step 3: Notify (within required timeframe)
    if affected_records > 500:
        notify_regulator(72)  # GDPR requirement

    for user in affected_users:
        notify_user(user, breach_details)

    # Step 4: Document
    await incident_db.create({
        'type': 'data_breach',
        'discovery_date': now(),
        'affected_count': affected_records,
        'notification_date': now(),
        'root_cause': investigation_result
    })

Incident Response Checklist

7. Documentation Requirements

Maintain evidence of compliance efforts.

Required Documentation

Document Update Frequency Retention
Data Processing Agreement On contract change Contract duration + 6 years
Privacy Impact Assessment On significant change 5 years
Consent Records Continuous 7 years
Security Logs Continuous 1 year minimum
Incident Reports Per incident 7 years
Training Records Annual 3 years

8. Regular Review Cadence

Privacy compliance is not an one-time effort.

Audit Calendar

## Quarterly Reviews
- [ ] Access control audit
- [ ] Vendor compliance verification
- [ ] Data retention policy enforcement
- [ ] Consent rate analysis

## Annual Reviews
- [ ] Complete privacy impact assessment
- [ ] Security controls penetration testing
- [ ] Policy updates for regulatory changes
- [ ] Staff privacy training refresh
- [ ] Data mapping refresh

## Event-Triggered Reviews
- [ ] New data processing activity
- [ ] Vendor change
- [ ] Security incident
- [ ] Regulatory inquiry
- [ ] Significant product changes

Built by theluckystrike — More at zovo.one