{% extends 'base.html' %} {% block title %}{{ evidence.evidence_number }} - DEICMS{% endblock %} {% block content %}
{{ evidence.evidence_number }}: {{ evidence.title }}
{% if current_user.can_manage() %} Edit Transfer Change State {% endif %} Verify Integrity Reconstruct Chain Audit Trail Risk Score
Evidence Details
{% set rows = [ ('Case', case.case_number), ('Category', evidence.category), ('File Name', evidence.file_name), ('File Size', (evidence.file_size // 1024)|string + ' KB' if evidence.file_size else '-'), ('MIME Type', evidence.file_mime_type or '-'), ('Uploaded By', evidence.uploader.full_name), ('Current Holder', evidence.current_holder.full_name if evidence.current_holder else '-'), ] %} {% for label, value in rows %}
{{ label }}
{{ value }}
{% endfor %}
State
{% set sc = {'Collected':'info','Submitted':'primary','Under Analysis':'warning', 'Transferred':'secondary','Archived':'dark','Flagged':'danger'} %} {{ evidence.lifecycle_state }}
Risk Level
{% if evidence.risk_level == 'High' %}High {% elif evidence.risk_level == 'Medium' %}Medium {% else %}Low{% endif %}
Integrity Hashes
Original Hash (SHA-256)
{{ evidence.original_hash }}
Current Hash (SHA-256)
{{ evidence.current_hash }}
{% if evidence.original_hash == evidence.current_hash %}
Hashes match - file integrity confirmed.
{% else %}
Hash mismatch detected! Evidence may have been tampered with.
{% endif %}
Custody Log
{% for log in custody_logs %} {% else %} {% endfor %}
#EventFromTo LocationReasonTimeSignature (Truncated)
{{ loop.index }} {{ log.event_type }} {{ log.from_investigator.full_name if log.from_investigator else '-' }} {{ log.to_investigator.full_name if log.to_investigator else '-' }} {{ log.location or '-' }} {{ log.reason or '-' }} {{ log.timestamp.strftime('%d %b %Y %H:%M') }} {{ log.digital_signature[:16] + '...' if log.digital_signature else '-' }}
No custody events recorded.
{% endblock %}