Password-protect semi-private content on static sites – no backend required.
Encrypt sensitive pages and sections while keeping navigation, styling, and public content unchanged. Works with Hugo, GitHub Pages, Netlify, or any static hosting.
You want to publish semi-private content on your static site:
Traditional solutions require a backend. pagevault works with pure static hosting – your site lives entirely on GitHub Pages, no server needed.
Mark sections with <pagevault> tags. pagevault encrypts just those sections while preserving your site’s structure, styling, navigation, and scripts.
<header>Public navigation</header>
<pagevault hint="Contact me for the password">
<h2>Private thoughts on this topic</h2>
<p>This section is encrypted...</p>
</pagevault>
<footer>Public footer</footer>
Visitors see your site normally. When they encounter protected content, a password prompt appears. Once unlocked, the content displays beautifully—and the password can be remembered in the browser (you control this).
pip install pagevault
<pagevault hint="Contact admin for password">
Private content here
</pagevault>
pagevault config init
pagevault lock index.html
# Deploy _locked/index.html to your static host
That’s it! Visitors see a password prompt on protected sections.
| Feature | pagevault | Wrap entire page | CSS hiding | No protection |
|---|---|---|---|---|
| Mixed public/private | ✅ | ❌ | ❌ | ❌ |
| Static hosting | ✅ | ✅ | ✅ | ✅ |
| No server | ✅ | ✅ | ✅ | ✅ |
| Preserves structure | ✅ | ❌ | ✅ | ✅ |
| Real encryption | ✅ | ✅ | ❌ | ❌ |
| Viewer plugins | ✅ | ❌ | ❌ | ❌ |
Hugo Blog: Publish semi-private posts alongside public content.
Knowledge Base: Protect implementation details while sharing approaches.
Client Work: Share progress reports with selective access.
Educational: Post problems publicly, solutions behind password.
New to pagevault? Start with Getting Started for a step-by-step walkthrough.
Explore the CLI Reference for all commands, including info (inspect encrypted files), check (verify passwords), and audit (health check your setup).
Check Configuration to customize behavior.
Have questions? See FAQ.
Made with ❤️ for static site builders who want privacy without complexity.