{% extends "base.html" %} {% block content %}

Access

Keys to the door.

Passkeys are bound to this device and this domain. Add a second one before you need it — phones make excellent spares.

{% if added %}
Passkey added. Keep this device somewhere safe — or add another key as a backup.
{% endif %} {% if passkey_count == 1 %}
You have one passkey. A second one on another device prevents a lockout if this one is lost.
{% endif %}

Passkeys

{{ passkey_count }} registered
{% for credential in credentials %}
{{ credential.name }} {% if loop.first %}primary{% endif %} {% if credential.backup_state %}synced{% elif credential.backup_eligible %}backup ready{% endif %}
added {{ credential.created_at|relative_time }} last used {{ credential.last_used_at|relative_time }} {% if credential.transports %}{{ credential.transports|join(' · ') }}{% endif %} {% if credential.user_verified %}user verified{% endif %}
{% else %}
No passkeys yet. Add one to sign in.
{% endfor %}

Sessions

{{ session_count }} active · {{ session_ttl_hours }}h lifetime
{% for item in sessions %} {% else %} {% endfor %}
Client Address Last seen Expires Actions
{{ item.user_agent|client }} {% if item.id == current_session_id %}this device{% endif %} {{ item.ip or 'unknown' }} {{ item.expires_at|absolute_time }}
No active sessions.
{% if session_count > 1 %}
{% endif %}
{% endblock %} {% block modals %}
{% endblock %}