What we hold right now

This page reads our database while you look at it: every table, every column, and how many rows each one has. It proves what this database holds. It cannot prove there is no other. Nothing in any of these tables came from anyone’s Gmail or Calendar.

  • Server: answered at 16:12:05 UTC
  • Script published: 4.8 · Contract version: 4
  • Billing: switched off

Checked at 16:12:05 UTC. Checked again every 60 seconds while this page is open.

Every table

Five tables. Beside each is how many rows it has, as of the time on the strip above. Under each is every column and what it means.

Sheets counted

12 rows

blotter_installs

One row per sheet that has run Blotter. Counts only, so a broken version can be noticed before people have to write in.

install_id
A random number that identifies the sheet. Made from nothing about you. It is the Blotter ID shown in your Settings tab.
first_seen
When this sheet first reported a run.
last_seen
When it last reported one.
contacts
How many contacts were in it on the last run. The number, not the contacts.
seconds
How long the last run took.
ok
Whether the last run worked.
contract_version
Which version of the agreement between sheet and server it spoke.
courier_version
Which version of the script it was running.

Blotter keys

1 row

blotter_keys

One row per key ever issued. Paying is built and switched off, so nothing here decides anything today.

keynever shown
The key itself. Never shown here, not even to the sheet it belongs to.
created_at
When it was issued.
install_id
The sheet it was first used in, if it has been used.
bound_at
When that first use happened.
entitled_until
When it stops being valid. Blank means it does not.
revoked_at
Set if a refund or chargeback withdrew it.
stripe_session_id
Stripe's reference for the checkout. Not a card number; Blotter never sees those.
stripe_payment_intent
Stripe's reference for the payment.
stripe_subscription_id
Stripe's reference for the subscription, if it is one.
note
A note a person typed when issuing it.

Key mismatches

0 rows

blotter_key_mismatches

A key used by a sheet other than the one it was first used in. Recorded for a person to look at. Never used to refuse a run.

id
A row number.
keynever shown
The key that was presented. Never shown here.
seen_install_id
The sheet that presented it.
seen_at
When.

Front-page sign-ups

17 rows

leads

The email form on the front page. Everything here was typed into the website by the person it is about. Nothing from anyone's Gmail.

id
A row number.
email
The address typed into the form.
recruiting_track
The answer to the form's first question.
recruiting_window
The answer to its second.
recruiting_track_other
The first question's write-in box.
recruiting_window_other
The second question's write-in box.
surface_variant
Which version of the page was showing.
cta_location
Which button on it was used.
visitor_id
A random id for the browser, from the site's own analytics.
session_id
A random id for the visit.
furthest_stage
How far down the page they got.
furthest_stage_index
The same stage as a number, so the database can keep the highest one it has seen.
test_iteration
Which round of the page design was live.
is_internal
Marked when the sign-up was one of us, testing the form.
created_at
When the form was sent.
updated_at
When the row last changed.

To have yours deleted, email blotterib@gmail.com from that address.

Contact form messages

2 rows

contact_messages

What people sent through the contact page. Typed into the website by the person it is about.

id
A row number.
email
The address they gave.
name
The name they gave, if any.
message
What they wrote.
source_path
Which page the form was on.
session_id
A random id for the visit.
visitor_id
A random id for the browser.
is_internal
Marked when the message was one of us, testing the form.
created_at
When it was sent.

To have yours deleted, email blotterib@gmail.com from that address.

That is the whole list. Twotables hold email addresses, because people typed them into this website. None holds anything from anyone’s mailbox or calendar.

Two saved views

A view holds no rows of its own. Each one is a filter over a table above, hiding the rows we marked as our own tests.

real_leadsover leads
The sign-ups, without our own test entries.
real_contact_messagesover contact_messages
The messages, without our own test entries.

Find your sheet

Paste your Blotter ID. It is on your sheet’s Settings tab and under Blotter → Check this sheet. You get every row about that sheet, from every table. The key is masked, and the three Stripe reference numbers show only as set or blank. The id is random and not linked to a name or an email, so there is no way to look up anyone else’s.