A local-first password manager for Windows. No cloud, no internet — your data never leaves your device.
Features · Screenshots · Getting Started · Security · Changelog
- AES-256 encrypted local storage using a custom
.slockfile format - Master password authentication — key derived with PBKDF2 (100,000 iterations)
- Two-factor authentication via TOTP (compatible with Google Authenticator, Authy, and any standard TOTP app)
- Auto-lock after configurable inactivity period
- Password generator with adjustable length, charset, exclusions and prefix
- Dark and light theme with high contrast mode
- Configurable interface scale (Small, Default, Large)
- Import / export of encrypted
.slockbackups - Built-in changelog accessible directly from within the app
| Layer | Technology |
|---|---|
| Language | C# 12 / .NET 8 |
| UI Framework | WPF (Windows only) |
| Architecture | MVVM |
| Encryption | AES-256 + PBKDF2 |
| 2FA | TOTP via Otp.NET |
| QR Codes | QRCoder |
| Font | JetBrains Mono |
Sailock/
├── Helpers/ # RelayCommand, ViewModelBase, Converters, QR helper
├── Models/ # PasswordEntry, AppData, AppSettings, ChangelogEntry
├── Resources/ # Icons and logo assets
├── Services/ # Crypto, Storage, Navigation, Theme, TOTP, AutoLock, Changelog, Version
├── ViewModels/ # One ViewModel per screen
├── Views/ # XAML UserControls
└── Fonts/ # JetBrains Mono
- Windows 10 or later (64-bit)
- .NET 8 SDK (only required for building from source)
Head to the Releases page and download the latest .exe. No installation required — it's a self-contained single file.
git clone https://github.com/Sailok25/Sailock.git
cd Sailock/Sailock
dotnet build
dotnet runOn first launch, Sailock will prompt you to create a master password. This password is used to derive the encryption key for your .slock data file.
Warning
There is no password recovery mechanism. Do not forget your master password.
| Property | Detail |
|---|---|
| Encryption | AES-256 (CBC) |
| Key derivation | PBKDF2, 100,000 iterations, random salt |
| IV | Randomly generated per save |
| Master password | Never stored — derived at runtime only |
| Network access | None — Sailock is fully offline |
| Data location | %APPDATA%\Sailock\data.slock |
Each save operation generates a new salt and IV, meaning no two encrypted files are identical even with identical data and the same password.
See CHANGELOG.md for the full version history.
Copyright © 2025 Alba Ayala Vilanova. All rights reserved.
This project is source-available for reading and contribution purposes only. Copying, reusing or distributing any part of this code without explicit written permission is not allowed. See LICENSE for full terms.
Developed by Alba Ayala Vilanova — GitHub @Sailok25




