Speakeasy.

Per-element password protection for Craft CMS.

For Craft CMS
Status In Progress
Beta Test Via Composer

Add a Password field to an entry type's field layout, and once a password has been set, anonymous visitors get an unlock screen. Passwords are encrypted at rest with your project security key.

Speakeasy is currently in beta
It's feature-complete and safe to try, but the API, settings, and stored-value formats may still change before 1.0.0.
Visit Link

These are shared access passwords, not user credentials. They're reversibly encrypted so editors can view and share them, deliberately not one-way hashed like a login password. Speakeasy gates a page behind a shared passphrase, it doesn't authenticate individual users. If you need per-user login, use Craft's user accounts.

Why Speakeasy

  • Field-first: protection = the field has a value. No section config or template code.
  • Encrypted, not plaintext: the value lives encrypted in the database, not in config or templates.
  • Editor-driven: editors set passwords in the element editor, no per-page developer work.
  • Safe defaults: constant-time comparison, per-IP/element rate limiting, no-store + noindex on protected responses, shared unlock when passwords match, and a CP-user bypass so live preview keeps working.

Other Tools