Browser-based secure file encryption and sharing — no installs, no accounts, no server-side storage.
GhostFile uses AES-GCM (256-bit) encryption entirely in the browser via the Web Crypto API. Files never leave your machine unencrypted. The decryption key is split in two — one half travels with the encrypted file, the other you send through a separate channel — so no single message can compromise the file.
- AES-GCM encryption — authenticated encryption with tamper detection
- Split-key delivery — key split into two halves; share via different channels (link + SMS, email + Signal, etc.)
- Auto-expiring links — download links expire after 5 minutes or one use, whichever comes first
- Fully client-side — encryption and decryption run entirely in the browser; no data hits a server
- Zero dependencies — vanilla JavaScript + Web Crypto API; no npm, no frameworks
- Any file type — encrypts and restores any file format
- Open GhostFile in your browser
- Select the file to encrypt
- Click Encrypt
- A download link is generated (valid 5 min / 1 use)
- Two key halves are displayed — copy each separately
- Send the download link + Key Half 1 via one channel (e.g. email)
- Send Key Half 2 via a separate channel (e.g. SMS or Signal)
- The recipient needs both halves to decrypt
- Download the
.encfile - Open GhostFile and select the encrypted file
- Paste both key halves (combined or separately)
- Click Decrypt — file is restored to its original format
| Layer | Technology |
|---|---|
| Encryption | Web Crypto API — AES-GCM 256-bit |
| Frontend | Vanilla JavaScript, HTML5, CSS3 |
| Key splitting | Client-side string split + Base64 encoding |
| File handling | FileReader API, Blob/URL API |
- The symmetric key is generated fresh per encryption — never reused
- AES-GCM provides both confidentiality and integrity (any tampering is detected on decrypt)
- Split-key design means an intercepted link alone is useless without the second key half
- No data is sent to any server at any point
Educational use: GhostFile demonstrates applied cryptography in the browser. For production use cases involving highly sensitive data, consider a full end-to-end encrypted solution with server-side key management.
git clone https://github.com/B-star51/ghostfile.git
cd ghostfile
# Open index.html in any modern browser — no server required
open index.htmlPart of the B-star51 security portfolio