Privacy Tools Guide

GDPR Legitimate Interest: What Companies Can Do With Your Data Without Consent Explained

When you visit a website or use an application, you likely see consent banners asking you to accept cookies or agree to data processing. However, companies can process your personal data under GDPR without obtaining your consent—through a legal basis called “legitimate interest.” Understanding how this works helps you recognize what data practices are legal and what rights you actually have.

What Is Legitimate Interest Under GDPR?

Legitimate interest is one of six lawful bases for processing personal data under GDPR Article 6(1)(f). It allows companies to process your data when they have a “legitimate interest” that is not overridden by your rights and freedoms.

Unlike consent, which requires your explicit permission, legitimate interest does not require any action from you. The company makes the determination internally, though they must be able to justify it if challenged.

The Three-Part Test

Before relying on legitimate interest, companies must conduct and document a balancing test considering three elements:

  1. Purpose Test — Does the company have a legitimate reason for processing?
  2. Necessity Test — Is processing necessary to achieve that purpose?
  3. Balancing Test — Does the company’s interest outweigh potential impact on your rights?

This test must be documented and applied to each processing activity. Companies cannot simply claim legitimate interest for everything—they must demonstrate the test was applied.

Legitimate interest opens the door for several common business practices that operate without requiring your explicit permission.

Security and Fraud Prevention

Companies can process your data to detect and prevent fraud, unauthorized access, and security threats. This includes analyzing login patterns, monitoring for suspicious transactions, and maintaining systems integrity.

# Example: Fraud detection legitimate interest documentation
class LegitimateInterestAssessment:
    purpose = "Fraud detection and prevention"
    legal_interest = "Preventing financial losses and protecting other customers"

    def balance_test(self, data_subject):
        """
        Balancing test factors:
        - Processing is automated with human oversight
        - Data minimized to transaction patterns only
        - Data subject can contest decisions
        - No special category data involved
        """
        return self.data_subject_rights_preserved()

Service Improvement and Analytics

Companies analyze user behavior to improve their products and services. This includes understanding how features are used, identifying bugs, and optimizing performance. The argument: improving services benefits both the company and users.

// Example: Analytics processing under legitimate interest
const processingBasis = {
    lawfulBasis: 'legitimateInterest',
    purpose: 'Service improvement and bug detection',
    necessity: 'Requires behavioral patterns to identify UX issues',
    balancingFactors: [
        'Aggregated, non-personal data where possible',
        'Data retention limits applied',
        'User can opt-out via Do Not Track'
    ]
};

Direct Marketing (With Some Limits)

Companies can use legitimate interest for marketing to existing customers. However, GDPR specifically requires that marketing communications provide a clear opt-out mechanism. The “soft opt-in” rule also allows marketing to new customers if they initially provided contact details for a different purpose.

Network and System Security

Processing IP addresses, login timestamps, and usage logs falls under legitimate interest when used for cybersecurity purposes. This is particularly relevant for protecting against DDoS attacks, brute force attempts, and unauthorized access.

Companies can process data to establish, exercise, or defend legal claims. This includes retaining evidence for potential litigation, complying with regulatory requirements, and responding to legal requests from authorities.

What Companies Cannot Do With Legitimate Interest

Legitimate interest has clear boundaries. Companies cannot use it for:

Your Rights Under Legitimate Interest

Even when companies rely on legitimate interest, you maintain several important rights:

Right to Object

You can object to processing based on legitimate interest at any time. The company must stop processing unless they can demonstrate compelling legitimate grounds that override your interests. In practice, this means you can opt-out of many legitimate interest activities.

# Example: Submitting an objection request
curl -X POST https://api.company.com/data-rights/objection \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "request_type": "objection",
    "processing_basis": "legitimate_interest",
    "purpose": "direct_marketing"
  }'

Right to Explanation

You can ask companies to explain their legitimate interest justification. They must provide meaningful information about their balancing test. This transparency requirement is enforced by data protection authorities.

