Privacy Policy
Lock In! — Focus
Last updated: August 18, 2026
1. Data Controller (Verantwortlicher)
Eduard Bruch
Kleinfeld 28c
21149 Hamburg, Deutschland
E-Mail: support@eduardbruch.com
2. Overview
Lock In! ("the App") is a macOS focus utility that blocks distracting websites and applications during timed focus sessions. To block websites across every browser rather than just one, the App installs a macOS Network Extension content filter. That filter necessarily sees the destinations your Mac connects to while a session is running. This policy explains exactly what it sees, what it does with it, and what it never does. In short: nothing about your browsing is recorded, stored, or sent anywhere. The App has no server, no account system, and makes no network requests of its own.
3. The Content Filter — What It Actually Sees
This is the most privacy-sensitive part of the App, so it is described in full detail rather than summarised.
3.1 How blocking works
The App installs a system extension using Apple's NEFilterDataProvider API. While a focus session is active, macOS routes outbound network flows through this extension so it can decide whether each connection should be allowed or dropped. To make that decision it needs to know the destination host, which it determines from one of the following, in order:
- the hostname macOS already associates with the connection;
- the domain name inside an outgoing DNS query (the extension reads the queried name so it can block resolution of a blocked domain);
- the Server Name Indication (SNI) field of a TLS ClientHello — the unencrypted hostname a browser sends when opening an HTTPS connection;
- the Host header of a plain HTTP request.
This is required because browsers such as Chrome use their own DNS resolver, which means the hostname is not otherwise available to the system. Connections whose destination cannot be identified and which use QUIC (UDP port 443) are dropped during a session so that the browser falls back to a connection the filter can evaluate.
3.2 What the filter does NOT do
- It does not log, store, or write your browsing history to disk — no history file, no database, no cache.
- It does not transmit any hostname, DNS query, URL, or connection metadata off your Mac. The extension makes no outbound network requests whatsoever.
- It does not decrypt HTTPS. It never installs a root certificate and never performs TLS interception. It reads only the hostname portion of the connection handshake, which is transmitted in the clear by design.
- It does not read, inspect, or retain the content of any page, message, request body, or response.
- It does not run outside a focus session. When no session is active, all traffic is allowed through without evaluation.
Each hostname is compared against your blocklist in memory and discarded immediately. The evaluation is ephemeral: nothing about the connection survives the decision. The legal basis is Art. 6(1)(b) DSGVO (performance of a contract — providing the blocking feature you enabled).
3.3 How your blocklist reaches the filter
Because the system extension runs as a separate privileged process, your list of blocked domains is passed to it through the vendorConfiguration field of the macOS filter configuration. This stays on your Mac and is managed by macOS itself.
4. App Blocking
If you add applications to a session, the App observes application-launch notifications from macOS (NSWorkspace) so it can quit a blocked app when you open it during a session. It sees only that an application was launched and its identifier. It cannot see inside any application, and this information is neither stored nor transmitted.
5. Data Stored on Your Device
The following is saved locally using macOS UserDefaults and never leaves your Mac:
- your focus sessions (names, durations, rules, icons);
- your blocklists — the domains and applications you chose to block;
- focus statistics: minutes focused per day, sessions completed or stopped, and your daily goal;
- app preferences such as sound, appearance, and keyboard shortcuts.
There is no account, no sign-in, and no cloud sync. Deleting the App removes this data.
6. No Analytics, Tracking or Advertising
The App contains no analytics SDK, no crash reporting service, no advertising identifier, and no third-party tracking of any kind. It does not build a profile of you and does not use your data for any purpose other than performing the blocking you configured.
7. Data Sharing with Third Parties
No data is shared with third parties, because no data is collected. The App is distributed through the Mac App Store; Apple processes your purchase and may collect its own data under Apple's Privacy Policy. We receive only anonymous, aggregated sales figures from Apple and never your identity.
8. Data Retention
Since no personal data is collected or transmitted, there is nothing for us to retain. Data stored locally on your Mac remains until you delete it or uninstall the App.
9. Your Rights (DSGVO / GDPR)
Under the GDPR you have the right of access (Art. 15), rectification (Art. 16), erasure (Art. 17), restriction of processing (Art. 18), data portability (Art. 20), and objection (Art. 21), as well as the right to lodge a complaint with a supervisory authority (Art. 77).
In practice we hold no personal data about you, so there is nothing for us to disclose, correct, or erase. All data created by the App is under your direct control on your own device. You may still contact us at any time with a request.
10. Children's Privacy
The App is not directed at children under 13 and collects no data from anyone, including children.
11. Changes to This Privacy Policy
This policy may be updated as the App changes. The "last updated" date above always reflects the current version. Material changes to how the content filter works will be described here.
12. Contact
Eduard Bruch
Kleinfeld 28c, 21149 Hamburg, Deutschland
E-Mail: support@eduardbruch.com