Pazzy293 downloadsLock your vaults and pages behind a full-screen lock screen, unlock it with your fingerprint on both Windows and MacOS. Even use a hardware security key if you want, a fallback password is optional..
Locks Obsidian behind a full-screen lock screen and unlocks it with your fingerprint — macOS Touch ID or Windows Hello (fingerprint, face, or PIN). Hardware security keys (YubiKey and similar, via WebAuthn) and an optional password fallback are also supported.
What this is not: file encryption. Like every other Obsidian lock-screen plugin, this only hides the UI — your notes on disk are untouched. If you also want encryption at rest, pair this with FileVault/BitLocker or an encrypted disk image (see the "alternatives" note at the end).
How the biometric prompt actually gets called: Obsidian plugins can't
call the OS biometric APIs directly — those are native APIs. So the plugin
shells out to a tiny per-platform helper in its native/ folder:
native/TouchIDAuth.swift) that
talks to the LocalAuthentication framework. The plugin compiles and signs
it for you on first load; nothing to do by hand.native/WindowsHelloAuth.ps1) that
calls the WinRT UserConsentVerifier API. Nothing to build or
install — Windows PowerShell 5.1 ships with every Windows 10/11 machine.Either way, your fingerprint/face never reaches this plugin — the OS handles the scan and the helper only relays a yes/no answer.
Install Fingerprint Lock — or, inside Obsidian: Settings → Community plugins → turn off "Restricted mode" → Browse → search for Fingerprint Lock → Install, then Enable.
That's the whole install. There is nothing to build and no terminal step: the first time the plugin loads it writes its native helper into the plugin folder and, on macOS, compiles and signs it for you, then offers to set a fallback password. Installing this way also means Obsidian keeps the plugin updated for you.
On macOS the automatic build needs the Xcode Command Line Tools (most
developer Macs already have them). If they're missing, the plugin says so and
you can install them with xcode-select --install, then press Rebuild
helper in the plugin's settings. Your password fallback works either way.
Prefer to install by hand, or want to run an unreleased build? Download
main.js, manifest.json and styles.css from the
latest release
and put them in a folder in your vault:
<YourVault>/.obsidian/plugins/fingerprint-lock/
├── main.js
├── manifest.json
└── styles.css
Then enable it under Settings → Community plugins. The helper sources are
bundled inside main.js, so this path sets itself up exactly like the
directory install does.
Release assets carry GitHub artifact attestations, so you can verify they were built from this repository:
gh attestation verify main.js -R alexpazzy/obsidian-fingerprint
The plugin does this for you. If you'd rather do it by hand — say you cloned
the repo, or you edited TouchIDAuth.swift — the script is still there:
cd native
./build.sh
It compiles TouchIDAuth.swift into a binary named Obsidian and ad-hoc
code-signs it (required for LocalAuthentication to show the prompt). The
binary is deliberately named Obsidian because macOS displays the requesting
process's name in the Touch ID dialog. Test it standalone with:
./Obsidian --reason "test run"
On Windows there is nothing to compile at all: WindowsHelloAuth.ps1 runs
under the Windows PowerShell 5.1 that ships with every Windows 10/11 install.
You can test it directly with:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File "<plugin folder>/native/WindowsHelloAuth.ps1" -Reason "test run"
Both helpers print SUCCESS (exit 0), FAILURE:<reason> (exit 1), or
UNAVAILABLE:<reason> (exit 2).
On the very first launch (before any settings exist), the plugin installs the native helper and opens a setup dialog prompting you to create a fallback password — and it will not lock the vault on startup until at least one unlock method can actually succeed, so you can never be dead-ended on a fresh install. This works the same on macOS and Windows 11.
Open Settings → Fingerprint Lock:
Once a password fallback is set, use the ribbon lock icon or the command palette ("Lock vault now") to test the full flow.
Turn on Per-note lock in settings, then flag a note by adding the property to its frontmatter:
---
fingerprint-lock: true
---
Or put the cursor in the note and run Toggle fingerprint lock for this
note from the command palette, which adds and removes the property for you.
The property name is configurable, and true, yes and 1 all count.
Flagged notes are covered with an unlock card offering the same methods as the vault lock screen — Touch ID or Windows Hello, a security key, or your fallback password. An unlocked note stays open until the vault locks, at which point every note re-locks with it.
[!warning] This hides notes; it does not encrypt them. The text stays plaintext on disk and is readable by any other plugin, by your sync client, and by anyone opening the file outside Obsidian. Note titles still show up in search and Quick Switcher, and the body can still surface in search results and previews. Treat it as protection from someone reading over your shoulder — not from someone with access to your files. For real protection, keep the vault on an encrypted volume (see the note at the end).
If you want to modify the plugin itself rather than just use it:
npm install
npm run build # type-checks with tsc, then bundles main.js with esbuild
npm run dev runs an esbuild watcher for iterative development.
macOS
swiftc. Run xcode-select --install, then press Rebuild helper in the
plugin's settings.Windows
native/WindowsHelloAuth.ps1
on load; if it's gone, press Reinstall helper in the plugin's settings.UserConsentVerifier uses whatever Hello methods you have enrolled.
Your Windows PIN is hardware-backed and machine-local.Security keys
Any platform
<YourVault>/.obsidian/plugins/fingerprint-lock) from your file
manager or a terminal. Reopening the vault will start it without the
plugin. This is exactly why the settings page nags you to set a password
fallback.This plugin (like all Obsidian lock-screen plugins) only controls the UI. If your actual goal is protecting the notes themselves, not just hiding the window, consider storing the vault on an encrypted volume instead — an encrypted APFS disk image unlocked with Touch ID via Keychain on macOS, or a BitLocker/VeraCrypt volume on Windows — so Obsidian never sees the files until the volume is mounted.