Privacy Tools Guide

Facial recognition search engines have become a significant privacy concern for developers and security-conscious users. Services like Pimeyes and Clearview AI scrape publicly available images and index them using biometric facial templates, allowing anyone to upload a photo and find matching images across the internet. This guide covers the technical aspects of opt-out requests, automation patterns for monitoring, and strategies for protecting your digital identity.

Understanding How Facial Recognition Search Works

Before diving into opt-out procedures, understanding the underlying technology helps you craft more effective removal requests. These services operate in three stages: image collection, facial template extraction, and searchable indexing.

The collection phase involves crawling social media profiles, public databases, news sites, and anywhere else your images might appear. Once collected, computer vision algorithms detect faces and generate a mathematical representation—a facial template—that can be compared against other images. This template is stored in a database, making your face searchable without your consent.

Clearview AI has built one of the largest facial recognition databases by scraping billions of public images from the web. Pimeyes focuses more narrowly on reverse image search functionality, allowing users to find where their photos appear online. Both services have faced legal challenges, but they continue to operate in various jurisdictions.

Opting Out from Pimeyes

Pimeyes provides an official opt-out form that allows individuals to request removal of their facial data. The process requires providing a photo of yourself along with proof of identity.

Submitting an Opt-Out Request

Navigate to the Pimeyes opt-out page and complete the form with accurate information. You’ll need to upload a current photo—this serves as your “query image” that the system uses to identify and remove matching templates from their database. The verification process ensures that only you can request removal of your own facial data.

After submission, Pimeyes typically processes opt-out requests within 7-14 business days. You’ll receive confirmation once your facial template has been removed from their search index. However, this removal only applies to Pimeyes itself; images that were scraped remain on the original websites where they were found.

Verifying Opt-Out Status

After the processing period, test your opt-out by uploading the same photo you used for the request. If successful, Pimeyes should return no results or significantly reduced matches. This verification step confirms that your facial template was properly disassociated from their database.

Opting Out from Clearview AI

Clearview AI’s opt-out process has evolved due to legal pressures. The company maintains an opt-out form for residents of states with applicable privacy laws, including California (CCPA), Virginia (VCDPA), and others.

Required Information for Clearview Requests

Clearview’s opt-out requires:

The company claims to process requests within 30 days, though user experiences vary. Some users report successful removals, while others indicate the process can be more protracted.

Several privacy laws strengthen your opt-out position:

Law Jurisdiction Key Provisions
CCPA/CPRA California Right to know, delete, and opt-out of sale
BIPA Illinois Biometric information privacy requirements
VCDPA Virginia Consumer rights for biometric data
GDPR EU/EEA Data protection and erasure rights

If you reside in a jurisdiction with applicable biometric privacy laws, cite the specific statute in your request. This often accelerates processing and provides legal recourse if your request is ignored.

Automating Opt-Out Monitoring with Scripts

For developers managing opt-outs across multiple services, automating the workflow saves time. Here’s a Python script template for tracking opt-out requests:

#!/usr/bin/env python3
import json
import smtplib
from datetime import datetime, timedelta
from email.mime.text import MIMEText
from pathlib import Path

OPT_OUT_SERVICES = {
    "pimeyes": {
        "url": "https://pimeyes.com/opt-out",
        "processing_time_days": 14,
        "last_request": None
    },
    "clearview": {
        "url": "https://clearviewai.com/opt-out/",
        "processing_time_days": 30,
        "last_request": None
    }
}

def check_opt_out_status(service_name: str) -> dict:
    """Check if opt-out processing is complete."""
    service = OPT_OUT_SERVICES.get(service_name)
    if not service:
        return {"error": "Unknown service"}

    if not service["last_request"]:
        return {"status": "no_request", "service": service_name}

    request_date = datetime.fromisoformat(service["last_request"])
    days_elapsed = (datetime.now() - request_date).days

    if days_elapsed >= service["processing_time_days"]:
        return {
            "status": "ready_to_verify",
            "service": service_name,
            "days_elapsed": days_elapsed
        }

    return {
        "status": "pending",
        "service": service_name,
        "days_remaining": service["processing_time_days"] - days_elapsed
    }

