Share HTML with password protection

Password-protect an HTML report or presentation with HTMLinks. Learn how passwords, sharing URLs, content updates, and management keys work.

By Michael Elkabetz · HTMLinks maintainer

Choose protection before publishing

HTMLinks can require a password before delivering a shared HTML document. After installing the skill, ask: “Publish ./report.html with password protection. Ask me which password to use before uploading.”

The skill arranges secure password input and sends it in the upload body. Passwords must be 8–256 characters. The helper uses --access password --password-stdin; do not put the password in a command argument or URL.

Send recipients the returned sharing URL and provide the password through your chosen channel. Their browser displays a password gate. Anyone with an unlisted, unprotected link can read its content, so choose the access mode before distributing it.

Update content or change access

Ask your agent to update the published document with a revised HTML file. Content updates keep the same link and current password policy. You can also ask to change the password on an existing document.

For the CLI, use access DOCUMENT_ID --mode password --password-stdin with your installed helper and the document ID. Keep the management key available locally. Changing access revokes existing viewer grants; readers must satisfy the new policy on future requests.

Understand the boundaries

Password protection gates delivery; it cannot prevent an authorized reader from saving or copying a document they have already opened. It is not an account-based permission system.

The sharing URL and password do not grant editing access. Only the separate management key authorizes updates and deletion. Back up ~/.config/htmlinks/ privately; there is no account recovery flow for lost keys. See management keys and private previews for details.

Deleting a document stops future reads. Restoration is possible during the operator-configured retention window, seven days by default. Do not use that restoration window as a promise of permanent backup.

Install the skill