Solidus
Create Your DID

Every Time Your Identity Was Presented: the Activity Log

The heading above is our content plan's, and it promises something this log does not contain. It does not record presentations. It records sign-ins, your DID registration, and the moment you created a share, not that anyone used one, when, or who.

The rest of this page is what is actually in it.

What the log contains

Five kinds of event get written, and we enumerated the call sites rather than guessing:

event written when
auth.login you sign in
auth.google_login you sign in with Google
auth.github_login you sign in with GitHub
did.registered your identifier is registered during onboarding
credential.shared you create a share

Three of the five are sign-ins. In practice this is a login history with two identity events attached, and describing it as a presentation record would be wrong.

credential.shared is the one that gets misread, so to be exact: it fires when you make a share, not when a verifier opens it. The log knows what you offered. It does not know what anybody looked at.

What is not in it, checked properly

No presentation event exists anywhere in this product. A search across every backend module for a presentation or verification log entry returns nothing, and there is no presentation module in the backend at all. A control confirmed the search reaches this code.

So the questions the title invites, who verified my identity? when was my credential used?, have no answer here. Not a partial answer. No answer.

The second thing to know: the log is best-effort

Writes are fire-and-forget, and failures are swallowed on purpose. The writer's own comment says so: "Never throws — errors are swallowed so they don't break the main request." A failed insert is printed to a server console and dropped.

That is a defensible engineering choice and we are not going to pretend otherwise: it means a logging problem can never stop you signing in or creating a share. The user-facing action always wins.

The cost is completeness. This log is not a guaranteed record. If a write fails, the event is simply missing, nothing tells you, and there is no reconciliation pass that would notice. For an audit trail, something you could rely on to prove what happened: that is disqualifying, and a page describing it as one would be doing the thing this site exists to avoid.

What is genuinely right about it

  • It is per-user and authenticated. The endpoint scopes to your own account.
  • It supports filtering by event type, so the login noise can be set aside.
  • The failure mode is the safe one. Choosing to lose a log line rather than break a sign-in is the correct trade for this product: it is only the description of the result that has to stay honest.

What you cannot check yourself

The surface is behind authentication. /activity redirects to login, and a deliberately fake path returns 404, so the redirect means something, but you still need an account to see anything. This page is code-read evidence, not the run-it-yourself kind, and we would rather grade it than imply otherwise.

Our plan calls this page /activity-log. There is no such route directory, /activity is the real surface. /activity-log also redirects to login, but that is the auth middleware matching a path prefix, not proof a page exists; the fake path we tested returns 404, so the two signals are different.

Keep reading

Every Time Your Identity Was Presented: the Activity Log · Solidus — Solidus Identity