Skip to content

Room Types ​

chatnote has three room types, each with different storage and lifetime semantics.

Persistent ​

  • Storage: SQLite (disk)
  • Lifetime: until you delete it
  • Features: all — tags, link previews, image uploads to disk, JSON export

This is the default. Use it for notes you want to keep.

Ephemeral ​

  • Storage: Node.js heap (RAM)
  • Lifetime: TTL you set at creation, or until the server process restarts (blank TTL = unlimited)
  • Features: Markdown, images (inline data-URL); no link previews, no tags, no export

Ephemeral rooms have a best-effort lifespan. A TTL of 1h means the room may last up to 1 hour, but a server restart or crash wipes it immediately regardless of remaining TTL. Do not rely on ephemeral rooms for retention guarantees.

Incognito ​

  • Storage: Node.js heap (RAM)
  • Lifetime: until the tab closes
  • Features: same as ephemeral

Incognito rooms fire a sendBeacon to the server when the tab's pagehide event fires, wiping all incognito rooms for your session. Nothing about an incognito room's content is written to disk at any point.

Comparison ​

PersistentEphemeralIncognito
StorageSQLite (disk)Node heapNode heap
Survives restart✓✗✗
TTL—optionaluntil tab closes
Tags✓✗✗
Link previews✓✗✗
Images on disk✓✗✗
Export✓✗✗

Released under the Apache-2.0 License.