{
    "schema": "websitevirusscanner.evidence.v1",
    "domain": "fabula.org",
    "archived": false,
    "archive_reason": null,
    "next_scan_due_at": "2026-11-01T00:37:51.000000Z",
    "scan": {
        "id": 18920,
        "last_scanned_at": "2026-10-02T00:37:51.000000Z",
        "score": {
            "id": 25567,
            "domain_scan_id": 18920,
            "score_rule_set_id": 5,
            "safety_score": 76,
            "evidence_confidence": 75,
            "uncapped_score": 76,
            "cap_code": null,
            "created_at": "2026-10-02 00:37:51",
            "updated_at": "2026-10-02 00:37:51"
        },
        "http": {
            "id": 25567,
            "domain_scan_id": 18920,
            "final_url": "https://www.fabula.org/",
            "status_code": 200,
            "content_type": "text/html; charset=UTF-8",
            "response_bytes": 60973,
            "duration_ms": 1000,
            "redirect_chain": "[\"https://www.fabula.org/\"]",
            "observed_at": "2026-10-01 15:58:32",
            "created_at": "2026-10-02 00:37:50",
            "updated_at": "2026-10-02 00:37:50"
        },
        "tls": {
            "id": 24432,
            "domain_scan_id": 18920,
            "valid": 1,
            "protocol": "TLSv1.3",
            "issuer": "countryName=US, organizationName=Let's Encrypt, commonName=YE1",
            "valid_from": "2026-09-01 19:33:24",
            "valid_until": "2026-11-30 19:33:23",
            "san_names": "[\"actualites.fabula.org\", \"colloques.fabula.org\", \"fabula.org\", \"recherche.fabula.org\", \"www.fabula.org\"]",
            "observed_at": "2026-10-01 15:58:31",
            "created_at": "2026-10-02 00:37:50",
            "updated_at": "2026-10-02 00:37:50"
        },
        "dns": {
            "id": 26971,
            "domain_scan_id": 18920,
            "resolver": null,
            "dnssec": null,
            "observed_at": "2026-10-01 15:58:31",
            "created_at": "2026-10-02 00:37:50",
            "updated_at": "2026-10-02 00:37:50"
        },
        "infrastructure_summary": {
            "ip_address": "134.158.38.99",
            "asn": null,
            "organization": null,
            "country_code": null,
            "cdn": null,
            "waf": null,
            "http_status": 200,
            "final_url": "https://www.fabula.org/",
            "dnssec_observed": null,
            "dns_record_count": 9,
            "nameserver_count": 3,
            "mail_exchanger_count": 2,
            "tls_valid": true,
            "tls_valid_until": "2026-11-30 19:33:23",
            "security_header_count": 5,
            "technology_count": 3,
            "screenshot_available": true
        },
        "page_stats": {
            "response_bytes": 60973,
            "duration_ms": 1000,
            "cookies_observed": 1,
            "script_resources": 3,
            "external_script_hosts": 0,
            "frame_resources": 0,
            "resource_checks": 0
        },
        "security_headers": [
            {
                "id": 61646,
                "domain_scan_id": 18920,
                "name": "permissions-policy",
                "value": "geolocation=(), microphone=(), camera=()",
                "assessment": "present",
                "created_at": "2026-10-02 00:37:50",
                "updated_at": "2026-10-02 00:37:50"
            },
            {
                "id": 61647,
                "domain_scan_id": 18920,
                "name": "referrer-policy",
                "value": "strict-origin-when-cross-origin",
                "assessment": "present",
                "created_at": "2026-10-02 00:37:50",
                "updated_at": "2026-10-02 00:37:50"
            },
            {
                "id": 61648,
                "domain_scan_id": 18920,
                "name": "strict-transport-security",
                "value": "max-age=31536000; includeSubDomains",
                "assessment": "present",
                "created_at": "2026-10-02 00:37:50",
                "updated_at": "2026-10-02 00:37:50"
            },
            {
                "id": 61649,
                "domain_scan_id": 18920,
                "name": "x-content-type-options",
                "value": "nosniff",
                "assessment": "present",
                "created_at": "2026-10-02 00:37:50",
                "updated_at": "2026-10-02 00:37:50"
            },
            {
                "id": 61650,
                "domain_scan_id": 18920,
                "name": "x-frame-options",
                "value": "SAMEORIGIN",
                "assessment": "present",
                "created_at": "2026-10-02 00:37:50",
                "updated_at": "2026-10-02 00:37:50"
            }
        ],
        "signals": [
            {
                "id": 1646971,
                "domain_scan_id": 18920,
                "code": "local_security.truncated",
                "value": "",
                "confidence": "1.0000",
                "source_rule": "local-security-v2",
                "evidence_keys": "[\"http.homepage_html\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646986,
                "domain_scan_id": 18920,
                "code": "local_headers.permissions_policy_present",
                "value": "1",
                "confidence": "1.0000",
                "source_rule": "local-headers-v1",
                "evidence_keys": "[\"http.response_headers\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646991,
                "domain_scan_id": 18920,
                "code": "local_headers.permissions_usb_restricted",
                "value": "",
                "confidence": "1.0000",
                "source_rule": "local-headers-v1",
                "evidence_keys": "[\"http.response_headers\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646993,
                "domain_scan_id": 18920,
                "code": "local_reputation.status",
                "value": "unavailable",
                "confidence": "1.0000",
                "source_rule": "phishing-db-v1",
                "evidence_keys": "[\"domain.ascii\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646998,
                "domain_scan_id": 18920,
                "code": "local_resources.bytes_scanned",
                "value": "0",
                "confidence": "1.0000",
                "source_rule": "clamav-resources-v1",
                "evidence_keys": "[\"http.sampled_resources\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646996,
                "domain_scan_id": 18920,
                "code": "local_resources.checked",
                "value": "0",
                "confidence": "1.0000",
                "source_rule": "clamav-resources-v1",
                "evidence_keys": "[\"http.sampled_resources\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646995,
                "domain_scan_id": 18920,
                "code": "local_resources.discovered_scripts",
                "value": "3",
                "confidence": "1.0000",
                "source_rule": "clamav-resources-v1",
                "evidence_keys": "[\"http.sampled_resources\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646997,
                "domain_scan_id": 18920,
                "code": "local_resources.partial",
                "value": "1",
                "confidence": "1.0000",
                "source_rule": "clamav-resources-v1",
                "evidence_keys": "[\"http.sampled_resources\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646994,
                "domain_scan_id": 18920,
                "code": "local_resources.status",
                "value": "disabled",
                "confidence": "1.0000",
                "source_rule": "clamav-resources-v1",
                "evidence_keys": "[\"http.sampled_resources\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646969,
                "domain_scan_id": 18920,
                "code": "local_security.analyzed",
                "value": "1",
                "confidence": "1.0000",
                "source_rule": "local-security-v2",
                "evidence_keys": "[\"http.homepage_html\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646970,
                "domain_scan_id": 18920,
                "code": "local_security.bytes_analyzed",
                "value": "60973",
                "confidence": "1.0000",
                "source_rule": "local-security-v2",
                "evidence_keys": "[\"http.homepage_html\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646973,
                "domain_scan_id": 18920,
                "code": "local_security.inline_scripts",
                "value": "1",
                "confidence": "1.0000",
                "source_rule": "local-security-v2",
                "evidence_keys": "[\"http.homepage_html\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646972,
                "domain_scan_id": 18920,
                "code": "local_security.script_resources",
                "value": "3",
                "confidence": "1.0000",
                "source_rule": "local-security-v2",
                "evidence_keys": "[\"http.homepage_html\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646990,
                "domain_scan_id": 18920,
                "code": "local_headers.permissions_payment_restricted",
                "value": "",
                "confidence": "1.0000",
                "source_rule": "local-headers-v1",
                "evidence_keys": "[\"http.response_headers\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646962,
                "domain_scan_id": 18920,
                "code": "mail_security.dmarc.percentage",
                "value": "100",
                "confidence": "1.0000",
                "source_rule": "mail-security-v1",
                "evidence_keys": "[\"dns.mail_txt\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646961,
                "domain_scan_id": 18920,
                "code": "mail_security.dmarc.policy",
                "value": "none",
                "confidence": "1.0000",
                "source_rule": "mail-security-v1",
                "evidence_keys": "[\"dns.mail_txt\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646960,
                "domain_scan_id": 18920,
                "code": "mail_security.dmarc.status",
                "value": "monitoring_only",
                "confidence": "1.0000",
                "source_rule": "mail-security-v1",
                "evidence_keys": "[\"dns.mail_txt\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646958,
                "domain_scan_id": 18920,
                "code": "mail_security.spf.all",
                "value": "~all",
                "confidence": "1.0000",
                "source_rule": "mail-security-v1",
                "evidence_keys": "[\"dns.mail_txt\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646959,
                "domain_scan_id": 18920,
                "code": "mail_security.spf.direct_dns_terms",
                "value": "1",
                "confidence": "1.0000",
                "source_rule": "mail-security-v1",
                "evidence_keys": "[\"dns.mail_txt\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646957,
                "domain_scan_id": 18920,
                "code": "mail_security.spf.status",
                "value": "policy_observed",
                "confidence": "1.0000",
                "source_rule": "mail-security-v1",
                "evidence_keys": "[\"dns.mail_txt\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646953,
                "domain_scan_id": 18920,
                "code": "page.contact",
                "value": "1",
                "confidence": "1.0000",
                "source_rule": "informational-page-signals-v1",
                "evidence_keys": "[\"content.informational_pages.contact\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646954,
                "domain_scan_id": 18920,
                "code": "page.faq",
                "value": "1",
                "confidence": "1.0000",
                "source_rule": "informational-page-signals-v1",
                "evidence_keys": "[\"content.informational_pages.faq\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646956,
                "domain_scan_id": 18920,
                "code": "page.language",
                "value": "fr",
                "confidence": "1.0000",
                "source_rule": "html-lang-signals-v1",
                "evidence_keys": "[\"content.language\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646955,
                "domain_scan_id": 18920,
                "code": "page.page",
                "value": "1",
                "confidence": "1.0000",
                "source_rule": "informational-page-signals-v1",
                "evidence_keys": "[\"content.informational_pages.page\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1647001,
                "domain_scan_id": 18920,
                "code": "security_txt.status",
                "value": "missing",
                "confidence": "1.0000",
                "source_rule": "security-txt-v1",
                "evidence_keys": "[\"security_txt\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646974,
                "domain_scan_id": 18920,
                "code": "local_cookies.cookies_observed",
                "value": "1",
                "confidence": "1.0000",
                "source_rule": "local-cookies-v1",
                "evidence_keys": "[\"http.response_headers\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646967,
                "domain_scan_id": 18920,
                "code": "dns_consistency.cname_present",
                "value": "",
                "confidence": "1.0000",
                "source_rule": "dns-consistency-v1",
                "evidence_keys": "[\"dns.records\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646968,
                "domain_scan_id": 18920,
                "code": "dns_consistency.dnssec_state",
                "value": "unavailable",
                "confidence": "1.0000",
                "source_rule": "dns-consistency-v1",
                "evidence_keys": "[\"dns.records\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646966,
                "domain_scan_id": 18920,
                "code": "dns_consistency.mail_route_count",
                "value": "2",
                "confidence": "1.0000",
                "source_rule": "dns-consistency-v1",
                "evidence_keys": "[\"dns.records\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646965,
                "domain_scan_id": 18920,
                "code": "dns_consistency.nameserver_count",
                "value": "3",
                "confidence": "1.0000",
                "source_rule": "dns-consistency-v1",
                "evidence_keys": "[\"dns.records\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646963,
                "domain_scan_id": 18920,
                "code": "dns_consistency.record_count",
                "value": "9",
                "confidence": "1.0000",
                "source_rule": "dns-consistency-v1",
                "evidence_keys": "[\"dns.records\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1647000,
                "domain_scan_id": 18920,
                "code": "javascript_advisories.checked",
                "value": "0",
                "confidence": "1.0000",
                "source_rule": "retirejs-local-v1",
                "evidence_keys": "[\"http.sampled_resources\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646999,
                "domain_scan_id": 18920,
                "code": "javascript_advisories.status",
                "value": "not_sampled",
                "confidence": "1.0000",
                "source_rule": "retirejs-local-v1",
                "evidence_keys": "[\"http.sampled_resources\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646992,
                "domain_scan_id": 18920,
                "code": "local_antivirus.status",
                "value": "disabled",
                "confidence": "1.0000",
                "source_rule": "clamav-local-v1",
                "evidence_keys": "[\"http.homepage_html\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646976,
                "domain_scan_id": 18920,
                "code": "local_cookies.cookies_missing_httponly",
                "value": "1",
                "confidence": "1.0000",
                "source_rule": "local-cookies-v1",
                "evidence_keys": "[\"http.response_headers\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646977,
                "domain_scan_id": 18920,
                "code": "local_cookies.cookies_missing_samesite",
                "value": "1",
                "confidence": "1.0000",
                "source_rule": "local-cookies-v1",
                "evidence_keys": "[\"http.response_headers\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646975,
                "domain_scan_id": 18920,
                "code": "local_cookies.cookies_missing_secure",
                "value": "1",
                "confidence": "1.0000",
                "source_rule": "local-cookies-v1",
                "evidence_keys": "[\"http.response_headers\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646964,
                "domain_scan_id": 18920,
                "code": "dns_consistency.address_count",
                "value": "1",
                "confidence": "1.0000",
                "source_rule": "dns-consistency-v1",
                "evidence_keys": "[\"dns.records\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646985,
                "domain_scan_id": 18920,
                "code": "local_headers.cors_credentials_with_wildcard",
                "value": "",
                "confidence": "1.0000",
                "source_rule": "local-headers-v1",
                "evidence_keys": "[\"http.response_headers\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646983,
                "domain_scan_id": 18920,
                "code": "local_headers.cors_present",
                "value": "",
                "confidence": "1.0000",
                "source_rule": "local-headers-v1",
                "evidence_keys": "[\"http.response_headers\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646984,
                "domain_scan_id": 18920,
                "code": "local_headers.cors_wildcard_origin",
                "value": "",
                "confidence": "1.0000",
                "source_rule": "local-headers-v1",
                "evidence_keys": "[\"http.response_headers\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646978,
                "domain_scan_id": 18920,
                "code": "local_headers.csp_present",
                "value": "",
                "confidence": "1.0000",
                "source_rule": "local-headers-v1",
                "evidence_keys": "[\"http.response_headers\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646981,
                "domain_scan_id": 18920,
                "code": "local_headers.hsts_include_subdomains",
                "value": "1",
                "confidence": "1.0000",
                "source_rule": "local-headers-v1",
                "evidence_keys": "[\"http.response_headers\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646980,
                "domain_scan_id": 18920,
                "code": "local_headers.hsts_max_age",
                "value": "31536000",
                "confidence": "1.0000",
                "source_rule": "local-headers-v1",
                "evidence_keys": "[\"http.response_headers\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646982,
                "domain_scan_id": 18920,
                "code": "local_headers.hsts_preload",
                "value": "",
                "confidence": "1.0000",
                "source_rule": "local-headers-v1",
                "evidence_keys": "[\"http.response_headers\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646979,
                "domain_scan_id": 18920,
                "code": "local_headers.hsts_present",
                "value": "1",
                "confidence": "1.0000",
                "source_rule": "local-headers-v1",
                "evidence_keys": "[\"http.response_headers\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646987,
                "domain_scan_id": 18920,
                "code": "local_headers.permissions_camera_restricted",
                "value": "1",
                "confidence": "1.0000",
                "source_rule": "local-headers-v1",
                "evidence_keys": "[\"http.response_headers\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646989,
                "domain_scan_id": 18920,
                "code": "local_headers.permissions_geolocation_restricted",
                "value": "1",
                "confidence": "1.0000",
                "source_rule": "local-headers-v1",
                "evidence_keys": "[\"http.response_headers\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 1646988,
                "domain_scan_id": 18920,
                "code": "local_headers.permissions_microphone_restricted",
                "value": "1",
                "confidence": "1.0000",
                "source_rule": "local-headers-v1",
                "evidence_keys": "[\"http.response_headers\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            }
        ],
        "technologies": [
            {
                "id": 74139,
                "domain_scan_id": 18920,
                "code": "apache",
                "name": "Apache HTTP Server",
                "version": null,
                "confidence": "0.9300",
                "source_rule": "apache-v1",
                "evidence_keys": "[\"page.headers\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 74140,
                "domain_scan_id": 18920,
                "code": "bootstrap",
                "name": "Bootstrap",
                "version": null,
                "confidence": "0.8000",
                "source_rule": "bootstrap-v1",
                "evidence_keys": "[\"page.html\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            },
            {
                "id": 74141,
                "domain_scan_id": 18920,
                "code": "tailwind",
                "name": "Tailwind CSS",
                "version": null,
                "confidence": "0.7200",
                "source_rule": "tailwind-v1",
                "evidence_keys": "[\"page.html\"]",
                "created_at": "2026-10-02 00:37:51",
                "updated_at": "2026-10-02 00:37:51"
            }
        ],
        "availability_history": [
            {
                "id": 18920,
                "status": "completed",
                "finished_at": "2026-10-02 00:37:51",
                "error_code": null,
                "status_code": 200,
                "final_url": "https://www.fabula.org/",
                "duration_ms": 1000
            }
        ],
        "comparison": {
            "previous": null,
            "current": {
                "id": 18920,
                "finished_at": "2026-10-02 00:37:51",
                "status_code": 200,
                "final_url": "https://www.fabula.org/",
                "safety_score": 76
            },
            "score_delta": null,
            "added_technologies": [],
            "removed_technologies": []
        }
    },
    "limitations": [
        "This is a point-in-time technical evidence export.",
        "Unavailable checks are not clean results.",
        "The export is not a malware-removal guarantee or uptime SLA."
    ]
}