NULLTOUCHHome

The Glass Box · Public booking log

Booked calls, on a log we can't quietly rewrite.

The Glass Box is our public record of booked calls. Once our booking tool is connected, each booked call will be written here by a signed webhook from the booking tool. Every row will be chained to the row before it, and each night the newest row's hash will be sent to the OpenTimestamps calendars, which anchor it in Bitcoin within a few hours. Change any old row and every hash after it breaks.

The log counts every booking made through our booking link. The guarantee counts calls that match the profile you signed off (see the FAQ on the homepage).

Status: Not connected yet. Counting starts with our first client's first send. Until the booking tool is connected, nothing is logged and the log stays empty.

Live numbers

Emails sent

—

Connects at launch

Replies

—

Connects at launch

Calls booked

0

From the log below, live

Sends and replies will come from our sending tool's campaign stats once it's connected. Warm-up mail is never counted. Booked calls are counted straight from the log.

The log

Each row holds a row number, the time, a short client code, the event, a salted hash of the booking's ID, and the hashes that chain it. Never a name, email, company or note.

No rows yet. The first row will be written when a client's first call is booked, once the booking tool is connected.

Chain check: no rows to check yet. Full log as JSON: /api/glass-box/log.

Nightly proofs

No proofs yet. The first one is made within an hour of the first row, then once a day (00:07 UTC).

Check it yourself

  1. Download the log: /api/glass-box/log.
  2. For each row, sha256 this exact text (UTF-8, no trailing newline: use printf, not echo): nulltouch-glass-box/v1|seq|ts|client|event|source|ref_hash|prev_hash. The result must equal the row's hash, and each prev_hash must equal the hash of the row before it. The first row's prev_hash is 64 zeros.
  3. Pick a night's proof and download both files. The .txt is the exact text of that night's newest row, so its sha256 is that row's hash.
  4. On opentimestamps.org, drop the .ots file, then the .txt file. Or with the OpenTimestamps client (needs a Bitcoin Core node, pruned is fine): ots upgrade glass-box-DATE.ots, then ots verify -f glass-box-DATE.txt glass-box-DATE.ots.

What this proves, and what it doesn't