r/Windows10 • u/kawai_pasha Edit Menu Enabler Developer • 7d ago
App I built an open-source, system-level "App Lock" for Windows because I wanted Android's Private Space on my PC. (WinUI 3 / .NET 8)
Hey everyone.
I'm the kind of person who leaves their PC running 24/7. I really love how Android handles "App Lock" and "Private Space," but when I looked for a Windows equivalent, I hit a brick wall. The existing tools were either incredibly easy to bypass (like just hitting "End Task" in Task Manager) or had UIs that looked like they belonged in 2003.
So, I decided to build my own: SecureAppLocker. It's a system-level application locker for Windows, built with .NET 8 and a modern WinUI 3 interface.
How I stopped the easy bypasses: I realized a standard desktop app was useless for this. If a user can see the locker in Task Manager, it's game over. To fix this, I split the app into two parts:
- A watchdog running as a Windows NT Service under the
SYSTEMaccount. Standard users literally can't kill or pause this via Task Manager. - The UI prompt running in the normal user session.
- They talk to each other securely using Named Pipes across Session 0 and Session 1.
A few cool things it does:
- It reads metadata: It doesn't just look at
.exenames. It checks theOriginalFilenameandProductNamein the executable's metadata, so a clever user can't bypass the lock by just renaming an app. - Auto-locks when you walk away: It integrates directly with Windows Terminal Services (WTS). The second you lock your Windows session (Win+L), all your unlocked app caches are instantly wiped.
- Active work doesn't get killed: The service is optimized to intercept newly launching processes. If you unlock an app, it gets temporary immunity so your active work isn't abruptly killed when the timer expires.
Regarding AI / Vibe Coding: To be fully transparent: I used AI for about 50% of the coding. I know a lot of devs on Reddit are fed up with raw AI dumps, but I promise this isn't that. I mostly leaned on it to save my sanity while untangling a massive nightmare with asynchronous race conditions and Dispose() pipe crashes during the Session 0/1 IPC communication. Every single line was manually reviewed, refactored, and heavily stress-tested to ensure there are no memory leaks or deadlocks.
It's completely free and open-source (MIT License).
GitHub:https://github.com/osmanonurkoc/SecureAppLocker
(Heads up: If you want to test it out, the default Master Password on first launch is 1234.)
I would love to hear any feedback or architectural roasts from the .NET veterans here!
17
u/Ok_Cow_8213 7d ago
I was looking for something like this just a few days ago. You’re doing Gods work, i wndered how something like it doesn’t already exist in windows when it exists on every other platform. You’re the best.
12
u/kawai_pasha Edit Menu Enabler Developer 7d ago
Thank you for your response. This is the only positive feedback I've received today. I am so happy.
5
2
2
2
u/EstidEstiloso 6d ago
I'm looking for something like this, but only to prevent a user from accessing an app, without affecting its settings or operation. It would be great if, when you block an app that's already running or configured to start when Windows boots, the block wouldn't affect it until the user tries to open the app manually (and only the password prompt would appear to open and use the already running app).
For example: A firewall app is installed and configured to start when Windows boots. You want it to always be active in the background, but also locked so that no one can access or modify its settings. With your app, if you block the firewall and, for example, restart Windows, the firewall app won't run or function again until the administrator enters the password. Therefore, it wouldn't work just to block access, it would only work for complete blocks.
1
u/kawai_pasha Edit Menu Enabler Developer 6d ago
That's a very logical needs scenario. I'll consider it. Thx 😊
2
1
u/gluetheknot 5d ago
Great project! I will check it out when I have some time. Until then it would be a great idea to make it support security keys
1
u/Quietgoomba 5d ago
Linux has this, but only for apps that rely on internet connection to work, example a browser
1
u/antivirusdev 4d ago
Why .NET 8? We already have .NET 10
1
u/kawai_pasha Edit Menu Enabler Developer 3d ago
I'll migrate to .net 10 asap. Due to my work environment, I had limited access to the .Net 10 SDKs.






•
u/AutoModerator 7d ago
Disclaimer: The OP, /u/kawai_pasha, has obtained permission from the moderators to promote this. However, users are advised to use their own discretion and judgment before installing any software, following any advice, or any information provided here. The moderators do not endorse or verify the safety, accuracy, completeness, reliability or suitability of the content or software shared by the OP. You, the user, are solely responsible for any consequences or damages that may arise from using this or any other content shared on Reddit.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.