Skip to content
Crowdbook

How it works

Shared contacts, kept current — with nothing readable on the server

Crowdbook does something that sounds contradictory: it lets a group pool their contact details, yet the service running it can never read those details. Here's how that works, step by step.

  1. 01

    Create an account — your keys are born on your device

    When you sign up, your device generates the cryptographic keys that protect everything. Your password is stretched with Argon2id into a master key that never leaves the device; the server only ever receives a separate, one-way authentication hash. From the very first second, the server cannot derive anything it could use to read your data.

  2. 02

    Start a group, or accept an invite

    A group is just a set of people who agree to share some contact details with each other — your immediate family, a team, a class. When a group is created, your device generates a single symmetric group key and wraps a personal copy of it for every member using their public key. Invite links can even be sent to people who haven’t joined yet; their copy of the key is attached the moment they register.

  3. 03

    Choose exactly what to share

    You decide, per group, which attributes to contribute: maybe your mobile number and email for the soccer parents, your full address for close family. Your device bundles your shared attributes, encrypts them with the group key, and uploads the result. What lands on the server is an opaque blob.

  4. 04

    Everyone’s devices quietly stay in sync

    Each member's app periodically checks for changes. When someone updates a number, every other member's device pulls the new encrypted blob, decrypts it locally with its copy of the group key, and merges the change into the phone's own Contacts app. Stale entries fix themselves — no group-chat announcements required.

What actually crosses the wire

Plaintext exists only on your devices. In between, everything is ciphertext.

Your device

Encrypts

Your contact details are readable here — and only here. They're sealed with the group key before upload.

Crowdbook server

Stores ciphertext

Holds only encrypted blobs and wrapped keys. It routes data between members and never has the means to decrypt any of it.

A peer's device

Decrypts

Unwraps its copy of the group key, decrypts the blob, and merges the update into the native Contacts app.

A few deliberate design choices

One-way sync into your contacts

Crowdbook writes updates into your phone; it never reads your private address book back out. What you share is only what you choose to contribute to a group.

You share attributes, not access

Sharing your number with a group doesn’t grant anyone a login or a view into your account — it just adds an encrypted attribute the group can decrypt.

Leaving is clean

Remove yourself or delete your account and your shared attributes are tombstoned, so peers’ devices drop them on the next sync.

Works offline, catches up later

Changes queue on your device and sync with retry and back-off when you’re back online. Updates are idempotent, so nothing double-applies.

Want the cryptographic detail?

The technology page walks through the exact key hierarchy, the challenge-response login, and why the server is structurally unable to read your contacts.