{{ report.template_name or 'Privacy Assessment' }}

Privacy Assessment Report

{{ report.system_name or 'Unknown System' }}

{{ report.data_use_name or '' }}

{% if not is_external %}
{{ report.status | replace('_', ' ') }} {% if report.risk_level %} {{ report.risk_level | replace('_', ' ') }}{% if report.risk_level != 'no_risk' %} Risk{% endif %} {% endif %}
{% endif %}

Assessment ID: {{ report.id }}

Template: {{ report.template_id }}

Created: {{ report.created_at | format_date('%B %d, %Y') }}

Last Updated: {{ report.updated_at | format_date('%B %d, %Y at %H:%M UTC') }}

{% if not is_external %}

Completion: {{ report.completeness | round(1) }}%

{% endif %}
{% if not is_external %}

Executive Summary

Assessment Name{{ report.name or 'Unnamed Assessment' }}
System{{ report.system_name or 'Unknown' }}{% if report.system_fides_key %} ({{ report.system_fides_key }}){% endif %}
Data Use{{ report.data_use_name or 'Not specified' }}
Data Categories{{ report.data_categories | join(', ') if report.data_categories else 'None specified' }}
Status{{ report.status | replace('_', ' ') }}
Risk Level{% if report.risk_level %}{{ report.risk_level | replace('_', ' ') }}{% else %}Not assessed{% endif %}
Completion{{ report.completeness | round(1) }}%
{% if report.metadata %}

Assessment Metadata

Generated: {{ report.metadata.generation_timestamp | format_date('%Y-%m-%d %H:%M UTC') }}

{% endif %}
{% endif %} Assessment Questions & Responses {% for group in report.question_groups %}

{{ group.id }}. {{ group.title }}

{% if group.risk_level and not is_external %}

{{ group.risk_level | replace('_', ' ') }}{% if group.risk_level != 'no_risk' %} Risk{% endif %}

{% endif %}
{% for question in group.questions %}

{{ question.id }}. {{ question.question_text }}

{% if question.answer_text %} {{ question.answer_text }} {% else %} No answer provided yet. {% endif %}

{% if question.evidence and question.evidence | length > 0 and not is_external %}

Supporting Evidence ({{ question.evidence | length }} item(s))

{% for evidence in question.evidence[:5] %}

{% set ev_field = evidence.get('field_name') %} {% set ev_value = evidence.get('value') %} {% set ev_source = evidence.get('source_key') %} {% if evidence.type == 'system' %} System Data: {%- if ev_field is not none and ev_value is not none %} {{ ev_field }}: {{ (ev_value | string)[:150] }}{% if ev_source %} ({{ ev_source }}){% endif %} {%- else %} {{ evidence.get('value_display') or ev_value or 'N/A' }} {%- endif %} {% elif evidence.type == 'ai_analysis' %} {# Evidence carries either an analysis dict (reasoning) or a flat Fides data source #} {% set ai_reasoning = (evidence.get('analysis') or {}).get('reasoning') %} AI Analysis: {%- if ai_reasoning %} {% set ai_text = ai_reasoning | string %} {{ ai_text[:200] }}{% if ai_text | length > 200 %}...{% endif %} {%- elif ev_value is not none %} {{ ev_field or evidence.get('source_type') or 'data' }}: {{ (ev_value | string)[:150] }}{% if ev_source %} ({{ ev_source }}){% endif %} {%- else %} Analysis provided {%- endif %} {% elif evidence.type == 'manual_entry' %} Manual Entry: {{ (((evidence.get('entry') or {}).get('new_value') or 'User input') | string)[:200] }} {% elif evidence.type == 'team_input' %} Team Input: Slack questionnaire response {% else %} {{ evidence.type | title }}: Evidence recorded {% endif %}

{% endfor %} {% if question.evidence | length > 5 %}

... and {{ question.evidence | length - 5 }} more evidence items

{% endif %}
{% endif %}
{% endfor %}
{% endfor %} {% if report.questionnaire and not is_external %}

Stakeholder Questionnaire

Sent To{{ report.questionnaire.channel }}
Sent At{{ report.questionnaire.sent_at | format_date('%Y-%m-%d %H:%M UTC') }}
Questions Sent{{ report.questionnaire.total_questions }}
Questions Answered{{ report.questionnaire.answered_questions }}
Reminders Sent{{ report.questionnaire.reminder_count }}
{% endif %}