When a focus app blocks a website on Android, something has to answer the phone’s “where is this site?” question with “nowhere”. That something is DNS. NowFocus’s website filter works at exactly that level, and from version 0.9 you choose which DNS server stands behind it.
How the website filter works
Android has no other way to filter sites for every app at once. So NowFocus runs a local VPN service that handles DNS lookups only. For a site on your blocklist it answers “no such site”. Every other lookup is passed on. The rest of your traffic never goes through it.
The new DNS screen sits under Rules, then Protections. It has one job: decide where the allowed lookups go. Your blocklist always applies first, whatever you pick.
The servers you can choose
- My network’s DNS: NowFocus changes nothing. This is the plain, no-extras option.
- AdGuard Family: blocks adult sites, ads and malware.
- Cloudflare Family: blocks adult sites and malware.
- CleanBrowsing Family: blocks adult sites.
- Quad9: blocks malware.
- Other server: any DNS-over-TLS server you type in, like dns.example.com.
The adult-site, ad and malware filtering is done by the server you pick, not by NowFocus. That is worth knowing in both directions: you get a maintained list without us curating it, and you are trusting that provider with your lookups. Pick one you are comfortable with, or stay on your network’s own DNS.
If your chosen server stops answering, lookups fall back to your network’s DNS for now, and the screen says “Not answering” so you are not left wondering.
Only during sessions, or always on
Under “When it runs” there are two choices:
- Only during sessions (the default): the server is used while a focus session or the Commitment Shield is live, then your normal DNS comes back.
- Always on: NowFocus keeps the DNS running all the time, including after a restart. The blocklist still applies only during a session or the Shield. What stays on is the family filter you chose.
“Always on” has two practical conditions. Android allows only one VPN app at a time, and Private DNS must be set to Automatic or Off. The screen shows a status for each case: Off, Waiting, Active, Needs permission, Conflict, Not answering.
If your phone uses a Private DNS hostname
When Android’s Private DNS is set to a specific hostname, the phone sends every lookup there, past NowFocus. The DNS screen shows “Conflict” and offers one tap to keep using that provider. To get NowFocus’s blocklist working too, set Private DNS to Automatic or Off. As a backstop, NowFocus also reads the address bar of supported browsers and closes a blocked domain it sees, which helps in cases like this one.
What it cannot do
- Browsers with their own secure DNS ignore the setting.
- It does not filter by app, only by domain.
- It is a self-control tool, not a lock. Someone determined can change DNS settings back.
The Windows and Mac apps are getting the same DNS screen, but we have not verified it on real machines yet, so we are not promising it there. For the apps-and-feeds side of the story, see how partial blocking removes feeds without removing the app.
Frequently asked questions
Which DNS server should I pick for a focus app on Android?
It depends on what you want filtered. AdGuard Family blocks adult sites, ads and malware, Cloudflare Family blocks adult sites and malware, CleanBrowsing Family blocks adult sites, and Quad9 blocks malware. My network’s DNS leaves everything as it is.
Does NowFocus send all my traffic through its VPN?
No. The VPN service handles DNS lookups only. It answers “no such site” for blocked domains and passes other lookups on. The rest of your traffic does not go through it.
Why does the DNS screen say Conflict?
Your phone’s Private DNS is set to a hostname, and Android sends every lookup there instead of through NowFocus. Set Private DNS to Automatic or Off so NowFocus’s blocklist applies, or keep using that provider if filtering by the provider is enough.
Pick the DNS that fits your rules
The DNS screen is in Android 0.9. Open Rules, then Protections, then DNS.