RockwellShah

filekey: Encrypt and Share Files with Passkeys

FileKey is an offline web app built on the WebAuthn PRF extension that encrypts files with passkeys on your device. It is designed for people who want private file storage or end-to-end sharing without accounts, tracking, or cloud uploads.

MaintainedTypeScriptGPL-3.0SecurityWeb AppPrivacy
Stars
484
Forks
36
Stars, last 30 days
+3
Last commit
2 months ago
Contributors
1

Our take

Maintaineda few commits in the last 90 days

Health score

32/100

How it is scored
Activity
33
Community
4
Issues
46
Pull requests
43

+3 stars in the last 30 days

  • Fewer contributors than 91% of the projects we track

FileKey is a focused, privacy-first option for passkey users, but adoption depends on WebAuthn PRF support and the project is maintained by a single concentrated contributor.

Good fit if

  • You want file encryption and sharing that happens in the browser without a cloud backend.
  • Your browser and passkey provider support the WebAuthn PRF extension.
  • You value a GPL-3.0 licensed static app and can keep an optional recovery code safely stored.

Look elsewhere if

  • Your devices or passkey provider do not support WebAuthn PRF.
  • You need a server-managed workflow, accounts, or centralized cloud storage, which FileKey explicitly avoids.
  • Your team needs a project with multiple maintainers or a recent release cadence. The repository has one contributor, no release in over a year, and only a few recent commits.
All health signals
Last commit2026-08-20 (2 months ago)
Commits, last 90 days7
Releases, last 12 months0
Contributors1
Issues closed, last 90 days1
Pull requests merged, last 90 days1
Project age18 months

Checked on 2026-10-18 with the GitHub API.

Project history

Daily GitHub snapshots since Oct 7, 2026. History covers stars and forks; health signals are not tracked historically.

Selected snapshot

Stars

486

Forks

35

Change since Nov 13, 2026: 0 stars·0 forks

Overview

FileKey is a TypeScript offline web app built on the WebAuthn PRF extension. It derives an encryption identity from a passkey, then encrypts and decrypts files on your device, without accounts, tracking, or cloud uploads. It is intended for people who want to protect files locally or share them directly with a recipient.

The app supports browsers and passkey providers that implement WebAuthn PRF, including compatible password managers and FIDO2 security keys. It can encrypt folders and large files, and it is installable as a PWA for offline use. For sharing, send an encrypted file addressed to someone's public Share Key, or give them a link to encrypt a file to you.

Key Features

  • Derives a reusable identity key from a passkey using WebAuthn PRF and HKDF-SHA-256.
  • Encrypts files with HPKE and AES-256-GCM, using chunked streaming for large files.
  • Creates recipient-addressed encrypted files that can be sent through any file-transfer method.
  • Provides a “send me a file” link so others can encrypt files to you in their browser.
  • Offers optional 24-word recovery codes and a standalone offline recovery tool.
  • Runs as a static site, with PWA installation and self-hosting options.

Use Cases

  • Individuals can encrypt personal documents locally when they do not want to upload them to a storage service.
  • People exchanging sensitive files can encrypt them for a recipient's Share Key before using email or another transfer channel.
  • A small organization can offer a “send me a file” link for receiving encrypted files without requiring senders to create accounts.
  • Travelers or people working offline can use the installed PWA to encrypt and decrypt files without an active connection.

What you need

Detected in the repository

  • TypeScript (main language on GitHub)

License in plain words

GPL-3.0strong copyleft

  • Commercial use: yes
  • Modify and redistribute: yes
  • You must keep: the license notice
  • Share your changes: yes, the full source of anything you distribute that includes it, under the GPL
  • Includes an explicit patent grant from the contributors:

A summary, not legal advice: the LICENSE file is what applies.

Getting Started

The README's local build instructions use Bun:

cd reference
bun install
bun run build:web
bun run serve

For compatibility details, recovery, and self-hosting guidance, see the README. The hosted app is available at filekey.app.

Alternatives

  • cryptpad: CryptPad is a hosted or self-hosted suite for encrypted collaboration, while FileKey encrypts files locally with passkeys for private storage or sharing.
  • subtitle-translator: Subtitle Translator converts subtitle files between languages; FileKey encrypts files for private storage or sharing.
ProjectLanguageLicenseStarsStatus
filekeyTypeScriptGPL-3.0484Maintained
cryptpadJavaScriptAGPL-3.08kActive
subtitle-translatorTypeScriptMIT1.1kActive

Considerations

  • Passkey support alone is not enough: the provider, browser, and operating system must support the WebAuthn PRF extension. Compatibility varies, and the README notes that Windows 10 and earlier do not support PRF.
  • Losing the passkey can mean losing access unless you created and safely retained a recovery code. The recovery code is an additional secret that needs its own secure backup.
  • The project is marked maintained based on recent commits, but development is concentrated in one contributor and there have been no releases in over a year. Teams should weigh that maintenance concentration when relying on it for important files.
  • FileKey 1.1 cannot open files from the original version; older files require the v1 app.
  • The project is licensed under GPL-3.0, which teams should review against their distribution and compliance requirements.

Found this useful?

Share it with someone who would like filekey.

Comparisons