{% extends "base_generic.html" %} {% load bleach_tags humanize custom_tags extra_fields settings_tags shepherd_tags %} {% block pagetitle %}{{ domain.name }} Details{% endblock %} {% block content %} {% get_solo "commandcenter.VirusTotalConfiguration" as vt_config %}
Domain

{{ domain.name }}

{{ domain.domain_status }} {{ domain.health_status }} {% for tag in domain.tags.names %}{{ tag|bleach }}{% endfor %}
{% comment %} Load tabs via AJAX so badges update with delete actions {% endcomment %}

Domain Details

{% if domain.is_expired %} {% endif %}
Status
{{ domain.domain_status }}
Registrar
{% if domain.registrar %}{{ domain.registrar }}{% else %}Unavailable{% endif %}
Purchase date
{{ domain.creation }}
Expiration date
{{ domain.expiration }}
Auto renew
{% if domain.auto_renew %}Enabled{% else %}Disabled{% endif %}
Domain age
{{ domain.get_domain_age_display }}
Operator context
Description
{% if domain.description %}
{{ domain.description|strip_empty_tags|bleach }}
{% else %}

No domain description yet

Add purchasing or operational context to help operators choose and use this domain.

{% endif %}

DNS Records

{% if not domain.is_expired %} Refresh DNS Records {% endif %}
{% if domain.reset_dns %}
Automatic DNS reset enabled. Ghostwriter will reset records after use when the registrar supports it.
{% else %}
Automatic DNS reset is not configured. Operators should manually clean up records after use.
{% endif %} {% if domain.dns %}
{% if domain.dns.items %} {% for record, value in domain.dns.items %} {% endfor %} {% else %} {% endif %}
RecordValue
{{ record|upper }} {% if value != "NoAnswer" and value != "NXDOMAIN" %}{{ value }}{% else %}--{% endif %}
Record dictionary{{ domain.dns }}
{% else %}

No DNS records yet

Use Refresh DNS Records to query the domain's current DNS data.

{% endif %}

Domain Health

{% if not domain.is_expired and vt_config.enable %} Refresh Categorization {% endif %}
{% if domain.is_expired or not vt_config.enable %}
Categorization refresh is unavailable. VirusTotal integration is disabled or the domain is expired.
{% endif %}

Domain health changes when a third party applies an undesirable category or VirusTotal reports positive detections.

Status
{{ domain.domain_status }}
Health
{{ domain.health_status }}
Whois privacy
{{ domain.whois_status }}
Last update
{% if domain.last_health_check %}{{ domain.last_health_check|naturalday:"DATE_FORMAT" }}{% else %}No record{% endif %}
{% if domain.health_status.health_status == "Burned" %}
Health review
Why this domain is burned
{% if domain.burned_explanation %} {{ domain.burned_explanation|bleach|linebreaks }} {% else %}

No explanation has been recorded. Add one now.

{% endif %}
{% endif %}
Third-party review
Categorization
{% if domain.categorization.items %} {% for source, cat in domain.categorization.items %} {% endfor %} {% else %} {% endif %}
CategorizerCategory
{{ source }}{{ cat|category_value|bleach|title }}
No resultsRefresh categorization to poll VirusTotal

Domain History

Entries are partially redacted when you cannot access the related client or project.

{% if domain.history_set.all %}
{% for checkout in domain.history_set.all %} {% endfor %}
Project Activity Type Execution Window Checked Out By Options
{% if checkout.project|has_access:request.user %} {{ checkout.project }} {% else %} REDACTED {% endif %} {{ checkout.activity_type }} {{ checkout.start_date|date:"DATE_FORMAT" }} – {{ checkout.end_date|date:"DATE_FORMAT" }} {% if checkout.operator %} {% if checkout.operator.name %} {{ checkout.operator.name }} ({{ checkout.operator.username }}) {% else %} {{ checkout.operator.username }} {% endif %} {% else %} Unknown/Deleted user {% endif %} {% if checkout.project|has_access:request.user %}
{% endif %}
{% else %}

No project history yet

Check this domain out to a project to begin its usage history.

{% endif %}
{% if domain_extra_fields_spec %}

Extra Fields

Jinja2 template syntax is not rendered in these previews because a project and report context is required.

Edit Extra Fields
{% for field_spec in domain_extra_fields_spec %}
{{ field_spec.display_name }}
{% if field_spec.type == "rich_text" %}Rich Text{% else %}{{ field_spec.get_type_display }}{% endif %}
Template reference domain.extra_fields.{{ field_spec.internal_name }}
Current value
{% if field_spec.type == "rich_text" %} Formatted content is available in Preview. {% elif field_spec.type == "json" %} Structured content is available in View JSON. {% else %} {% include "user_extra_fields/field.html" with extra_fields=domain.extra_fields field_spec=field_spec preview_report=False %} {% endif %}
{% if field_spec.type == "rich_text" or field_spec.type == "json" %}
{% if field_spec.type == "rich_text" %} {% else %} {% endif %}
{% endif %}
{% endfor %}
{% endif %}

Domain Notes

Add a Note
{% if domain.domainnote_set.all %}
{% for note in domain.domainnote_set.all reversed %}
{{ note.note|bleach }}
{% if request.user == note.operator or request.user|is_privileged %} {% endif %}
{% if note.operator %}{{ note.operator.username }}{% else %}Deleted user{% endif %}
{% endfor %}
{% else %}

No notes yet

Add a note when operators need context that does not belong in the domain description.

{% endif %}
{% endblock %} {% block tabs %} {{ block.super }} {% endblock %} {% block morescripts %} {% comment %} Include the reusable delete confirmation modal and related scripts {% endcomment %} {% include "confirm_delete_modal.html" %} {% comment %} Insert modals for RichText previews on extra fields {% endcomment %} {% if domain_extra_fields_spec %} {% for field_spec in domain_extra_fields_spec %} {% url 'shepherd:domain_extra_field_json' domain.id field_spec.internal_name as extra_field_json_url %} {% include "user_extra_fields/extra_field_modal.html" with extra_fields=domain.extra_fields field_spec=field_spec lazy_json_url=extra_field_json_url preview_report=False %} {% endfor %} {% include "user_extra_fields/lazy_json_modal_script.html" %} {% endif %} {% comment %} Insert modals for additional domain details {% endcomment %} {% for checkout in domain.history_set.all %} {% if checkout.project|has_access:request.user %} {% include "snippets/domain_history_detail_modal.html" with checkout=checkout %} {% endif %} {% endfor %} {% endblock %}