About Keeper.sh

Keeper.sh stops your calendars double-booking each other. Rida F'kih built it for his own four calendars, and still writes and maintains it.

Who builds Keeper.sh

Rida F'kih writes and maintains Keeper.sh, and holds the copyright on it. The sync code, the API, the MCP server and this website all live in one public repository. You can read every change as it lands.

He also writes the posts on the blog, where the comparisons and the provider guides live. You can find him on GitHub and at rida.dev.

Why Keeper.sh exists

It started with four calendars: two on Google, one on Fastmail and one on iCloud. Anyone trying to book time saw a different, incomplete week. Meetings kept landing on top of each other.

The tools that already existed charged more the more calendars you had, and none of them read Fastmail. They also copied the event contents across. Keeper.sh does the smaller job: block the same time everywhere, and keep the details private until you turn them on.

The longer version of that story is in the post about building it.

Why anyone can read the code

Keeper.sh has to read your whole events to work out when you are busy. You should be able to check what it does with them, so the code is public and licensed under AGPL-3.0. The hosted service at keeper.sh runs the same code that is in the repository.

AGPL was chosen because this software normally runs as a service. Anyone who runs a changed version has to publish their changes under the same licence. Improvements stay in the open.

Every account on a self-hosted instance gets every paid sync feature, with no plan limits. Paying for the hosted version buys you the server, the upgrades and the backups. It funds the work on both.

How to report a bug or ask a question

File bugs and feature requests as issues on GitHub. They are triaged in public. For anything else, email [email protected].

Ready to stop double-booking?

Connect your calendars and they all show you as busy at the same times. Or read the code first.

Can Keeper.sh use cookies for analytics?