New:Customer support ticketing is now built in — free
100% free forever · open source · no signup

The team workspace where your data stays yours.

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.com/r/acme
Contacts
SC
Sarah Chen
Linear
Customer
MD
Marc Dubois
Stripe
Qualified
AK
Aisha Khan
Notion
New
JW
Jamal Wright
Vercel
Contacted

One workspace, six modules

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.

CRM

Sales & customer relationships

  • Contacts & companies
  • Deal pipeline
  • Activity timeline

Finance

Invoicing & expenses

  • Recurring invoices
  • Expense tracking
  • Revenue dashboards

HR

Team & operations

  • Employee directory
  • Leave requests
  • Roles & departments

Boards

Project management

  • Kanban boards
  • Drag-and-drop cards
  • Priority & due dates
New

Support

Customer support ticketing

  • Ticket tracking & status
  • Assignee routing
  • Internal notes

+ Team chat

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.

Why peer-to-peer?

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.

Zero server storage

All module data lives in your browser. We literally cannot see it.

Real-time P2P sync

WebRTC keeps teammates synced instantly across every module.

Export anytime

Binary, JSON, or CSV. Your data is never trapped.

Multi-player ready

See presence and changes from teammates live.

End-to-end encrypted

WebRTC traffic is encrypted with your room key.

Free forever

No tiers, no upsells, no credit card. Self-host for full sovereignty.

New

Customer support ticketing, built right in.

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.

  • Create tickets from any customer email or request
  • Assign to team members using their email addresses
  • Internal notes visible only to your team
  • Status workflow: Open → In Progress → Resolved → Closed
  • Threaded comments synced peer-to-peer — no server
Tickets
3 Open1 In Progress
#4Payment not processed after upgradeIn Progress
carlos@acme.ioalice
#3CSV export missing phone columnOpen
priya@corp.comunassigned
#2Can't invite second team memberOpen
ben@startup.iounassigned
Also built in

Real-time chat, right where you work.

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.

  • Floating chat button in every workspace
  • Messages sync over the same WebRTC link
  • Stored only in your browsers — never on our servers
Team chat3 online
A
Alice
Marc Dubois moved to Customer — invoice ready to send?
B
Bob
Yep, drafting INV-2104 now. Net 30 ok with you?
Y
you
Net 30 works. Nice job team!
Message your team…

How it works

Three steps. No accounts. No credit card. No emails to confirm.

1

Create a workspace

Pick a name. We hand you a join URL with a secret key — that's your entire free team workspace.

2

Share the URL

Send it to your teammates over Signal, email, or carrier pigeon.

3

Open any module

CRM, Finance, HR, Boards, Support, Chat — all in the same browser-local doc, syncing peer-to-peer.

What we store: nothing.

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.

  • No CRM / Finance / HR / Boards / Support data on our servers
  • No analytics or marketing cookies
  • No tracking pixels
  • Open source — verify it yourself
// What our database knows
{
  "rooms": [
    {
      "id": "CpTjv2MWDLJ9",
      "hashedSecret": "$2a$10$...",
      "ownerEmail": "you@team.com",
      "createdAt": "2025-05-20"
    }
  ]
}
// That's the whole story.

How your data is stored & stays safe

A plain-English explanation of exactly where your data lives, how it survives device failures, and the one scenario that can cause permanent loss.

Persisted in IndexedDB

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-indexeddb

Synced peer-to-peer

When 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 + Yjs

Merged without conflicts

Data 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 algorithm

Redundancy: every browser is a replica

Because 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.

Alice's laptop
full copy ✓
WebRTC
Bob's desktop
full copy ✓
WebRTC
Carol's phone
full copy ✓

The one scenario that causes permanent data loss

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.

FAQ

Is it really free?+

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.

There's support ticketing now?+

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.

Does P2P sync really work for all modules?+

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.

What happens if I clear my browser data?+

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.

Can I use just one module?+

Yes — use whichever modules you need. They're all opt-in at usage level; data only exists for what you create.

Will you keep adding modules?+

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.

Can I self-host?+

Yes. The whole stack is open source. Run the Next.js app, the signaling server, and a coturn instance, and you're fully sovereign.

Ready to own your team workspace?

Free forever. Ten seconds to start. No credit card.

Create your free workspace