Skip to content

B-star51/ghostfile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GhostFile

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.


Features

  • 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

How It Works

Encrypting

  1. Open GhostFile in your browser
  2. Select the file to encrypt
  3. Click Encrypt
  4. A download link is generated (valid 5 min / 1 use)
  5. Two key halves are displayed — copy each separately

Sharing Securely

  • 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

Decrypting

  1. Download the .enc file
  2. Open GhostFile and select the encrypted file
  3. Paste both key halves (combined or separately)
  4. Click Decrypt — file is restored to its original format

Tech Stack

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

Security Model

  • 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.


Run Locally

git clone https://github.com/B-star51/ghostfile.git
cd ghostfile
# Open index.html in any modern browser — no server required
open index.html

Part of the B-star51 security portfolio

About

GhostFile is a secure encryption tool designed to protect sensitive data with powerful cryptographic methods. Whether you're storing confidential files or transmitting information safely, GhostFile ensures your data remains private and secure.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors