# claude-logbook share server Serves the sessions published with `claude-logbook -s REF --share`: | Route | | | --- | --- | | `GET /` | Home with the instructions. | | `GET /share/` | The conversation as a page (the CLI's `template.html`). | | `GET /share/.txt` | Plain text transcript. | | `GET /share/.json` | The stored payload. | | `POST /api/shares` | `{"payload": {...}, "expire": "30d"}` → `201 {id, url, secret, expires}` | | `PUT /api/shares/` | `Authorization: Bearer `; replaces the payload. | | `DELETE /api/shares/` | `Authorization: Bearer `. | | `GET /healthz` | `ok`. | Anyone can create a share; only the holder of the secret returned on creation can replace or delete it. The server keeps only the secret's SHA-256. ## Security model - **No HTML is accepted.** The payload is the JSON of `claude-logbook --json -s`; it is checked field by field, unknown keys are dropped, memories are refused, and the page is built from the template embedded in the binary. - The data goes inside `