Public sharing: TTL 24h shortlinks с auto-revoke

## Что это «Share» в session header → выбор TTL `24h` → modal с redaction preview → confirm → shortlink `https://rox.one/v/<8-char-id>` копируется в буфер. Получатель открывает в браузере, viewer (apps/viewer) рендерит sanitized snapshot сессии. Через 24h ссылка автоматически revoked (HTTP 410), snapshot удаляется из R2 через retention worker. Redaction pipeline (E06): PII-masking + workspace-defined regex + manual review (пользователь может toggle hide на каждый message в preview). Snapshot — JSON в R2, viewer — static SPA с no-JS-fallback (server-side render для critical path). Компоненты: `apps/viewer`, `@rox-one/shared/sharing`, R2 Worker. Все share-events в audit-log с recipient-ip (хешированным). ## Зачем Share-ссылки на сессии — primary collaboration primitive: пейст в Slack/email/issue tracker. 24h TTL покрывает 80% случаев (один рабочий день), снижает risk утечки при share-leak. ## Источники вдохновения - [ZimengXiong/ExcaliDash](https://github.com/ZimengXiong/ExcaliDash) — self-hosted Excalidraw с TTL shortlink patterns - [dagronf/QRCode](https://github.com/dagronf/QRCode) — QR-code для shortlinks и deep-link sharing - [agisota/zrok](https://github.com/agisota/zrok) — защищённый тоннель для demo public sharing ## 🔗 Linear - [PZD-432](https://linear.app/kuhjie/issue/PZD-432) — backing ticket

Please authenticate to join the conversation.

Upvoters
Status

In Review

Board
🧑‍🤝‍🧑

Compounding & Collaboration

Date

About 19 hours ago

Author

agi

Subscribe to post

Get notified by email when there are changes.