def send_reminder(service_name: str, status: dict):
    """Send email reminder for pending opt-outs."""
    # Implementation for email notification
    pass

if __name__ == "__main__":
    for service in OPT_OUT_SERVICES:
        status = check_opt_out_status(service)
        print(f"{service}: {status}")

This script tracks your opt-out submissions and alerts you when it’s time to verify removal. Extend it with actual form submission logic using libraries like requests and BeautifulSoup for web automation.

Preventing Future Facial Recognition Indexing

After removing your data from existing services, implementing preventive measures reduces the likelihood of re-indexing.

Image Metadata Removal

Images contain EXIF data that can reveal location, device information, and timestamps. Strip metadata before uploading to social media:

# Using exiftool
exiftool -all= image.jpg

# Using ImageMagick
convert image.jpg -strip cleaned_image.jpg

Implementing robots.txt Directives

If you control a website, add directives to prevent scraping:

User-agent: *
Disallow: /images/
Disallow: /uploads/

Note that ethical facial recognition services respect these directives, while others may ignore them entirely.

Using Protection Services

Several services offer proactive facial recognition protection by monitoring for unauthorized use of your photos. These typically work by registering your facial template and alerting you when matches appear in monitored databases. Evaluate the privacy policies of such services carefully—they necessarily store your biometric data to provide protection.

Beyond Individual Services

Removing your data from Pimeyes and Clearview addresses two services but doesn’t eliminate your images from the broader internet. Images remain on original hosting platforms, and new services may emerge. A strategy includes:

  1. Regular monitoring — Periodically search for your name and images using these services
  2. Image removal requests — Contact websites hosting your images directly
  3. Privacy-conscious sharing — Use platforms with strong privacy controls
  4. Legal awareness — Understand your rights under applicable privacy laws

The technical landscape of facial recognition search continues evolving. New services emerge, legal frameworks mature, and removal processes change. Staying informed and maintaining vigilance protects your digital identity in an era where biometric data has become a valuable—and sometimes exploited—commodity.

Additional Services Requiring Attention

Beyond Pimeyes and Clearview, other facial recognition services warrant opt-out efforts:

TrueCaller

Primarily a phone directory, but integrates facial recognition for identity verification:

# TrueCaller opt-out
# Visit: https://www.truecaller.com/unlisting/
# Requires phone number verification

Betaface API

An open facial recognition API used by various third-party applications:

# Check if your photos are indexed
curl -X POST https://api.betaface.com/api/v2/recognizeperson \
  -F "img_url=https://yourimage.jpg" \
  -F "api_key=YOUR_API_KEY"

VGG Face (Academic Project)

University of Oxford’s facial recognition dataset, occasionally used by researchers:

Programmatic Monitoring Strategy

For developers managing multiple opt-out requests, create automated tracking:

#!/usr/bin/env python3
import json
import requests
from datetime import datetime, timedelta
from pathlib import Path

class FacialRecognitionOptOutTracker:
    def __init__(self, config_file='optout_config.json'):
        self.config_file = config_file
        self.services = self.load_config()

    def load_config(self):
        with open(self.config_file) as f:
            return json.load(f)

    def check_service_status(self, service_name):
        service = self.services.get(service_name, {})
        request_date = datetime.fromisoformat(service.get('request_date', ''))
        days_elapsed = (datetime.now() - request_date).days
        processing_time = service.get('processing_days', 14)

        return {
            'service': service_name,
            'status': 'ready_to_verify' if days_elapsed >= processing_time else 'pending',
            'days_elapsed': days_elapsed,
            'days_remaining': max(0, processing_time - days_elapsed)
        }

    def log_removal_confirmation(self, service_name, test_image_path):
        """Log when verification confirms removal"""
        with open('removal_log.json', 'a') as f:
            json.dump({
                'service': service_name,
                'confirmed_removal': True,
                'date': datetime.now().isoformat(),
                'test_image': test_image_path
            }, f)
            f.write('\n')

