SkillAgentSearch skills...

Hat.sh

Encrypt and Decrypt files securely in your browser.

Install / Use

/learn @sh-dv/Hat.sh

README

<p align="center"> <a href="#" rel="noopener"> <img src="https://i.imgur.com/8b0GE2B.png" width="180"></a> </p>

<a href="https://hat.sh" style="color:#000"><h3 align="center">hat.sh</h3></a>

<div align="center">

Status License: MIT CodeQL Node.js CI Snyk

</div>

Hat.sh is a web app that provides secure local file encryption in the browser. It's fast, secure, and uses modern cryptographic algorithms with chunked AEAD stream encryption/decryption.

V2 of hat.sh introduced memory efficient in-browser large file chunked encryption using streams with libsodium.

Usage

how-to-use-gif

<br>

Features

Security

  • XChaCha20-Poly1305 - for symmetric encryption.
  • Argon2id - for password-based key derivation.
  • X25519 - for key exchange.

The libsodium library is used for all cryptographic algorithms.

Privacy

  • The app runs locally in your browser.
  • No data is ever collected or sent to anyone.​

Functionality

  • Secure multiple file encryption/decryption with passwords or keys.
  • Secure random password generation.
  • Asymmetric key pair generation.
  • Authenticated key exchange.
  • Password strength estimation.
<br>

Offline Use

The app can be easily self hosted, please follow the installation instructions.

<br>

Browser Compatibility

We officially support the last two versions of every major browser. Specifically, we test on the following

  • Chrome on Windows, macOS, and Linux , Android
  • Firefox on Windows, macOS, and Linux
  • Safari on iOS and macOS
  • Edge on Windows

Safari and Mobile browsers are limited to single 1GB files, due to lack of support with server-worker fetch api.

<br>

Official running instances of the app

| # | URL | | --- | ----------------------------------------- | | 1 | hat.sh | | 2 | hat.now.sh | | 2 | hat.vercel.app |

<br>

Donations

The project is maintained in my free time. Donations of any size are appreciated :

<br> <div>

<strong>Crypto</strong>

<table> <tr> <th></th> <th>Coin</th> <th>Address</th> </tr> <tr> <td><img src="https://i.imgur.com/utSCHpB.png" /></td> <td>Monero</td> <td style="word-break: break-word"> <code >84zQq4Xt7sq8cmGryuvWsXFMDvBvHjWjnMQXZWQQRXjB1TgoZWS9zBdNcYL7CRbQBqcDdxr4RtcvCgApmQcU6SemVXd7RuG</code > </td> </tr> <tr> <td><img src="https://i.imgur.com/imvYFLR.png" /></td> <td>Bitcoin</td> <td><code>bc1qlfnq8nu2k84h3jth7a27khaq0p2l2gvtyl2dv6</code></td> </tr> <tr> <td><img src="https://i.imgur.com/a4vLbjm.png" /></td> <td>Ethereum</td> <td><code>0xF6F204B044CC73Fa90d7A7e4C5EC2947b83b917e</code></td> </tr> </table> <br>

<strong>Kofi</strong>

https://ko-fi.com/shdvapps

<strong>Open Collective</strong>

https://opencollective.com/hatsh

</div> <br> <br>

Social

<br>

Acknowledgements

<br>

Credits

libsodium.js

next.js

material-ui

<br>

License

Copyright (c) 2022 sh-dv

View on GitHub
GitHub Stars2.3k
CategoryDevelopment
Updated3d ago
Forks275

Languages

JavaScript

Security Score

100/100

Audited on Mar 19, 2026

No findings