Overview:
The mkdocs-encryptcontent-plugin allows users to password protect articles and pages in MKdocs, encrypting content with AES-256 in Python using PyCryptodome and decrypting it in the browser with Crypto-JS or Webcrypto. Users can define a password to protect each page independently or a global password to protect all content.
Features:
- Password Protection: Protect content with a password at page level or with a global password.
- Stronger Cryptography: Use PBKDF2 for key derivation for improved security.
- Faster Cryptography: Webcrypto offers faster encryption as an alternative to crypto-js.
- Credential Handling: Define password levels in mkdocs.yml or external files with user/password credentials.
- Customization: Add credentials to URLs for sharing, tamper check with Ed25519, and environment variable usage with special yaml tag !ENV.
- Additional Functionality: Obfuscation, signing of generated files, search encryption, and server-side keystore for further security.