{% extends "base.html" %} {% import "_macros.html" as m %} {% block title %}Vault — rosbackup-ng{% endblock %} {% block page_title %}Vault{% endblock %} {% block head_actions %}{% if unlocked %}+ Add secret{% endif %}{% endblock %} {% block content %}
{% if not unlocked %}

Secrets are encrypted at rest with a key derived from {{ env_var }}. While it is unset, nothing can be stored — the store fails closed rather than keeping plaintext.

{% else %}

SSH private keys and passwords, encrypted at rest. They are write-only — the plaintext is never shown again after saving; only the backup engine decrypts them. Reference a secret by name from a device or storage/SMTP config.

{% if secrets %} {% for s in secrets %} {% endfor %}
NameKindAddedLast used
{{ s.name }} {{ 'SSH key' if s.kind == 'ssh_key' else 'password' }} {{ s.created_at | datetime }} {{ (s.last_used_at | datetime) if s.last_used_at else '—' }} {{ m.icon_delete('/ui/vault/' ~ (s.name|urlencode) ~ '/delete', 'Delete secret “' ~ s.name ~ '”? Devices referencing it will fall back to inline config.', 'Delete secret') }}
{% else %}

No secrets stored. Add one →

{% endif %} {% endif %}
{% endblock %}