Privacy Policy
Last updated: March 2026
Overview
Default Tamer is built to respect your privacy. The short version:
- ✓ Your URLs and browsing history never leave your Mac — URL routing is entirely local.
- ✓ Optional anonymous usage analytics are off by default. You choose to opt in.
- ✓ If you do opt in, only aggregate, anonymous events are sent — never any URLs, domains, or personal information.
- ✓ You can verify everything — the entire app is open source.
URL Routing Is 100% Local
Every routing decision happens entirely on your Mac. When you click a link in Slack, Cursor, or any other app, Default Tamer checks your rules locally and opens the right browser — no network request is made, no URL is transmitted anywhere, and no external service is consulted.
The optional Route History log (also opt-in) is stored locally on your device only. URLs in the log are sanitized to remove query strings and fragment identifiers before being saved. This data never leaves your Mac.
Optional, Anonymous Analytics
Default Tamer is a free, solo, open source project with no business model behind it. Without any usage signal, it's genuinely hard to know what's working — whether rules are being used, whether a browser failure is isolated or widespread, or whether an update broke something for people on a specific macOS version. Crash reports don't tell the full story, and most users never file issues.
Opt-in analytics is how we answer those questions responsibly. If you choose to share, it directly shapes what gets prioritised next — without compromising your privacy in any way.
This feature is:
- • Off by default. No data is sent until you explicitly opt in.
- • Opt-in via Preferences → Privacy. You can enable or disable it at any time.
- • Powered by Umami, a privacy-focused, open source analytics platform. No cookies, no fingerprinting, no cross-site tracking.
- • No third-party ad networks. Data goes only to our own self-hosted Umami instance.
Exactly What's Tracked (When You Opt In)
We believe you should know the exact events that are sent. Here they are in full — no surprises:
app_launch Sent once per day at most Sent when the app starts up (at most once per day).
Data sent
version— app version (e.g. "1.2.0")os— macOS version string (e.g. "macOS 14.4")rule_count_bucket— number of rules in a bucket: 0, 1–3, 4–10, 11–50, 50+is_default— whether Default Tamer is currently set as the system default browserinstall_id— anonymous install identifier (see below)
app_updated Sent once per update Sent when the app version changes after an update.
Data sent
from_version— the previous versionto_version— the new versioninstall_id— anonymous install identifier
rule_created Sent when a rule is added Sent when you create a new routing rule.
Data sent
type— the rule type (e.g. "domain", "source_app", "regex") — never the actual domain, app name, or pattern you enteredinstall_id— anonymous install identifier
first_rule_created Sent once per install Sent the first time a rule is ever created on this install. No additional data beyond the install ID.
rule_deleted Sent when a rule is removed Sent when you delete a routing rule.
Data sent
type— the rule type only, never the actual rule contentsinstall_id— anonymous install identifier
link_routed Sent when a link is routed Sent each time Default Tamer routes a link to a browser.
Data sent
method— how the link was matched (e.g. "rule_match", "fallback") — never the URL, domain, or destination browserinstall_id— anonymous install identifier
routing_failed Sent when routing falls back unexpectedly Sent when a browser from a routing rule is unavailable (not installed or failed to open), forcing the app to use the fallback browser or Safari.
Data sent
reason—browser_unavailable(target browser missing) orno_fallback(both target and fallback failed)install_id— anonymous install identifier
No browser names or bundle IDs are included.
chooser_shown Sent when the browser picker appears Sent when the manual browser chooser dialog is shown. No additional data beyond the install ID.
What's Never Collected
Regardless of whether analytics is enabled or disabled, the following are never collected, transmitted, or stored anywhere outside your Mac:
URLs
The actual URLs you open
Domains
The websites you visit
App names
Which apps you open links from
Browsing history
Where your links go
Browser names
Which browsers you use
Name or email
No account, no identity
Location
No GPS or IP-based location
Device identifiers
No UDID, serial, or hardware ID
The Anonymous Install ID
Each installation of Default Tamer generates a random identifier (UUID) that is stored locally. This is included with analytics events so we can distinguish between, say, 1 user who launched 50 times and 50 users who launched once each.
This ID is:
- • Randomly generated — not derived from any hardware identifier or personal information.
- • Not linked to your Apple ID, name, email, or any other identity.
- • Reset when you uninstall and reinstall the app.
- • Only sent when analytics is opted in. If analytics is disabled, this ID is never transmitted anywhere.
How to Opt Out
Analytics is off by default. If you previously opted in and want to disable it:
Open Default Tamer
Click the Default Tamer icon in your menu bar.
Open Preferences
Select Preferences from the menu.
Go to the Privacy tab
Toggle "Share anonymous usage analytics" off.
This Website
This website (defaulttamer.app) uses Umami for analytics — the same privacy-first platform used in the app. Umami uses no cookies, no fingerprinting, and collects no personal information. Page views and click events (e.g. "Download button clicked") are recorded anonymously.
No advertising networks, no session replay tools, and no third-party tracking scripts are loaded on this site.
Questions?
If you have questions about this policy, open an issue or start a discussion on GitHub.
Since Default Tamer is open source, you can also inspect the complete analytics implementation directly:
- → AnalyticsManager.swift
- → AppState.swift — where events are fired