Password-protected share viewer: metadata leak, silent wrong password, forced auto-download #271

Closed
opened 2026-08-18 19:08:00 +00:00 by Cordy · 1 comment
Owner

Dogfood finding (2026-08-18, v0.6.42, files.c0rdyceps.ch)

Opening a password-protected share link (/s/<token>#<key>):

  1. Metadata leaks before the password: the viewer already shows the file name and size ("0 Shuggah 2 King.wav — 92.9 MB · encrypted share") with the password still unentered. The password gate should hide everything about the content.
  2. Wrong password → silence: entering a wrong password produces no error, no feedback, nothing.
  3. Correct password → forced download: the file loads and immediately downloads. The recipient never chose to download.

Wanted behavior

  • Pre-password: a neutral card — "One or more files have been shared with you. Enter the password to see them." No names, no sizes, no count.
  • Wrong password: explicit inline error.
  • Post-password: show the contents; downloads are deliberate — a Download button per file, plus Download all when the share contains multiple files; never auto-download.
  • Applies to both single-file viewer and folder-share listing surfaces.

Acceptance

  1. No content metadata (name/size/type/count) is served before password verification on password-protected shares.
  2. Wrong password shows an inline error; throttling behavior unchanged.
  3. Correct password reveals the content list; each file has its own Download button; multi-file shares also offer Download all; nothing downloads without a click.
  4. Works for layered shares (key-in-link + password, new in v0.6.42) — password gate first, then in-browser decryption on explicit download.
## Dogfood finding (2026-08-18, v0.6.42, files.c0rdyceps.ch) Opening a password-protected share link (`/s/<token>#<key>`): 1. **Metadata leaks before the password**: the viewer already shows the file name and size ("0 Shuggah 2 King.wav — 92.9 MB · encrypted share") with the password still unentered. The password gate should hide *everything* about the content. 2. **Wrong password → silence**: entering a wrong password produces no error, no feedback, nothing. 3. **Correct password → forced download**: the file loads and immediately downloads. The recipient never chose to download. ## Wanted behavior - Pre-password: a neutral card — "One or more files have been shared with you. Enter the password to see them." No names, no sizes, no count. - Wrong password: explicit inline error. - Post-password: show the contents; **downloads are deliberate** — a Download button per file, plus **Download all** when the share contains multiple files; never auto-download. - Applies to both single-file viewer and folder-share listing surfaces. ## Acceptance 1. No content metadata (name/size/type/count) is served before password verification on password-protected shares. 2. Wrong password shows an inline error; throttling behavior unchanged. 3. Correct password reveals the content list; each file has its own Download button; multi-file shares also offer Download all; nothing downloads without a click. 4. Works for layered shares (key-in-link + password, new in v0.6.42) — password gate first, then in-browser decryption on explicit download.
Author
Owner

all has been implemented, except "Download all" feature. yet to come back to this and implement, as there is a decryption challange to be solved here.

all has been implemented, except "Download all" feature. yet to come back to this and implement, as there is a decryption challange to be solved here.
Cordy closed this issue 2026-08-18 20:28:16 +00:00
Sign in to join this conversation.
No labels
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Cordy/Cairn#271
No description provided.