OathLock
An app and website blocker you can't back out of. Pick what distracts you, set a timer, take the oath.
- Role
- Design, apps, extension & backend
- When
- 2026
- Platforms
- Android · iOS · Chrome · Windows
- Status
- Beta, launching soon
Overview
OathLock is a self-control app for people whose willpower gives out at the worst moment. You decide once, while your head is clear: choose the apps and websites that pull you in, pick a length from 15 minutes to 90 days, and take the oath. Until the timer ends, blocked apps close the moment they open, blocked sites show a calm quote instead of the feed, and everything unlocks on its own when time is up.
Most blockers have an off switch one tap away. OathLock is built so the version of you who set the timer stays in charge: uninstall protection during a session, a cooldown and typing challenge before an early exit in Normal mode, and no exit at all in Strict mode. It is as strong as Google Play, App Store and Chrome Web Store policies allow.
It is private by design, with no ads and no tracking, and blocking happens on the device. An optional account links your devices, so a session started on your phone locks Chrome within seconds and the other way round.
Screens




What it does
Block any app
Social media, games, video. Blocked apps close the moment they open.
Block websites everywhere
Whole domains and subdomains in Chrome, Samsung Internet, Firefox, Edge, Brave, Opera and Safari.
Strict & Normal modes
Strict has no early exit. Normal makes you wait out the urge with a cooldown and a typing challenge.
Uninstall protection
App deletion is blocked during a session using iOS Screen Time and Android device admin.
Only gets stricter
You can add sites mid-session but never remove them, and switching protection off records a broken oath.
One oath, every device
Optional sign-in (email code, Google, Apple) syncs sessions and block lists across phone and browsers.
Desktop helper
A Windows companion keeps the extension installed and disables incognito and guest windows during a session.
Streaks & history
Kept and broken oaths, streaks, and saved block lists for study, work or bedtime.
Engineering highlights
Tamper resistance on four platforms
Native Kotlin (Accessibility Service, Device Admin, boot restore) and Swift (FamilyControls, ManagedSettings, DeviceActivity with three app extensions) do the blocking. Flutter is only the control panel, so blocking keeps working after a reboot or when the app is killed.
"Only stricter" merge rules, enforced server-side
A session can only get a later end, more sites, or stricter mode. The same monotonic merge runs in Postgres RPCs (behind row-level security), the Chrome extension and the Windows helper, so no client can weaken an active oath.
Real-time cross-device locking
Supabase Realtime, a one-minute alarm in the extension and Firebase Cloud Messaging data pushes from an Edge Function work together, so other devices lock within seconds.
Working around platform limits
iOS DeviceActivity rejects long intervals, so 90-day sessions are monitored in chunks of up to 7 days. Screen Time app tokens can't leave the device, so only websites sync across devices.
Privilege separation on Windows
A SYSTEM scheduled task enforces Chrome/Edge/Brave policies. Users can only drop requests into an inbox, so nothing they write can shorten a session.
Tech stack
- Flutter
- Kotlin
- Swift
- Chrome Extension (MV3)
- Supabase
- Postgres RLS
- Firebase Cloud Messaging
- Pigeon
- Riverpod
- Codemagic