{% extends "base.html" %} {% block title %}Shadow Profile — OwlScan{% endblock %} {% block content %}
◈ QUERY PARAMETERS ← NEW SEARCH
{% if query.first_name or query.last_name %}
Name: {{ query.first_name }} {{ query.last_name }}
{% endif %} {% if query.email %}
Email: {{ query.email }}
{% endif %} {% if query.phone %}
Phone: {{ query.phone }}
{% endif %} {% if query.username %}
Username: {{ query.username }}
{% endif %}
{{ "%.0f"|format(profile.shadow_score or 0) }}/100
SHADOW SCORE
{{ "%.0f"|format((profile.confidence or 0) * 100) }}%
CONFIDENCE
{{ (profile.emails or [])|length }}
EMAILS
{{ (profile.phones or [])|length }}
PHONES
{{ (profile.breach_data or [])|length }}
BREACHES
{{ (profile.sources or [])|length }}
SOURCES
{% if profile.breach_data %}
⚠ BREACH INTELLIGENCE — {{ profile.breach_data|length }} BREACH{{ 'ES' if profile.breach_data|length != 1 else '' }} DETECTED
{% for breach in profile.breach_data %}
{{ breach.get('name', 'Unknown') }}
{% if breach.get('breach_date') %}Date: {{ breach.breach_date }}
{% endif %} {% if breach.get('pwn_count') %}{{ "{:,}".format(breach.pwn_count) }} accounts
{% endif %} {% if breach.get('data_classes') %}Data: {{ breach.data_classes | join(', ') | truncate(80) }}{% endif %}
{% endfor %}
{% endif %}
{% if profile.emails %}
◈ EMAIL ADDRESSES
{% for item in profile.emails[:20] %}
{{ item.value if item is mapping else item }} {% if item is mapping and item.get('confidence') %} {{ "%.0f"|format(item.confidence * 100) }}% {% endif %}
{% endfor %}
{% endif %} {% if profile.phones %}
◈ PHONE NUMBERS
{% for item in profile.phones[:20] %}
{{ item.value if item is mapping else item }} {% if item is mapping and item.get('type') %} {{ item.type }} {% endif %}
{% endfor %}
{% endif %} {% if profile.addresses %}
◈ ADDRESSES
{% for addr in profile.addresses[:10] %}
{% if addr is mapping %} {{ [addr.get('street'), addr.get('city'), addr.get('state'), addr.get('zip')] | select | join(', ') }} {% else %} {{ addr }} {% endif %}
{% endfor %}
{% endif %} {% if profile.social_profiles %}
◈ SOCIAL PROFILES
{% for soc in profile.social_profiles[:15] %}
{{ soc.get('platform', '?') }} {% if soc.get('url') %} {{ soc.get('username', 'view') }} {% else %} {{ soc.get('username', '') }} {% endif %}
{% endfor %}
{% endif %}
{% if profile.raw_results %}
◈ RAW INTEL ({{ profile.raw_results|length }} results)
{% endif %} {% if profile.sources %}
◈ SOURCES QUERIED
{% for src in profile.sources %} {{ src }} {% endfor %}
{% endif %} {% endblock %}