# Usage
tracker = FacialRecognitionOptOutTracker()
for service in ['pimeyes', 'clearview']:
    status = tracker.check_service_status(service)
    print(f"{status['service']}: {status['days_remaining']} days remaining")

If initial requests are ignored, escalate using legal frameworks:

GDPR Article 17 (Right to Erasure)

For EU residents, cite GDPR explicitly:

Subject: Formal GDPR Article 17 Right to Erasure Request

To: [Service Legal Department]

I am a data subject under GDPR Article 4(1) and request immediate erasure of all personal data
related to my facial biometric identifier.

Legal basis: GDPR Article 17(1)(a) - processing is no longer necessary
            GDPR Article 17(1)(c) - I withdraw consent

Your lawful basis for processing was consent (GDPR Article 6(1)(a)). I now revoke this consent.
Your processing is therefore unlawful.

I expect confirmation of deletion within 30 days per Article 12(3).

[Your name, date, signature]

BIPA (Illinois Biometric Privacy Act)

Illinois residents have strong statutory protection:

Subject: Illinois BIPA Section 15(a) Private Right of Action

To: [Service Legal Department]

Under 740 ILCS 14/15(a), I am asserting my right to recovery of:
- Liquidated damages of $1,000-5,000 per violation
- Reasonable costs and attorneys fees

Your company collected my biometric identifier without written consent.
I demand immediate deletion.

[Your name, date, signature]

Filing actual BIPA claims in Illinois state court has proven effective—many companies settle rather than litigate.

International Standards and Frameworks

Track emerging international privacy standards that strengthen removal rights:

Region Regulation Key Provision Enforcement
EU GDPR Right to erasure (Article 17) EDPB, National DPAs
Illinois BIPA Consent requirement, liquidated damages Private right of action
California CCPA/CPRA Right to know, delete, opt-out CA AG, private action
Brazil LGPD Data subject rights similar to GDPR ANPD
Canada PIPEDA Access and correction rights Privacy Commissioner

Pre-Emptive Measures for New Photos

Implement preventive strategies before facial recognition services index your images:

Metadata Stripping Automation

Create a script to remove all metadata before uploading anywhere:

#!/bin/bash
# Strip metadata from images before sharing

for image in "$@"; do
    if command -v exiftool &> /dev/null; then
        exiftool -all= "$image"
        echo "Stripped metadata from $image"
    elif command -v convert &> /dev/null; then
        convert "$image" -strip "cleaned_$image"
        echo "Stripped metadata from $image → cleaned_$image"
    fi
done

Website robots.txt Configuration

If you control a website with your photos:

User-agent: Clearview AI
Disallow: /

User-agent: Pimeyes
Disallow: /

User-agent: *
Disallow: /private/
Allow: /public/

# But note: malicious actors often ignore robots.txt

Social Media Privacy Settings

Configure maximum privacy on platforms where your images appear:

Documenting Your Removal Efforts

Maintain records of all opt-out attempts for legal reference:

{
  "removal_history": [
    {
      "service": "pimeyes",
      "request_date": "2026-03-21",
      "request_method": "official_form",
      "confirmation_date": "2026-03-28",
      "verification_date": "2026-04-05",
      "result": "success",
      "notes": "Complete removal confirmed"
    },
    {
      "service": "clearview",
      "request_date": "2026-03-15",
      "request_method": "gdpr_article_17",
      "confirmation_date": null,
      "result": "pending",
      "notes": "Escalated via GDPR for CA resident"
    }
  ]
}

This documentation proves your diligent efforts if you need to pursue legal action or regulatory complaints.


Built by theluckystrike — More at zovo.one