[<-] Back

Miorita — Postgres in the browser

Next.js 16, React 19, pg · 2026 · 1 min read

Miorita — Postgres in the browser

A privacy-first Postgres client that runs in your browser. Paste a connection string, browse schemas, run SQL, visualize relationships, watch database health — no account, no telemetry, no server-side query history. The connection string lives only in sessionStorage and is sent server-side only when a query runs; TLS is strict by default with sslmode=no-verify as an explicit escape hatch. Next.js 16 App Router + React 19 + pg on Vercel Fluid Compute, 15-second statement timeout, 200-row result cap.

Connection lifecycle

sequenceDiagram
    actor User
    participant Tab as Browser tab<br/>(sessionStorage)
    participant SA as Server Action<br/>(Fluid Compute)
    participant Pool as pg.Pool<br/>(globalThis cache)
    participant DB as Your Postgres

    User->>Tab: paste connection string
    Note over Tab: string lives only in<br/>sessionStorage
    User->>Tab: run query
    Tab->>SA: SQL + sanitized URL
    SA->>Pool: get pool (by URL key)
    alt pool exists
        Pool-->>SA: existing pool
    else first use
        SA->>DB: open pooled connection
        Pool-->>SA: new pool
    end
    SA->>DB: execute (15s timeout)
    DB-->>SA: rows
    SA-->>Tab: ≤ 200 rows
    Note over SA: nothing logged,<br/>nothing persisted
    User->>Tab: close tab
    Note over Tab: connection string<br/>cleared

TLS modes

sslmode= Behavior
absent (Neon / Supabase / AWS / Databricks hosts) SSL on, certs verified
absent (other hosts) No SSL
require, verify-ca, verify-full, prefer, allow SSL on, certs verified
no-verify (Miorita-specific) SSL on, certs not verified — escape hatch for self-signed certs
disable No SSL