fieldwitness/frontends/web/templates/attest/log.html
Aaron D. Lee 490f9d4a1d Rebrand SooSeF to FieldWitness
Complete project rebrand for better positioning in the press freedom
and digital security space. FieldWitness communicates both field
deployment and evidence testimony — appropriate for the target audience
of journalists, NGOs, and human rights organizations.

Rename mapping:
- soosef → fieldwitness (package, CLI, all imports)
- soosef.stegasoo → fieldwitness.stego
- soosef.verisoo → fieldwitness.attest
- ~/.soosef/ → ~/.fwmetadata/ (innocuous data dir name)
- SOOSEF_DATA_DIR → FIELDWITNESS_DATA_DIR
- SoosefConfig → FieldWitnessConfig
- SoosefError → FieldWitnessError

Also includes:
- License switch from MIT to GPL-3.0
- C2PA bridge module (Phase 0-2 MVP): cert.py, export.py, vendor_assertions.py
- README repositioned to lead with provenance/federation, stego backgrounded
- Threat model skeleton at docs/security/threat-model.md
- Planning docs: docs/planning/c2pa-integration.md, docs/planning/gtm-feasibility.md

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 15:05:13 -04:00

48 lines
2.0 KiB
HTML

{% extends "base.html" %}
{% block title %}Attestation Log — FieldWitness{% endblock %}
{% block content %}
<div class="row justify-content-center">
<div class="col-lg-10">
<div class="d-flex justify-content-between align-items-center mb-4">
<h4><i class="bi bi-journal-text me-2"></i>Attestation Log</h4>
<span class="badge bg-info">{{ total }} total record{{ 's' if total != 1 }}</span>
</div>
{% if records %}
<div class="table-responsive">
<table class="table table-hover table-dark">
<thead>
<tr>
<th>#</th>
<th>Short ID</th>
<th>Attestor</th>
<th>Timestamp</th>
<th>SHA-256</th>
<th>Caption</th>
</tr>
</thead>
<tbody>
{% for item in records %}
<tr>
<td class="text-muted">{{ item.index }}</td>
<td><code class="text-info">{{ item.record.short_id }}</code></td>
<td><code class="small">{{ item.record.attestor_fingerprint[:12] }}...</code></td>
<td class="small">{{ item.record.timestamp.strftime('%Y-%m-%d %H:%M') }}</td>
<td><code class="small text-warning">{{ item.record.image_hashes.sha256[:16] }}...</code></td>
<td class="small text-muted">{{ item.record.metadata.get('caption', '') | truncate(40) }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% else %}
<div class="alert alert-secondary">
<i class="bi bi-inbox me-2"></i>
No attestations yet. <a href="/attest" class="alert-link">Attest your first image</a>.
</div>
{% endif %}
</div>
</div>
{% endblock %}