Blog ยท release
Latch 0.17.5
Keepsakes (M9 #56). A chapter as one encrypted, self-contained .html file. No schema change.
- ๐ Make a keepsake on a chapter's story page: set the keepsake's own passphrase (never the Pup ID's), choose full, smaller or no photos, and download one file with the whole story inside โ cover, foreword, summary, trends, every day, reflections, photos, notes โ plus the chapter's data and a button to save it out. It opens in any browser, offline, with nothing fetched; it prints.
- Locked, it shows only that it is a Latch keepsake (the title only if you ask). It unlocks in the
browser: scrypt (n = 2ยนโท, r = 8, p = 1) + AES-256-GCM, the Pup ID's construction, with the header
authenticated so a tampered one does not open. The opener is written into the file โ scrypt is
built from its RFC, checked against RFC 7914's vectors and Python's
hashlib.scrypt, and the real opener is run under node against files sealed by the server. - The story page and the keepsake are rendered by one partial (
_story.html), so they cannot tell two different stories. Lose the passphrase and the file cannot be opened โ the form says so.