Open source
Two parts of BeatTime are public code under the Apache 2.0 licence — and they are the two parts where you would otherwise have to take our word for something.
That is the whole rule we apply. A service that asks you to verify things for yourself cannot hand you a verifier nobody may read, and a scheme built on independent key holders cannot ask those holders to run a program they are not allowed to inspect. Everything else is a business decision; these two are not.
beat-key — the independent key server
beat-key
Go · Apache-2.0 · container image about 3 MB
A time capsule sealed on this site cannot be opened by us alone. The key is split between an independent randomness beacon (drand) and key servers run by other people — this is the software those people run. It publishes exactly one thing: a BLS signature over a beat identity, and only once that beat has already passed. For any beat still in the future it answers with a plain 404.
It holds one 32-byte private key, generated on the operator's own machine on first start. There is no import path: nobody can hand an operator a key, and an operator cannot accidentally deploy someone else's. It stores no user data — not one byte of anyone's content passes through it.
- no user data
- 2–3 MB of RAM
- downtime delays, never destroys
- reproducible verification with cosign
BeatStamp — the desktop proof client
BeatStamp
Python · PySide6 (Qt) · Apache-2.0 · Windows 10/11, 64-bit
A desktop client for the public proof-of-existence log. It gives a file a timestamp you can later use to show the document existed at a given moment and has not changed since. The file never leaves the computer: only its SHA-256, computed locally, goes out.
It checks proofs itself instead of asking our server whether everything is fine. It recomputes the Merkle inclusion path, verifies the Ed25519 signature against keys compiled into the program rather than keys the server sends, and refuses a stamp whose time falls outside the week its root covers. Proof files verify offline, with no network and no account.
- file stays on your device
- no account, no telemetry
- offline verification
- English, Polish, German
The download is not signed with a code-signing certificate, so Windows warns you the first time you run it. We say that plainly rather than let you find out: what you can check instead is the SHA-256 published with every release, the source of that exact version, and the proofs themselves — which hold without trusting the program that made them.
The API clients
The five single-file clients on the integrations page — Python, PHP, JavaScript, C# and C++17 — are Apache-2.0 as well. Copy one into your project; there is nothing to install and no key to request.
What is not open
The server behind beattime.live is not public code. We would rather write that here than let you assume otherwise.
It also does not need to be, and that is the point of the design: a proof from this service is checked against public data, not against our good name. The weekly Merkle roots are published on the proof page, anchored in Bitcoin and against an independent bank reference; the algorithms are written down in the specification, and the client above recomputes everything from your file. If we vanished tomorrow, the proofs you hold would still verify.