MrZaKaRiAGit

Filekey

FileKey is an offline web app that lets you quickly encrypt and share files using passkeys. No accounts, no tracking, no backend servers. Just local, offline security powered by passkeys.

Created: 5/13/2025Last pushed: 5/8/2025
Filekey

Overview

FileKey is an offline web app that lets you quickly encrypt and share files using passkeys. No accounts, no tracking, no backend servers. Just local, offline security powered by passkeys.

Tags & Topics
Security
View SourceVisit Website

πŸ” FileKey

FileKey is an offline web app that lets you quickly encrypt and share files using passkeys. No accounts, no tracking, no backend servers. Just local, offline security powered by passkeys.

πŸ›‘οΈ FileKey is open source and privacy-first.


πŸš€ Features

  • βœ… Free & Open Source – Licensed under GPLv3.
  • βœ… Accountless by Design – No logins, no tracking.
  • βœ… Passkey-Based Encryption – Integrates with your existing security key or password manager.
  • βœ… End-to-End Encrypted – Only you can see your data.
  • βœ… Secure Sharing – Share files securely with β€œShare Keys”
  • βœ… Offline – Runs 100% offline in your browser. Can be installed locally as a PWA.

πŸ‘¨β€πŸ’» How to Use FileKey

  1. Create your FileKey
    Generate a secure passkey stored in your password manager or security key (like iCloud Keychain or Yubikey).

  2. Encrypt files
    Drag and drop any file into FileKey β€” it's immediately encrypted with AES-256.

  3. Decrypt files
    Drop the encrypted file back in. Your passkey unlocks it quickly, locally and securely.

  4. Share privately
    Encrypt a file for someone else using their Share Key. Only they can open it.


πŸ’Ύ Supported Systems

In order to use FileKey, you need a compatible password manager (Apple Passwords, Google Passwords, Windows Hello, etc) or a hardware security key that supports FIDO2 and PRF (like the YubiKey 5 and Bio Series). For hardware security keys, your browser and operating system both need to support WebAuthn and the PRF extension. Below is a non-exhaustive compatiblity table:

Platform Supported Passkey Providers Notes
macOS Apple Passwords, Yubikey Safari β‰₯ 17 or Chrome β‰₯ 112. Yubikeys will not work in Safari.
Windows Windows Hello, YubiKey Edge β‰₯ 112 or Chrome β‰₯ 112. Requires Windows 11.
Linux YubiKey (via browser) Latest version of Chrome or Chromium-based browsers.
iOS Apple Passwords Safari β‰₯ 17 or Chrome β‰₯ 112
Android Google Passwords, Yubikey Chrome β‰₯ 112

⚠️ Notes:

  • 1Password, Proton Pass, and BitWarden won't work until they properly support PRF.
  • Samsung Pass has been reported to work, despite not officially supporting PRF.
  • Windows 10 and below does not support PRF, and thus won't work.
  • Filekey will likely work with Chromium based browsers (e.g. Brave, Vivaldi, Opera)

πŸ› οΈ How the Encryption Works

FileKey first requires the generation of a passkey, that will be stored on either your password manager or security key device, using the app’s domain as the relying party. Once a passkey has been created, it can then pass a static message through WebAuthn which interacts with a PRF in order to generate a deterministic random value.

Using this deterministic random value, an HKDF with 256 bits of entropy is generated. The HKDF and a random salt is then used to derive a key to be used with AES-GCM. The derived key is then used to encrypt and decrypt the file. A new derived key is used for each additional file.

All low-level cryptographic functions performed within this process are using the web’s built-in SubtleCrypto interface of the Web Crypto API. All encrypted files use a unique randomly generated salt, composed of a 16 byte hash.

πŸ›‘οΈ To understand more details of the encryption process, see here.


πŸ” Sharing

Every FileKey user has a unique Share Key β€” a long string that acts like a public address. You can find it in the menu under "Your Share Key."

πŸ“€ Sharing a File

  1. Click the "Share" button next to any file.
  2. Enter the recipient’s Share Key (they’ll need to provide this to you).
  3. FileKey creates a special encrypted version only that recipient can unlock. Save and send the file (ending in .shared_filekey) via any method β€” email, messaging, file transfer, etc.

πŸ“₯ Receiving a Shared File

  1. Open FileKey and authenticate.
  2. Drag and drop the shared file into FileKey.
  3. FileKey detects that it’s a shared file and decrypts it using your key.

πŸ” Security Details for Sharing

  • Your private keys never leave your device.
  • Shared files are locked to a specific recipient.
  • All encryption and decryption happen entirely on your device β€” no servers involved.
  • Files are secured with AES-256 encryption.
  • Your Share Key does not need to be kept secret, it can be shared openly.

πŸ›‘οΈ Share with confidence, knowing only your intended recipient can access the file.


πŸ”— Links

πŸ”’ filekey.app
(Best in the latest versions of Chrome, Safari, or Edge)

πŸ“œ Substack
(Our official blog)

πŸ’¬ Signal Group
(Chat with us directly)

Repository Stats

Stars
0
Forks
0
Watchers
0
Size
80 KB
LicenseGPL-3.0
Issues0 Open