Auto-refreshing every 20s · last check {{ clock }}
Settings
Signed in as {{ me.email }}
Your current password is required so nobody can take over your account
from a machine you left signed in. Minimum 8 characters.
Add a user
User
Role
Last sign-in
{{ u.name || u.email }}
{{ u.email }}
{{ u.role }}
{{ u.last_login ? new Date(u.last_login*1000).toLocaleDateString() : 'Never' }}
Register a box
Box
Address
{{ b.label }}
{{ b.location }}
{{ b.host }}
Everything that has happened on this site
Nothing recorded yet.
When
Who
What happened
{{ auditWhen(a.ts) }}
{{ a.actor || '—' }}
{{ auditText(a) }}
Showing {{ auditShown.length }} of {{ auditRows.length }} entries, newest first.
Failed sign-ins are recorded too, so a wrong password is visible here.
Join {{ qrFor.name }}
{{ pwLabel(qrFor) }}
Point a phone camera at the code to join — no typing.
This network is hidden; the code still works.