{
    "schema": "websitevirusscanner.evidence.v1",
    "domain": "bahn.de",
    "archived": false,
    "archive_reason": null,
    "next_scan_due_at": "2026-10-26T18:42:11.000000Z",
    "scan": {
        "id": 1275,
        "last_scanned_at": "2026-09-26T18:42:11.000000Z",
        "score": {
            "id": 968,
            "domain_scan_id": 1275,
            "score_rule_set_id": 5,
            "safety_score": 66,
            "evidence_confidence": 65,
            "uncapped_score": 66,
            "cap_code": null,
            "created_at": "2026-09-26 18:42:11",
            "updated_at": "2026-09-28 17:28:05"
        },
        "http": {
            "id": 966,
            "domain_scan_id": 1275,
            "final_url": "https://www.bahn.de:443/",
            "status_code": 200,
            "content_type": "text/html;charset=UTF-8",
            "response_bytes": 59068,
            "duration_ms": 0,
            "redirect_chain": "[\"https://www.bahn.de:443/\"]",
            "observed_at": "2026-09-26 18:42:05",
            "created_at": "2026-09-26 18:42:10",
            "updated_at": "2026-09-26 18:42:10"
        },
        "tls": {
            "id": 1150,
            "domain_scan_id": 1275,
            "valid": 1,
            "protocol": "TLSv1.3",
            "issuer": "countryName=US, organizationName=Amazon, commonName=Amazon RSA 2048 M04",
            "valid_from": "2026-08-29 00:00:00",
            "valid_until": "2027-03-14 23:59:59",
            "san_names": "[\"bahn.com\", \"bahn.de\"]",
            "observed_at": "2026-09-26 18:42:05",
            "created_at": "2026-09-26 18:42:10",
            "updated_at": "2026-09-26 18:42:10"
        },
        "dns": {
            "id": 1272,
            "domain_scan_id": 1275,
            "resolver": null,
            "dnssec": null,
            "observed_at": "2026-09-26 18:42:03",
            "created_at": "2026-09-26 18:42:10",
            "updated_at": "2026-09-26 18:42:10"
        },
        "infrastructure_summary": {
            "ip_address": "46.18.63.31",
            "asn": null,
            "organization": null,
            "country_code": null,
            "cdn": "Akamai",
            "waf": null,
            "http_status": 200,
            "final_url": "https://www.bahn.de:443/",
            "dnssec_observed": null,
            "dns_record_count": 8,
            "nameserver_count": 4,
            "mail_exchanger_count": 1,
            "tls_valid": true,
            "tls_valid_until": "2027-03-14 23:59:59",
            "security_header_count": 4,
            "technology_count": 0,
            "screenshot_available": true
        },
        "page_stats": {
            "response_bytes": 59068,
            "duration_ms": 0,
            "cookies_observed": null,
            "script_resources": null,
            "external_script_hosts": null,
            "frame_resources": null,
            "resource_checks": null
        },
        "security_headers": [
            {
                "id": 2634,
                "domain_scan_id": 1275,
                "name": "content-security-policy",
                "value": "default-src 'self' https://applepay.cdn-apple.com;  worker-src 'self' blob:;  script-src 'self' 'unsafe-eval' 'unsafe-inline'     https://applepay.cdn-apple.com     https://sdk.token.logpay.de     https://*.payone.com     https://maps.googleapis.com     blob:     https://www.jsctool.com     https://jsctool.com     https://*.optimizely.com     https://secure.pay1.de https://dbpayment.deutschebahn.com https://payment.deutschebahn.com     https://www.img-bahn.de     https://cms.static-bahn.de     https://cms.static-bahn.de https://cdn.m-pathy.com https://dmp.adform.net https://zn0lxkzethotizctx-bahn.siteintercept.qualtrics.com https://*.adform.net https://m.exactag.com https://siteintercept.qualtrics.com     https://*.bahn.de     https://*.bahn.com     https://app.crossengage.io     https://ucm-eu.verint-cdn.com;  connect-src 'self'     https://maps.googleapis.com     https://mapsresources-pa.googleapis.com     https://www.gstatic.com     data:     blob:     https://p11.techlab-cdn.com     https://www.jsctool.com     https://jsctool.com     https://assets.static-bahn.de     https://dmp.adform.net     https://siteintercept.qualtrics.com     https://logx.optimizely.com     https://*.optimizely.com     https://collect.tealiumiq.com     https://trk-api.crossengage.io     https://accounts.bahn.de     https://ucm-eu.verint-cdn.com     https://hoover-eu.verint-api.com     wss://hoover-eu.verint-api.com     https://kiana.services-bahn.de;  frame-src 'self'     https://s-bahn-hh.specials-bahn.de/     https://cms.static-bahn.de     https://secure.pay1.de https://dbpayment.deutschebahn.com https://payment.deutschebahn.com     https://dbpayment.dbv.service.deutschebahn.com     https://payment.dbv.service.deutschebahn.com     https://*.bahn.de     https://www.abo-bahn.de     https://db.novafind.eu     https://transport.novafind.eu     https://a791773171.cdn.optimizely.com/     https://s-bahn-muenchen-live.de     https://assets1-eur.mkt.dynamics.com     https://assets-eur.mkt.dynamics.com     https://accounts.bahn.de     https://db-bordgastronomie.de     https://ersatzkarte-dbregiobusnord.de     https://analytics.geops.de     https://*.sbahnm.geops.de     https://fipo.deutschebahn.com     https://regioforce.my.site.com     https://www.jugendticket-nds.de     https://a1.adform.net     https://dbstreckenagent.de     https://www.dbstreckenagent.de     https://tour.services-bahn.de;  frame-ancestors 'self';  style-src 'self'     https://ucm-eu.verint-cdn.com     https://fonts.googleapis.com     https://www.jsctool.com     https://jsctool.com     'unsafe-inline';  font-src 'self' data: https://fonts.gstatic.com;  img-src 'self'     https://*.static-bahn.de     https://maps.googleapis.com     https://mapsresources-pa.googleapis.com     https://maps.gstatic.com     https://www.awin1.com     https://partner-bahn.de     https://cm.g.doubleclick.net     https://fcmatch.google.com     https://fcmatch.youtube.com     https://dmp.adform.net     https://cdn.optimizely.com     https://*.qualtrics.com     https://assets.static-bahn.de     https://*.bahn.de     https://assets-ri.extranet.deutschebahn.com     https://cms.static-bahn.de     data:;  media-src 'self' https://assets.static-bahn.de https://*.bahn.de https://cms.static-bahn.de;",
                "assessment": "present",
                "created_at": "2026-09-26 18:42:10",
                "updated_at": "2026-09-26 18:42:10"
            },
            {
                "id": 2635,
                "domain_scan_id": 1275,
                "name": "strict-transport-security",
                "value": "max-age=15768000 ; includeSubDomains ; preload",
                "assessment": "present",
                "created_at": "2026-09-26 18:42:10",
                "updated_at": "2026-09-26 18:42:10"
            },
            {
                "id": 2636,
                "domain_scan_id": 1275,
                "name": "x-content-type-options",
                "value": "nosniff",
                "assessment": "present",
                "created_at": "2026-09-26 18:42:10",
                "updated_at": "2026-09-26 18:42:10"
            },
            {
                "id": 2637,
                "domain_scan_id": 1275,
                "name": "x-frame-options",
                "value": "sameorigin, SAMEORIGIN",
                "assessment": "present",
                "created_at": "2026-09-26 18:42:10",
                "updated_at": "2026-09-26 18:42:10"
            }
        ],
        "signals": [
            {
                "id": 2704,
                "domain_scan_id": 1275,
                "code": "local_security.analyzed",
                "value": "1",
                "confidence": "1.0000",
                "source_rule": "local-security-v1",
                "evidence_keys": "[\"http.homepage_html\"]",
                "created_at": "2026-09-26 18:42:11",
                "updated_at": "2026-09-26 18:42:11"
            },
            {
                "id": 2705,
                "domain_scan_id": 1275,
                "code": "local_security.bytes_analyzed",
                "value": "59068",
                "confidence": "1.0000",
                "source_rule": "local-security-v1",
                "evidence_keys": "[\"http.homepage_html\"]",
                "created_at": "2026-09-26 18:42:11",
                "updated_at": "2026-09-26 18:42:11"
            },
            {
                "id": 2706,
                "domain_scan_id": 1275,
                "code": "local_security.truncated",
                "value": "",
                "confidence": "1.0000",
                "source_rule": "local-security-v1",
                "evidence_keys": "[\"http.homepage_html\"]",
                "created_at": "2026-09-26 18:42:11",
                "updated_at": "2026-09-26 18:42:11"
            },
            {
                "id": 2701,
                "domain_scan_id": 1275,
                "code": "page.faq",
                "value": "1",
                "confidence": "1.0000",
                "source_rule": "informational-page-signals-v1",
                "evidence_keys": "[\"content.informational_pages.faq\"]",
                "created_at": "2026-09-26 18:42:11",
                "updated_at": "2026-09-26 18:42:11"
            },
            {
                "id": 2703,
                "domain_scan_id": 1275,
                "code": "page.language",
                "value": "de",
                "confidence": "1.0000",
                "source_rule": "html-lang-signals-v1",
                "evidence_keys": "[\"content.language\"]",
                "created_at": "2026-09-26 18:42:11",
                "updated_at": "2026-09-26 18:42:11"
            },
            {
                "id": 2702,
                "domain_scan_id": 1275,
                "code": "page.page",
                "value": "1",
                "confidence": "1.0000",
                "source_rule": "informational-page-signals-v1",
                "evidence_keys": "[\"content.informational_pages.page\"]",
                "created_at": "2026-09-26 18:42:11",
                "updated_at": "2026-09-26 18:42:11"
            }
        ],
        "technologies": [],
        "availability_history": [
            {
                "id": 1275,
                "status": "completed",
                "finished_at": "2026-09-26 18:42:11",
                "error_code": null,
                "status_code": 200,
                "final_url": "https://www.bahn.de:443/",
                "duration_ms": 0
            },
            {
                "id": 858,
                "status": "completed",
                "finished_at": "2026-09-25 09:24:02",
                "error_code": null,
                "status_code": null,
                "final_url": null,
                "duration_ms": null
            },
            {
                "id": 363,
                "status": "completed",
                "finished_at": "2026-09-24 12:30:40",
                "error_code": null,
                "status_code": null,
                "final_url": null,
                "duration_ms": null
            },
            {
                "id": 163,
                "status": "completed",
                "finished_at": "2026-09-24 12:03:11",
                "error_code": null,
                "status_code": null,
                "final_url": null,
                "duration_ms": null
            }
        ],
        "comparison": {
            "previous": {
                "id": 858,
                "finished_at": "2026-09-25 09:24:02",
                "status_code": null,
                "final_url": null,
                "safety_score": null
            },
            "current": {
                "id": 1275,
                "finished_at": "2026-09-26 18:42:11",
                "status_code": 200,
                "final_url": "https://www.bahn.de:443/",
                "safety_score": 66
            },
            "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."
    ]
}