FLOMIS·MA

RS1

Zero-persistence relay.
By architecture.

WebSocket relay with no disk, no database, and no Redis in the hot path. Your payloads are forwarded — never archived.

How it works

01

Client connects

Your app authenticates with an API key. The relay checks quota against your tier limits — in memory, no database query.

02

Messages relay

Publish to a room. Subscribers receive the event. The payload is forwarded immediately and never written to disk or database.

03

Period resets

At billing cycle end, aggregate counts (sessions, bytes — never content) are forwarded to the portal ledger. Relay counters reset to zero.

Zero persistence proof

ESLint rule

no-restricted-imports bans fs, @prisma/client, ioredis in the relay workspace. CI fails on violation.

strace CI

GitHub Actions runs strace on every push to apps/relay/. Fails if write syscalls are detected.

readonlyRootFilesystem

ECS Fargate container definition sets readonlyRootFilesystem: true. OS-level enforcement.

Separate binary

The relay process has no DATABASE_URL, no Prisma schema, no Chroma connection. No path to persistence.

Pricing

TierPriceSessions/moConcurrent
DeveloperFree1,000100Start free →
Startup$49/mo25,000500Get started →
GrowthContact150,0002,500Contact us →
ScaleContactUnlimited10,000Contact us →
EnterpriseCustomDedicatedSLATalk to us →

SDK

Install the relay client from npm.

terminal
1npm install @flomisma/relay-client
client.ts
1import { RelayClient } from '@flomisma/relay-client'
2
3const relay = new RelayClient({
4 url: process.env.NEXT_PUBLIC_RELAY_URL!,
5 apiKey: process.env.RELAY_API_KEY!,
6})
7
8await relay.connect()
9relay.subscribe('orders')
10relay.publish('orders', 'tick', { price: 42 })

FAQ

In-memory counters reset. The portal ledger is the billing source of truth. Re-provision tenants via the metrics API — the call is idempotent and takes milliseconds.