Presence and check-ins
Provenance says where words came from. Presence says whether a person was there while they were written. A seal carries both: the outer ring is provenance, the inner ring is presence.
Presence signals
Section titled “Presence signals”While a person has a document open and the page is visible, the editor reports every half minute whether they typed or pointed in it since the last report. These come from events the browser itself sent, not from anything your page can trigger: the editor runs on Proof’s own origin, and your page can’t script it. Proof keeps one record a minute for each person.
Nothing here records what people type outside the editor, their screen, or their camera. Presence is about attention to this document, nothing more.
Sittings and the session
Section titled “Sittings and the session”A sitting is a stretch of work on a document with no gap longer than 30 minutes. A document’s session is all the minutes in which anyone edited it, or someone writing in it was present. The seal line reports sittings and their total time: 2 sessions, 1hr48min.
The Presence share
Section titled “The Presence share”Presence is the share of the session with a person present: editing or moving in the editor, and the five minutes after, which covers reading back and thinking, in sittings where they edited. Minutes when only an agent was working, or when nobody was looking, aren’t present.
A sitting someone only read in counts neither way: reading alone isn’t writing, and it doesn’t count against anyone.
Check-ins
Section titled “Check-ins”Presence signals show that someone was at the editor. Check-ins show it was someone with a particular security key, and they are the one signal neither a script nor a platform can produce.
People add security keys and choose an interval in presence settings, which run on Proof’s own domain (embed.proof.exalto.ai) so that keys are registered to Proof, not to any one platform. You frame them in your settings with mountPresenceSettings(), or open them in a window with openPresenceSettings(); see Set up check-ins.
| Interval | Meaning |
|---|---|
| Never | No check-ins. The default. |
| About every 1, 5, 10 or 30 minutes | Proof asks for a tap at random times between half and one and a half intervals apart, while they write. |
How asks work:
- The first ask comes with their first edit after half an hour away from writing anywhere on your platform; the next at a random time within the interval.
- Only editing asks. Reading, pointing and clicking ask nothing; accepting or rejecting a suggestion is an edit, so it can.
- A card at the foot of the editor asks for a tap. It’s answered within a minute or recorded as missed. Nothing stops them writing either way.
- Check-ins belong to the person, not to a document. One tap vouches for their writing in every document they work in, and a miss counts against all of them.
Your users can also set the interval through your own settings screen with PUT /v1/users/{user_id}/checkins, once they have a key. Adding keys always happens in Proof’s presence settings.
Key tiers
Section titled “Key tiers”When someone adds a key, Proof sorts it into a tier and keeps the tier with each check-in it answers:
| Tier | Keys |
|---|---|
| Attested | Hardware that proves its model is on the FIDO Metadata Service’s list: security keys such as a YubiKey, Windows Hello on a TPM. |
| Claimed | Built-in authenticators that send no proof of their model, such as Touch ID through iCloud Keychain or Google Password Manager. |
| Refused | Third-party password managers and unknown software. These can’t be added. |
The tier is kept as data. Today it doesn’t change the seal; a later method could read it.
Verified Presence
Section titled “Verified Presence”Check-ins turn presence into Verified Presence, one sitting at a time. A person’s sitting is verified when:
- every minute they edited in it came soon enough after a check-in they passed (within roughly one and a half of their intervals), and
- no check-in they left unanswered was followed by more of their edits.
Then their writing in that sitting, and their reading within five minutes of it, is verified. So:
- a miss costs only the sittings they went on writing in soon after it;
- reading long after they stopped writing isn’t verified, however often they check in;
- turning check-ins off stops vouching for what follows;
- someone who never checks in simply goes unverified. Nothing counts against them.
When every sitting anyone wrote in was verified, the seal shows a shield, Presence reads Verified Presence, and the seal line ends (verified). When some was, it ends with the share, such as (73% verified).
Real browsers
Section titled “Real browsers”Each editor connection is also asked, invisibly, to prove it’s a real browser rather than a script, when it first writes and every five minutes after. Proof keeps the answers as data with the record. They aren’t shown on the seal.