Right to Lodge a Complaint

If you believe a company’s legitimate interest claim is invalid or the balancing test was flawed, you can file a complaint with your local data protection authority. Several high-profile fines have been issued for improper legitimate interest claims.

Practical Examples for Developers

If you’re implementing legitimate interest handling in an application, here’s how to structure the documentation:

from dataclasses import dataclass
from datetime import datetime

@dataclass
class LegitimateInterestRecord:
    processing_activity: str
    purpose_legitimacy: str
    necessity_explanation: str
    balancing_factors: list
    safeguards: list
    review_date: datetime

# Example: Email service security scanning
security_scanning = LegitimateInterestRecord(
    processing_activity="Email content scanning for malware",
    purpose_legitimacy="Protect users from malicious attachments",
    necessity_explanation="Automated scanning is the only practical method to detect malware at scale",
    balancing_factors=[
        "Processing is automated with no human review of content",
        "Malware detection only - not content analysis",
        "Users can use alternative non-scanned channels",
        "Retention limited to 30 days"
    ],
    safeguards=["Data minimization", "Encryption at rest", "Access logging"],
    review_date=datetime(2026, 9, 16)
)

How to Check if Legitimate Interest Applies to You

When you encounter a privacy practice you’re unsure about, look for these indicators:

  1. Privacy policy mention — Legitimate interest should be explicitly listed with the specific purposes
  2. Opt-out options — Legitimate interest activities must offer ways to opt-out
  3. No consent mechanism — If you’re not being asked to consent, legitimate interest may apply
  4. Direct marketing — Marketing to existing customers often relies on this basis

Challenging Legitimate Interest Claims

Regulators increasingly scrutinize weak legitimate interest justifications. Here’s how to challenge them:

# Framework for evaluating legitimate interest validity

class LegitimateInterestChallenge:
    """
    EDPB Guidelines 5/2022 establish high bar for legitimate interest.
    Use this to identify weak company claims.
    """

    def evaluate_company_claim(self, company_basis: str) -> Dict[str, bool]:
        """Evaluate if company's legitimate interest claim holds up"""

        assessment = {
            'purpose_legitimate': False,
            'processing_necessary': False,
            'balancing_test_documented': False,
            'user_rights_preserved': False
        }

        # 1. Purpose legitimacy
        # Questionable: "improve user experience" (too vague)
        # Valid: "prevent DDoS attacks" (specific security threat)
        vague_purposes = [
            'improve experience',
            'personalization',
            'analytics',
            'business reasons'
        ]
        assessment['purpose_legitimate'] = not any(
            vague in company_basis.lower() for vague in vague_purposes
        )

        # 2. Necessity test
        # Company must prove processing is necessary, not just convenient
        # "We share your data with analytics because we use analytics"
        # is circular reasoning—not necessary
        assessment['processing_necessary'] = self._assess_necessity(company_basis)

        # 3. Balancing test documentation
        # Most companies cannot produce their balancing test
        # Request it: "Provide your written balancing test assessment"
        assessment['balancing_test_documented'] = self._check_documentation(company_basis)

        # 4. User rights preserved
        # Must offer easy opt-out for objection right
        assessment['user_rights_preserved'] = self._check_objection_mechanism(company_basis)

        return assessment

    def _assess_necessity(self, basis: str) -> bool:
        """Check if processing is truly necessary or just convenient"""
        # Examples of necessary: security monitoring, fraud prevention
        # Examples of convenient: behavior tracking, profiling
        necessary_keywords = [
            'prevent', 'detect', 'security', 'fraud', 'compliance',
            'legal obligation', 'essential'
        ]
        convenient_keywords = [
            'improve', 'optimize', 'enhance', 'analytics', 'insights',
            'personalize', 'recommendation'
        ]

        necessary_count = sum(1 for kw in necessary_keywords if kw in basis.lower())
        convenient_count = sum(1 for kw in convenient_keywords if kw in basis.lower())

        return necessary_count > convenient_count

    def _check_documentation(self, basis: str) -> bool:
        """Legitimate interest must include documented balancing test"""
        required_elements = [
            'company interests',
            'user interests',
            'rights and freedoms',
            'reasonable expectations',
            'balancing conclusion'
        ]
        # Most companies provide 1-2 elements, not all 5
        return sum(1 for elem in required_elements if elem in basis.lower()) >= 4

    def _check_objection_mechanism(self, basis: str) -> bool:
        """Easy opt-out mechanism required for objection right"""
        opt_out_indicators = [
            'unsubscribe',
            'opt-out',
            'object to processing',
            'manage preferences',
            'reject marketing'
        ]
        return any(indicator in basis.lower() for indicator in opt_out_indicators)

