Userelm is a free, peer-to-peer team workspace with CRM, Finance, HR, Boards, Support ticketing, and Chat built in. Your data lives only in your browser and syncs directly with teammates over WebRTC.
We never see it — because we can't. No tiers, no upsells, no credit card.
Userelm is built around a generic platform core. Modules are pluggable — and the same P2P sync, encryption, and export story applies to every byte across all of them. All free, forever.
Sales & customer relationships
Invoicing & expenses
Team & operations
Project management
Customer support ticketing
Real-time P2P chat built into every workspace — same encryption link, zero extra setup. Available as a floating panel in any module.
More coming. The platform is module-driven — new domains (inventory, ops, scheduling) slot in without touching the sync engine.
Everything you need to run your team — without locking your data behind someone else's pricing. Free because we don't need servers to store your data.
All module data lives in your browser. We literally cannot see it.
WebRTC keeps teammates synced instantly across every module.
Binary, JSON, or CSV. Your data is never trapped.
See presence and changes from teammates live.
WebRTC traffic is encrypted with your room key.
No tiers, no upsells, no credit card. Self-host for full sovereignty.
Track and resolve customer issues without paying for a separate helpdesk tool. Tickets live in the same P2P workspace — assign them to team members, leave internal notes, and update status in real time.
No more juggling Slack tabs to discuss the deal you're looking at. Userelm ships with a built-in team chat — same P2P link, same encryption, zero extra setup.
Three steps. No accounts. No credit card. No emails to confirm.
Pick a name. We hand you a join URL with a secret key — that's your entire free team workspace.
Send it to your teammates over Signal, email, or carrier pigeon.
CRM, Finance, HR, Boards, Support, Chat — all in the same browser-local doc, syncing peer-to-peer.
Our server only knows that a room exists. We store room IDs and hashed secrets so the join flow works — that's it. Whether you put contacts, invoices, employee records, or support tickets into your workspace, none of it touches us.
{
"rooms": [
{
"id": "CpTjv2MWDLJ9",
"hashedSecret": "$2a$10$...",
"ownerEmail": "you@team.com",
"createdAt": "2025-05-20"
}
]
}A plain-English explanation of exactly where your data lives, how it survives device failures, and the one scenario that can cause permanent loss.
Every write is immediately saved to your browser's IndexedDB — the same storage used by offline-capable apps. Your data survives page refreshes, tab closes, and full browser restarts automatically.
Powered by y-indexeddbWhen teammates are online in the same workspace, every change propagates over direct WebRTC connections. Each browser that has been in the workspace holds a complete, independent copy of all data.
Powered by y-webrtc + YjsData is structured as a CRDT (Conflict-free Replicated Data Type). Two people editing simultaneously never corrupt each other's work — changes are always merged deterministically.
Yjs CRDT algorithmBecause every member who has opened the workspace holds the full dataset locally, your workspace automatically has as many independent copies as you have active team members. One laptop dies? The data is still on everyone else's machine. The redundancy grows with your team, for free, with no configuration.
If every team member clears their browser storage (or uninstalls their browser) before anyone has made an export, the data is gone — there is no server copy to restore from. This is the trade-off of true zero-server storage.
Guard against it: use the one-click Export all button (available in every module's toolbar) to download a full JSON or CSV backup, and keep it somewhere safe. Even a monthly export on one person's device is enough insurance.
Yes, free forever. Because we don't store your data, our costs are tiny — just a signaling server for WebRTC handshakes. We may add paid features later (custom domains, audit logs) but the core workspace — CRM, Finance, HR, Boards, Support, and Chat — stays free.
Yes! The Support module lets you create, assign, and track customer support tickets. You can set status (Open / In Progress / Resolved / Closed), route tickets to team members by email, leave internal notes, and have threaded comment threads — all synced P2P like everything else.
Yes. The platform core handles sync; modules just declare their data shape. Whether you're editing a contact, an invoice, moving a kanban card, or updating a support ticket, the same CRDT (Yjs) syncs it over WebRTC.
On that device, you lose access until you rejoin while a teammate is online (they'll sync the data back to you). We strongly recommend regular exports — there's a one-click backup feature that captures every module.
Yes — use whichever modules you need. They're all opt-in at usage level; data only exists for what you create.
That's the plan. The platform is intentionally module-driven so new domains (inventory, scheduling, ops) can ship without touching the sync engine. Suggestions welcome.
Yes. The whole stack is open source. Run the Next.js app, the signaling server, and a coturn instance, and you're fully sovereign.
Free forever. Ten seconds to start. No credit card.
Create your free workspace