Hey everyone,
PlayGuard is a homebrew that puts the Switch's parental controls on the console itself: daily play-time limits, the PIN, restrictions, play activity and the network clock. No phone app, no Nintendo account, no internet needed. It drives the console's own `pctl` service, so nothing runs in the background– close it and the console enforces the rules by itself.
Useful if you set up a modded Switch for your kids, or bought a second-hand one still tied to someone else's Parental Controls app.
https://github.com/JigSawFr/PlayGuard
What's new in 1.2.0
Notification bell. Everything that needs the parent in one place: bedtime alarm off, network clock drifting, settings changed outside PlayGuard, a weak PIN, no recent backup, low SD space, a weekly play-time summary. It also flags newer Atmosphère, hekate and firmware releases (release notes readable in-app) and an outdated recovery sysmodule, which you can update straight from the bell. Tabs get a badge when something needs fixing, and open right on that row.
Installed games checker (Console tab). Finds games that won't start and tells you why – missing update or base game, ticket issue, corrupt data, firmware too old – and how to fix it. Pick several games for one action (check data, remove, remove an update), or send the list to a gist when asking for help.
Cleaner layout. New Console and History tabs, a dedicated PIN tab, each setting next to the feature it affects. Language and theme switch from the header. The PIN, once entered, holds until you close PlayGuard (asked again after 5 min away).
Activity & play timer. All games on their own screen, as covers or a list. Play time over 100 h in whole hours, all-time average over months or years. Tap the week chart to edit several days at once. Extra time now resets by itself the next day.
History logs refused changes too, groups entries by day, and can be filtered and exported.
Plus: one log file per run, PlayGuard's own crashes saved with a backtrace, security fixes around the recovery report, and "Lock and quit" now closes the game PlayGuard runs over.
Full changelog: https://github.com/JigSawFr/PlayGuard/blob/main/CHANGELOG.md
Compatibility
- Tested on a console: FW 22.0.0 → 22.5.0 (Atmosphère 1.11.x) and FW 23.0.1 (Atmosphère 1.12.1)
- Should work, untested: FW 21.x and 23.0.0; on 20.x and older, everything except the play timer
- sysMMC or emuMMC; hbmenu, sphaira or Homebrew App Store
- Newer firmware opens read-only until a release supports it.
CFW required, use at your own risk: PlayGuard talks to the restricted `pctl` service, partly through `*ForDebug` commands.
Install / update
- Extract PlayGuard.zip to SD Card.
- On 1.1.0 already? About › Check for updates updates in place.
- Launch it over a game, with a parent's user. First steps sets the PIN and the daily limit.
Locked out, or a second-hand console with an unknown PIN? https://github.com/JigSawFr/PlayGuard/blob/main/docs/troubleshooting.md#locked-out
---
Free, open source (GPLv3), no ads. Bug reports and console reports – especially FW 21.x and 23.0.0 – are very welcome: https://github.com/JigSawFr/PlayGuard/discussions
Happy to answer questions here!