# Example: Evaluate Google's legitimate interest for behavioral targeting
google_claim = """
Google uses legitimate interest to show relevant ads.
We analyze your browsing patterns to understand interests,
which improves ad relevance and our services.
"""

challenger = LegitimateInterestChallenge()
assessment = challenger.evaluate_company_claim(google_claim)
# Result: purpose_legitimate=True, processing_necessary=False,
#         balancing_test_documented=False, user_rights_preserved=False
# Conclusion: Weak claim, likely illegal under GDPR

Filing DPA Complaints About Illegitimate Interest

If a company’s legitimate interest claim is invalid, escalate to data protection authorities:

#!/bin/bash
# Filing GDPR complaint template with your DPA

DPA_CONTACT="support@ico.org.uk"  # ICO for UK
COMPANY_NAME="Example Corporation"
PROCESSING_ACTIVITY="Behavioral tracking via cookies"

cat > complaint.txt <<'EOF'
GDPR Article 77 Complaint - Invalid Legitimate Interest Basis

Data Subject: [Your name]
Date of Complaint: [Date]
Controller: [Company name, address]
Data Protection Authority: [ICO/CNIL/etc]

SUMMARY OF VIOLATION

The above controller is processing my personal data under the legitimate interest
basis (GDPR Article 6(1)(f)) without a valid balancing test. This processing lacks:

1. Documented necessity assessment
2. Written balancing test comparing controller interests vs. data subject rights
3. Clear indication of reasonable expectations
4. Accessible objection mechanism

EVIDENCE

1. Privacy policy states "[quote from privacy policy]" but provides no balancing test
2. No documented legitimate interest assessment provided despite formal request
3. Objection mechanism not provided despite request
4. Similar companies achieve same purpose through less intrusive means

LEGAL BASIS FOR COMPLAINT

- GDPR Article 6(1)(f) - legitimate interest must be valid and documented
- GDPR Article 13 - transparency requires disclosure of legitimate interest basis
- EDPB Guidelines 5/2022 - sets high bar for legitimate interest validity

RELIEF SOUGHT

- Cease processing based on invalid legitimate interest basis
- Provide documented balancing test assessment or delete data
- Implement proper objection mechanism
- Compensate for processing without valid legal basis (Article 82)

I request investigation and enforcement action under Article 84 GDPR.

[Your signature and details]
EOF

# Mail to DPA
mail -s "GDPR Complaint - Invalid Legitimate Interest" "$DPA_CONTACT" < complaint.txt

Recent DPA Decisions on Legitimate Interest

Several authorities have ruled against companies’ legitimate interest claims:

Meta (Facebook) - 2023 EDPB Decision: Behavioral advertising targeting not justified by legitimate interest. Users cannot “reasonably expect” behavioral profiling. Meta forced to switch to consent-based model in EU.

Google - Germany 2022: Refused to accept “service improvement” as legitimate interest for cross-site tracking. Tracking was disproportionate to stated benefit.

LinkedIn - EDPB Opinion: Rejecting emails to non-members for marketing violated proportionality test, even if legitimate interest existed.

These decisions show regulators skeptical of broad “improvement” and “analytics” justifications. Companies must prove necessity, not just convenience.

Built by theluckystrike — More at zovo.one