{% extends "base.html" %} {% block title %}Admin • Keywarden{% endblock %} {% block content %}

Admin

Global administrative controls for Keywarden.

Users

{{ summary.users }}

Servers

{{ summary.servers }}

Pending Requests

{{ summary.pending_requests }}

Active Grants

{{ summary.active_grants }}

{% if active_view == "users" %}

Users

Manage users, review logins, and jump to user-filtered grants.

{{ users|length }} users
{% if users %}
{% for row in users %} {% endfor %}
User Last login Grants applied Actions
{{ row.user.username }} {% if row.has_pending_erasure_request %} GDPR request {% endif %}
{% if row.user.last_login %} {{ row.user.last_login|date:"M j, Y H:i" }} {% else %} Never {% endif %} {{ row.active_grants_count }} active
{% csrf_token %}
{% if row.user.id != request.user.id %}
{% csrf_token %}
{% else %} Current user {% endif %}
{% else %}

No users found.

{% endif %}
{% elif active_view == "servers" %}

Servers

Manage registered servers and remove server records.

{{ servers|length }} servers
{% if servers %}
{% for server in servers %} {% endfor %}
Server Hostname / IP Agent enrolled Last heartbeat Actions
{{ server.display_name }} {{ server.hostname|default:server.ipv4|default:server.ipv6|default:"Unassigned" }} {% if server.agent_enrolled_at %} {{ server.agent_enrolled_at|date:"M j, Y H:i" }} {% else %} Not enrolled {% endif %} {% if server.last_heartbeat_at %} {{ server.last_heartbeat_at|date:"M j, Y H:i" }} {% else %} Never {% endif %}
{% csrf_token %}
{% else %}

No servers available.

{% endif %}
{% elif active_view == "grants" %}

Active grants

Review active grants, revoke access, and update expiry.

{% if selected_grant_user %}

Filtered for user: {{ selected_grant_user.username }}

{% endif %} {% if grant_rows %}
{% for row in grant_rows %} {% endfor %}
User Server Last use Expiry Actions
{{ row.grant.requester.username }} {{ row.grant.server.display_name }} {% if row.last_used_at %} {{ row.last_used_at|date:"M j, Y H:i" }} {% else %} No activity {% endif %} {% if row.grant.expires_at %} {{ row.grant.expires_at|date:"M j, Y H:i" }} {% else %} No expiry {% endif %}
{% csrf_token %}
{% csrf_token %}
{% else %}

No active grants available for this filter.

{% endif %}
{% else %}

Access request queue

Review and decide pending access requests.

{{ pending_access_requests|length }} pending
{% if pending_access_requests %}
{% for row in pending_access_requests %} {% endfor %}
Requester Server Requested scopes Requested at Actions
{{ row.request.requester.username }} {{ row.request.server.display_name }}
{% if row.request.request_shell %}Shell{% endif %} {% if row.request.request_logs %}Logs{% endif %} {% if row.request.request_users %}Users{% endif %} {% if row.request.requested_duration_hours %}{{ row.request.requested_duration_hours }}h{% endif %} {% if row.request.requested_server_username %}@{{ row.request.requested_server_username }}{% endif %}
{{ row.request.requested_at|date:"M j, Y H:i" }}
{% csrf_token %}
{% csrf_token %}
{% else %}

No pending access requests.

{% endif %}
{% endif %}

Global admin utilities

Central administrative tooling for Keywarden operations.

{% for utility in utilities %}

{{ utility.title }}

{{ utility.description }}

{% endfor %}
{% endblock %}