hoangsonww/AI-RAG-Assistant-Chatbot

Shareable Conversation Snapshots (Read-Only Links with Expiry & Revoke)

Open

#38 opened on Feb 17, 2026

View on GitHub
 (0 comments) (0 reactions) (1 assignee)TypeScript (14 forks)auto 404
bugdocumentationenhancementgood first issuehelp wantedquestion

Repository metrics

Stars
 (43 stars)
PR merge metrics
 (PR metrics pending)

Description

Summary

Enable users to generate read-only share links for selected conversation snapshots so they can share useful AI outputs with others without exposing their full account.

Problem

Users can save conversation history, but there is no native way to share a clean, read-only snapshot with teammates/recruiters/stakeholders. Copy-paste is error-prone and loses formatting/citations.

Proposed Solution

Create secure snapshot links for full or partial conversations with expiry/revocation controls.

Backend

  • Add SharedSnapshot model:
    • ownerUserId
    • conversationId
    • messageRange (or selected message IDs)
    • tokenHash
    • expiresAt (optional)
    • isRevoked
    • createdAt
  • Add endpoints:
    • POST /api/conversations/:id/share-snapshot (create link)
    • GET /api/share/:token (read-only snapshot access)
    • DELETE /api/share/:snapshotId (revoke link)
    • GET /api/me/shared-snapshots (manage user-created links)
  • Ensure only selected messages are exposed; include citations safely.

Frontend

  • Add “Share snapshot” action in conversation UI.
  • Allow selecting scope (entire conversation or message range).
  • Show share settings: expiry (never/24h/7d/30d) and revoke controls.
  • Provide a public read-only snapshot page with clean formatting.

Security

  • Use opaque high-entropy tokens; store only token hashes.
  • Respect expiry and revocation on every fetch.
  • Rate-limit public snapshot endpoint.

Docs

  • Add endpoints/schemas to openapi.yaml.
  • Add README section for sharing controls and lifecycle.

Acceptance Criteria

  • User can create a share link for selected conversation content.
  • Shared page is read-only and does not require account login.
  • Expired/revoked links return clear invalid-link response.
  • User can list and revoke previously created snapshots.
  • Shared content preserves markdown and citations.
  • Tests cover token validation, expiry, revocation, and scope filtering.

Out of Scope

  • Real-time collaborative shared chats.
  • Editable shared documents.

Suggested Tasks

  • Create SharedSnapshot schema + indexes.
  • Implement create/fetch/revoke/list snapshot routes.
  • Build share modal + management UI.
  • Build public read-only snapshot page.
  • Add tests and docs updates.

Contributor guide