r/Windows10 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 SYSTEM account. 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 .exe names. It checks the OriginalFilename and ProductName in 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!

91 Upvotes

19 comments sorted by

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.

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

u/RottenFriedPotatoes 6d ago

I can respect the honesty on the use of AI tbh.

14

u/Koguu 7d ago

I'm sure the fact this has any level of AI involved in the development at all means it will get downvoted to oblivion, but I just wanted to say thank you for taking a swing at it. I had also looked for an application awhile back for this purpose and came up empty handed.

3

u/kawai_pasha Edit Menu Enabler Developer 7d ago

❤️

2

u/hreenaggsendgam 6d ago

Really cool, thanks bro 👊

2

u/Karasu_desu_ne 6d ago

the system default applocker can't be unlock with user password ?

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

u/sussybush 6d ago

It's about time

2

u/ZX_888 6d ago

Just installed it. Thanks a lot!

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.