{% extends "base.html" %} {% block title %}Dmint — Approval {{ record.approval_id[:16] }}…{% endblock %} {% block content %} {# ── Breadcrumb ───────────────────────────────────────────────────── #}
  1. Dashboard
  2. Approval
{# ── Detail heading ───────────────────────────────────────────────── #}
Deterministic Gate Decision

Approval request

{{ record.approval_id }}
{{ record.state }}
{# ── Request overview ─────────────────────────────────────────────── #}

Request

Agent
{{ record.agent_id }}
Tool / Action
{{ record.tool }} / {{ record.action }}
Resource
{{ record.resource }}
Integration
{{ record.integration_id }} / {{ record.capability_id }}
Request ID
{{ record.request_id }}
Approval ID
{{ record.approval_id }}
Created
{{ record.created_at }}
Expires
{% if record.state == 'PENDING' %} {{ record.expires_at }} {% else %} {{ record.expires_at }} {% endif %}
{# ── Arguments ────────────────────────────────────────────────────── #}

Arguments

Treat as untrusted — do not execute
{{ record.arguments_json }}
{# ── Policy provenance ────────────────────────────────────────────── #}

Policy provenance

Version
{{ record.policy_version_id }}
Digest
{{ record.policy_digest }}
Evaluated at
{{ record.policy_evaluated_at }}
Fingerprint
{{ record.fingerprint }}
{# ── Decision info (if decided) ───────────────────────────────────── #} {% if record.state != 'PENDING' %}

Decision

Outcome
{{ record.state }} {% if record.state_reason %} {{ record.state_reason }} {% endif %}
{% if record.decision_at %}
Decided at
{{ record.decision_at }}
{% endif %} {% if record.authority_subject %}
Decided by
{{ record.authority_subject }} {{ record.authority_kind }}
{% endif %} {% if record.consumed_at %}
Consumed at
{{ record.consumed_at }}
{% endif %}
{% endif %} {# ── Retry assertion handoff (APPROVED only) ─────────────────────── #} {% if record.assertion_available %}

Host retry credential

Download the signed Ed25519 assertion bound to this exact request and provide it to the protected host for engine.retry(...). Core consumes it atomically on first use; replay fails closed.

Download assertion artifact

This artifact is a single-use credential. Treat it like a secret and do not place it in agent-visible storage.

{% endif %} {# ── Approve / Reject (PENDING only) ──────────────────────────────── #} {% if record.is_pending %}

Your decision

Irreversible — Core records the decision atomically
{# ── Approve modal ────────────────────────────────────────────────── #} {# ── Reject modal ─────────────────────────────────────────────────── #} {% endif %} {% endblock %}