{% extends "base.html" %} {% block title %}Account Settings – Memlord{% endblock %} {% block content %} {% if request.query_params.get('name_updated') %}
Display name updated.
{% endif %} {% if request.query_params.get('pw_updated') %}
Password changed successfully.
{% endif %} {% if request.query_params.get('key_deleted') %}
API key deleted.
{% endif %} {% if request.query_params.get('purged') is not none %}
Removed {{ request.query_params.get('purged') }} expired memor{{ 'y' if request.query_params.get('purged') == '1' else 'ies' }}.
{% endif %}
Display name
{% if name_error %}
{{ name_error }}
{% endif %}
Change password
{% if pw_error %}
{{ pw_error }}
{% endif %}
Two-factor authentication
{% if user.totp_enabled %}
2FA is active on your account.
Manage 2FA {% else %}

Add an extra layer of security with a time-based one-time password.

Enable 2FA {% endif %}
API keys

Use an API key to authenticate the MCP endpoint. Send it as Authorization: Bearer <key>.

{% for key in api_keys or [] %}
{{ key.name }}
{{ key.prefix }}… · created {{ key.created_at.strftime('%Y-%m-%d') }} {% if key.last_used_at %} · last used {{ key.last_used_at.strftime('%Y-%m-%d') }} {% else %} · never used {% endif %}
{% else %}

No API keys yet.

{% endfor %}

API key created

Key created. Copy it now — it won't be shown again.


                
            
Expired memories

Memories past their expiry are already hidden from search and lists. Use this to permanently delete the expired ones from workspaces you can edit.

Delete account

This will permanently delete your account, all your memories, and all workspaces you own. This action cannot be undone.

{% if delete_error %}
{{ delete_error }}
{% endif %}
{% endblock %}