{% extends "base.html" %} {% block title %}{{ case.subject }} — Locate{% endblock %} {% block content %} {% if case.sensitivity == 'minor' %}
⚠ MINOR SUBJECT — extra-sensitive. Handle per child-protection protocol: minimize distribution, route findings to law enforcement, and purge on resolution. This case defaults to a conservative retention horizon.
{% endif %} {% set lk = footprint.last_known %} {% if lk %}
LAST-KNOWN
{{ lk.label }}
±{{ "%.0f"|format(lk.radius_km) }} km · {{ lk.corroboration }} corroborating signal(s){% if lk.as_of %} · as of {{ lk.as_of[:10] }}{% endif %}
{{ "%.0f"|format((lk.confidence or 0)*100) }}%
confidence
{% else %}
Insufficient signal for a last-known estimate. Add a known signal below.
{% endif %} {% if mapcfg.enabled %}
{% endif %} {% if footprint.conflicts %}

⚠ Conflicts

{% for cf in footprint.conflicts %}
{{ cf.detail }}{% if cf.places %} — {{ cf.places | join(' vs ') }}{% endif %}
{% endfor %}
{% endif %}
{% if footprint.search_grid %}

◎ Search grid — where to look next

{% for g in footprint.search_grid %}
{{ loop.index }} {{ g.pol }} {{ g.label }} {{ g.pol_reason }} {{ "%.0f"|format(g.score*100) }}
{% endfor %}
{% endif %}

Candidate areas — {{ footprint.counts.signals }} signals across {{ footprint.counts.clusters }} places

{% for c in footprint.clusters %}
{% if c.pol %}{{ c.pol }}{% endif %} {{ c.label }}{% if c.eliminated %} ✕{% endif %}
{{ "%.0f"|format((c.combined_confidence or 0)*100) }}% {{ c.signal_count }} · {{ c.kinds | join(', ') }} · ±{{ "%.0f"|format(c.radius_km) }}km {% if c.lat is not none and c.lon is not none %}{% endif %}
{% endfor %}

Signals (sourced)

{% for s in footprint.signals %} {% endfor %}
KindPlaceEff (kind×attr)SourceObserved
{{ s.kind }}{% if s.polarity == 'negative' %} NEG{% endif %}{% if s.entry == 'manual' %} ✎{% endif %}{% if s.scrubbed %} ⚑ scrubbed{% endif %} {{ s.place.city or s.place.region or s.place.country or '—' }}{% if s.place.zip %} {{ s.place.zip }}{% endif %} {{ "%.2f"|format(s.effective_confidence) }} ({{ "%.2f"|format(s.kind_confidence) }}×{{ "%.2f"|format(s.attribution_confidence) }}) {% if s.source_url %}{{ s.source }} ↗{% else %}{{ s.source }}{% endif %} {{ s.observed_at[:10] if s.observed_at else '—' }}

Add a known signal

Add location from photo (EXIF)

Fetches the image and reads GPS EXIF if present. Most social platforms strip EXIF on re-upload — use the original file.

Chain of custody

{% for a in audit %}
{{ a.at[:19] if a.at }} · {{ a.action }}{% if a.source %} [{{ a.source }}]{% endif %}{% if a.detail %} — {{ a.detail }}{% endif %} · {{ a.actor or '—' }}
{% endfor %}
{% endblock %} {% block scripts %} {% if mapcfg.enabled %} {% endif %} {% endblock %}