Enterprise-grade Security
Your secret is safe; it never leaves your device. No data transfers to or from PrivacyProtect servers after the initial page load. In fact, you can disable your internet connection, and concealing and revealing your secret still works.
For encryption, PrivacyProtect uses native browser W3C Web Cryptography APIs with no external dependencies. Argon2 doesn't have browser support. So to derive a non-extractable 32-byte key from the entered password, PrivacyProtect uses PBKDF2 with 2,100,000 iterations, a 32-byte random salt, and the SHA-512 hash, as recommended here. This iteration count is ten times the OWASP-recommended 210,000. This is justified in light of the December 2022 LastPass breach.
PrivacyProtect encrypts the plaintext using NIST-approved AES-256 in NIST-recommended GCM block cipher mode using the derived key and a 32-byte random initialization vector. The HTML file contains the resulting ciphertext, initialization vector, and salt needed for decryption.
The code is open-source and available for inspection.
If you have any questions, comments, or if you wish to report a potential security issue, please contact security@privacyprotect.dev.