Sharing your calendar
Calendite's sharing has no accounts, no sign-up, and no server that can read your events. This page explains how to use it, and exactly what does and doesn't happen to your data, so you can check the claims above.
Sharing is Android only for now. On iOS and the web the option shows a "not available here" screen. Both phones must be on the same Wi-Fi to pair.
Pairing with someone
More → Share calendar. Three options: Invite Someone, Been Invited?, and Use Calendite On A Computer.
The flow, in person:
- You tap Invite Someone. Your phone shows a QR code and starts advertising on the local network. (There's a typed code as a fallback, but it's 24 characters: an emergency exit, not the main path.)
- They tap Been Invited? and scan it.
- Both phones now show the same six digits. Compare them out loud.
- Both of you tap They Match. This is a hard gate: nothing has moved yet, and the calendar key isn't sent until both sides confirm. If the digits differ, tap They Don't Match and nothing has happened.
- You name them. The name is stored on your device only and never transmitted.
- A first sync runs.
The six-digit check is the security of the whole thing. It's what makes it impossible for someone to interpose themselves between the two phones: they'd have to make two different key exchanges produce the same six digits.
After pairing
Their events appear on your calendar alongside yours, marked as theirs, and read-only to you. Yours appear on theirs.
The tag filter grows a segmented control letting you look at your events or theirs.
To stop: More → Share calendar → People You Share With → remove them. That purges their events, revokes their device, rotates the calendar key and dissolves the shared mailbox.
Hiding individual events
You can mark an event hidden from a partner. They see a Busy block: start, end, duration, nothing else.
This is stronger than the equivalent in other apps: for a hidden event, only the timing is ever encrypted under the shared key. The title, location and everything else are never sent in any form. A modified client on their end has nothing to decrypt. The hiding is enforced by cryptography, not by their app choosing to respect a flag.
Also: everything you created before pairing never travels at all, regardless of settings.
Syncing when you're not together
By default, sharing syncs only when both phones are on the same network. That's the
Same network only setting.
If you want it to work when you're apart, choose a sync server at More → Settings → Sync Server:
| Choice | What it means |
|---|---|
| Same network only (default) | no server involved at all |
| The Calendite relay | our server holds sealed blobs until the other phone collects them |
| Your own deployment | the same, on infrastructure you control |
What a sync server can and can't see
If you enable one:
It cannot see: your events, titles, times, locations, notes, tags, the names you gave people, or any encryption key. Everything it stores is sealed, and it has nothing to open it with.
It can see: the traffic shape, meaning that some mailbox received some data of some size at some time, and 16-character device identifiers.
It holds data only until every device has collected it, then drops it.
Access to a mailbox is by knowledge of its address, which is derived from the calendar key. Only members can compute it.
The encryption, briefly
Every change is encrypted twice, under independently derived keys: ChaCha20-Poly1305 and then AES-256-GCM. Breaking one leaves you facing the other.
Key agreement is hybrid post-quantum: X25519 (classical) combined with ML-KEM-768 (lattice). An attacker has to break both, so recording traffic today in the hope of decrypting it with a future quantum computer doesn't work. Signatures are likewise Ed25519 and ML-DSA-65, with both required.
On your phone, keys are wrapped by hardware-backed storage (StrongBox where the device has it).
Alerts and notes are deliberately never shared. Your partner sees the event, not your reminders about it or what you wrote.
How the encryption works covers all of this properly, including what it doesn't protect against.
Limitations
- Revocation protects the future, not the past. What someone already synced is on their device. Removing them stops what comes next.
- Sharing is one partner at a time in the current build. It's not a group calendar.
- Async invites (sharing a link for someone to accept later) are recognised but not yet redeemable. The app will tell you to ask for a live code instead.
- Owner markers and Busy blocks are not drawn in the calendar views yet, even though the data behind them syncs correctly.
Using Calendite in a browser
Use Calendite On A Computer links a browser to your phone, similar to WhatsApp Web: the page shows a QR, your phone scans it, and your calendar appears in the browser and stays in step.
This is partly built. The linking steps work; the encrypted lock on browser storage is not yet in place. Treat it as unfinished.
Next
- How the encryption works: two ciphers, hybrid post-quantum keys, and no key server
- What leaves your device: the complete list, including the two calls the location feature makes
- Troubleshooting: pairing failures, including a known silent one on Android 13+