Privacy policy

Last updated: April 16, 2026

Data Controller

Christopher Brock
Planetenstrasse 35
40223 Düsseldorf
Deutschland
Email: [email protected]

Data Processing

Zero Duplicates processes all files locally on your device. No files or personal data are transmitted to external servers.

Website Analytics

This website uses privacy-focused, self-hosted analytics to understand site usage and improve it over time.

What is Collected

  • Page URL (path only, query parameters are not stored)
  • Referrer domain
  • Timestamp
  • Browser type and language (aggregated)
  • Country/region (derived from IP, which is not stored)

What is NOT Collected

  • No cookies or local storage are used
  • No persistent identifiers
  • IP addresses are processed only to deliver the request and are not stored
  • No cross-site tracking

Legal Basis

Website analytics processing is based on legitimate interests (Art. 6(1)(f) GDPR) for strictly necessary, privacy-friendly audience measurement. No consent banner is shown because no cookies or persistent identifiers are used.

Usage Analytics

The app includes optional usage analytics to help me understand how the app is used and improve it over time. This feature is disabled by default and requires your explicit consent during first launch or via Settings. Processing is based on your explicit consent under GDPR Art. 6(1)(a).

What is Collected

Analytics data does not identify you personally. Each event includes:

  • Screen views and navigation patterns
  • Features used within the app
  • Scan statistics (aggregate duplicate counts and total size)
  • Paywall and in-app purchase flow events — event types only, never payment details
  • Subscription tier
  • App and system language preferences
  • Device class and platform
  • App version, build number, and build configuration
  • Errors encountered (error types only, no file paths or personal data)
  • A per-session identifier (see below)

What is NOT Collected

Analytics data does not contain:

  • Files or filenames
  • Scan results or file paths
  • IP addresses (not stored by the analytics providers used here)
  • Persistent device identifiers or fingerprints
  • Account information, email addresses, or names
  • Cross-session user tracking — only a per-session identifier is used (see below)

Session Identifier

Events within a single app session are grouped by a session identifier that is generated fresh at each app launch, is not persisted, and is not reused. Activity therefore cannot be correlated between different sessions or across devices.

Analytics Providers and Storage

Analytics data is transmitted over an encrypted connection to:

  • PostHog — operated by PostHog Inc. Data for this app is stored on PostHog Cloud EU, with servers located within the European Union. PostHog Inc. is a U.S.-incorporated company; any access to data from outside the EU is governed by the EU Standard Contractual Clauses and, where applicable, the EU–U.S. Data Privacy Framework (Art. 46 GDPR). Privacy policy: https://posthog.com/privacy.
  • Aptabase — a self-hosted instance of the open-source Aptabase analytics software, running on a server located in Germany and operated directly by the data controller. No third-party company processes this data.

The sole purpose of this processing is to understand aggregate app usage and improve features.

Your Control

To disable usage analytics: Settings → Usage Analytics → toggle off

Crash Reporting

The app includes optional crash reporting to improve stability. This feature is disabled by default and requires your explicit consent during first launch or via Settings. Processing is based on your explicit consent under GDPR Art. 6(1)(a).

What is Collected

Crash reports are completely anonymous and contain only technical diagnostic information:

  • Error type and stack trace
  • Device model and OS version
  • App version and available memory

What is NOT Collected

Crash reports do not contain:

  • Files or filenames
  • Scan results
  • IP addresses
  • User identifiers or account information
  • Usage analytics or behavioral tracking

Storage and Purpose

Crash reports are transmitted via encrypted connection to a server hosted in Germany. The sole purpose is to identify and fix crashes to improve app stability.

Your Control

To disable crash reporting: Settings → Crash Reporting → toggle off

In-App Purchases

Payment processing and subscription management is handled exclusively by Apple. I do not have access to your payment details. See Terms and Conditions for details.

Your Rights

You can disable crash reporting and usage analytics at any time in Settings. Because neither crash reports nor analytics events contain direct identifiers (no account, email, IP address, or persistent device identifier) and session identifiers are not reused across sessions, I have no reliable way to locate data belonging to a specific individual and therefore cannot fulfill data access or deletion requests for specific users.

Changes to This Policy

This privacy policy may be updated to reflect changes in the app or legal requirements.

Contact

For questions: [email protected]