Privacy Assessment Report
{{ report.system_name or 'Unknown System' }}
{{ report.data_use_name or '' }}
{% if not is_external %}| 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) }}% |
Generated: {{ report.metadata.generation_timestamp | format_date('%Y-%m-%d %H:%M UTC') }}
{% endif %}{{ 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 %}{{ question.id }}. {{ question.question_text }}
{% if question.answer_text %} {{ question.answer_text }} {% else %} No answer provided yet. {% endif %}
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 %}| 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 }} |