Review: surface age-CLI compatibility of share links as a documented feature? #113

Closed
opened 2026-08-04 19:48:35 +00:00 by Cordy · 2 comments
Owner

Parked market question from the #19 strong-shares design (2026-08-04).

The new share-link payloads are genuine age files (on-the-fly re-encryption to an ephemeral or passphrase recipient), so curl <payload-url> | age -d with the fragment key or passphrase works TODAY as a side effect of the design — no extra engineering. We deliberately do NOT document, market, or build UX for it: Nikola's assessment is that only a very, very small subset of users would care, and the browser viewer covers everyone else.

Review during v0.6 closed beta: does the "open your share with an open-source CLI, no vendor page involved" story have market value (sovereignty-minded orgs, auditors, air-gapped recipients, scripting)? If yes at review time:

  • document the flow in the handbook (one page: fetch URL shape, age -d invocation for both modes),
  • decide whether the viewer page shows a "power user" hint,
  • consider whether the payload endpoint should be officially stable (versioned path) rather than an implementation detail — that is the only real cost of saying yes later, so keep the endpoint shape conservative during the #19 build.

If no: close, and the capability remains an undocumented nicety.

Parked market question from the #19 strong-shares design (2026-08-04). The new share-link payloads are genuine age files (on-the-fly re-encryption to an ephemeral or passphrase recipient), so `curl <payload-url> | age -d` with the fragment key or passphrase works TODAY as a side effect of the design — no extra engineering. We deliberately do NOT document, market, or build UX for it: Nikola's assessment is that only a very, very small subset of users would care, and the browser viewer covers everyone else. **Review during v0.6 closed beta:** does the "open your share with an open-source CLI, no vendor page involved" story have market value (sovereignty-minded orgs, auditors, air-gapped recipients, scripting)? If yes at review time: - document the flow in the handbook (one page: fetch URL shape, `age -d` invocation for both modes), - decide whether the viewer page shows a "power user" hint, - consider whether the payload endpoint should be officially stable (versioned path) rather than an implementation detail — that is the only real cost of saying yes later, so keep the endpoint shape conservative during the #19 build. If no: close, and the capability remains an undocumented nicety.
Author
Owner

Triage: tandem (product decision → then a small doc). Decide whether to advertise that strong-share fragment links are decryptable with the plain age CLI (sovereignty selling point) vs keeping it implementation detail. If yes, a short handbook note (#109). Decision first.

**Triage: tandem (product decision → then a small doc).** Decide whether to advertise that strong-share fragment links are decryptable with the plain `age` CLI (sovereignty selling point) vs keeping it implementation detail. If yes, a short handbook note (#109). Decision first.
Author
Owner

Decision: yes, document it. Done — docs/handbook/sharing.md gains an "Opening a share from the command line" section. It covers the payload URL shape (/s/<token>?payload=1), the clean fragment-mode one-liner (curl … | age -d -i key.txt) with the base64url-decode note, and the password-mode caveat (the download is gated server-side, so it's a two-step flow — fragment links are the recommended CLI path). Framed as a side effect of the strong-shares design, not a marketed feature, for auditors / scripting / air-gapped recipients. Endpoint shape left as-is (already conservative). Closing.

Decision: **yes, document it.** Done — `docs/handbook/sharing.md` gains an "Opening a share from the command line" section. It covers the payload URL shape (`/s/<token>?payload=1`), the clean fragment-mode one-liner (`curl … | age -d -i key.txt`) with the base64url-decode note, and the password-mode caveat (the download is gated server-side, so it's a two-step flow — fragment links are the recommended CLI path). Framed as a side effect of the strong-shares design, not a marketed feature, for auditors / scripting / air-gapped recipients. Endpoint shape left as-is (already conservative). Closing.
Cordy closed this issue 2026-08-16 12:33:38 +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#113
No description provided.