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]