{
    "ready": true,
    "site": {
        "id": 0,
        "domain": "brandonrohrer.com",
        "display_name": "Brandon Rohrer",
        "primary_country_code": "",
        "category_name": "Developer Tools: APIs & Documentation"
    },
    "metrics": {
        "global_rank": 10553,
        "country_rank": 5314,
        "category_rank": 20,
        "daily_pageviews_per_visitor": 4.02,
        "daily_time_on_site_seconds": 398,
        "bounce_rate": 25.96,
        "search_visits_percent": 41.81,
        "total_sites_linking_in": 3,
        "monthly_unique_visitors": 215,
        "recorded_at": "2026-03-19 06:11:39"
    },
    "audit": {
        "score": 88
    },
    "traffic_sources": {
        "direct_percent": 26.77,
        "search_percent": 35.49,
        "social_percent": 8.13,
        "referral_percent": 17.28,
        "email_percent": 5.77,
        "paid_percent": 6.56
    },
    "seo_profile": {
        "backlinks_total": 3,
        "referring_domains": 3,
        "dofollow_backlinks_percent": 100,
        "organic_keywords": 79,
        "indexed_pages": 87,
        "page_speed_score": 98,
        "mobile_friendliness_score": 86,
        "authority_score": 47,
        "spam_risk_score": 10
    },
    "crawl_report": {
        "robots_status": 0,
        "sitemap_status": 0,
        "sitemap_total_urls": 0,
        "crawl_blocked": false,
        "crawl_blocked_by": "",
        "crawl_blocked_reason": "",
        "notes": [
            "robots.txt could not be confirmed.",
            "Sitemap could not be confirmed."
        ],
        "created_at": "2026-03-19 06:11:39"
    },
    "keywords": [
        {
            "keyword": "Brandon Rohrer",
            "position": 19,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 10:50:03",
            "is_estimated": true
        },
        {
            "keyword": "Brandon Rohrer developer tools: apis & documentation",
            "position": 21,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 10:50:03",
            "is_estimated": true
        },
        {
            "keyword": "Brandon Rohrer reviews",
            "position": 23,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 10:50:03",
            "is_estimated": true
        },
        {
            "keyword": "brandon",
            "position": 25,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 10:50:03",
            "is_estimated": true
        },
        {
            "keyword": "rohrer",
            "position": 27,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 10:50:03",
            "is_estimated": true
        },
        {
            "keyword": "brandonrohrer",
            "position": 29,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 10:50:03",
            "is_estimated": true
        },
        {
            "keyword": "hosting6.html",
            "position": 31,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 10:50:03",
            "is_estimated": true
        },
        {
            "keyword": "help",
            "position": 33,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 10:50:03",
            "is_estimated": true
        }
    ],
    "rating": {
        "overall": 64,
        "label": "Healthy",
        "breakdown": [
            {
                "label": "Technical foundation",
                "score": 11,
                "max": 18
            },
            {
                "label": "Authority & trust",
                "score": 14,
                "max": 30
            },
            {
                "label": "Reach & market presence",
                "score": 3,
                "max": 18
            },
            {
                "label": "Search visibility",
                "score": 3,
                "max": 12
            },
            {
                "label": "Engagement & retention",
                "score": 9,
                "max": 10
            },
            {
                "label": "Channels & diversification",
                "score": 5,
                "max": 6
            },
            {
                "label": "Registry stability",
                "score": 3,
                "max": 6
            },
            {
                "label": "Quality system",
                "score": 61,
                "max": 100
            },
            {
                "label": "Reputation system",
                "score": 45,
                "max": 100
            },
            {
                "label": "Safety system",
                "score": 100,
                "max": 100
            },
            {
                "label": "Evidence confidence",
                "score": 100,
                "max": 100
            },
            {
                "label": "External intelligence",
                "score": 52,
                "max": 100
            },
            {
                "label": "API intelligence",
                "score": 54,
                "max": 100
            }
        ],
        "authority_score": 47,
        "quality_score": 61,
        "reputation_score": 45,
        "safety_score": 100,
        "confidence_score": 100,
        "fraud_score": 1,
        "authority_signals": {
            "backlinks": 3,
            "referring_domains": 3,
            "organic_keywords": 79,
            "indexed_pages": 87,
            "monthly_visitors": 215,
            "global_rank": 10553,
            "engagement_score": 83,
            "crawl_quality_score": 93,
            "brand_completeness_score": 73,
            "link_diversity_score": 94,
            "technical_reliability_score": 75,
            "whois_score": 59,
            "whois_age_years": 4.7,
            "whois_stability_score": 100,
            "spam_penalty": 0
        },
        "whois_signals": {
            "age_years": 4.7,
            "days_to_expiry": 120,
            "days_since_last_registry_update": 223,
            "stability_score": 100,
            "registrar_changes": 0,
            "ownership_changes": 0,
            "nameserver_changes": 0,
            "status_changes": 0,
            "history_entries": 1,
            "privacy_protected": false,
            "dnssec_enabled": false,
            "has_registrant_country": false,
            "registrant_country": "",
            "nameserver_count": 2,
            "status_count": 1
        }
    },
    "authority_score": 47,
    "trust_score": 73,
    "domain_tags": {
        "primary_tag": "T",
        "primary_tag_score": 81,
        "primary_candidate": "T",
        "primary_candidate_score": 81,
        "tag_codes": "T",
        "tags": [
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good",
                "description": "Strong trust, stability, and low-risk signals were detected.",
                "reason": "Low spam indicators plus strong trust, quality, registry, and stability signals were detected.",
                "message": "The site shows a reasonably trustworthy and stable profile.",
                "priority": 81,
                "score": 81,
                "match_percent": 81,
                "threshold_band": "strong"
            }
        ],
        "tag_breakdown": [
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good",
                "description": "Strong trust, stability, and low-risk signals were detected.",
                "reason": "Low spam indicators plus strong trust, quality, registry, and stability signals were detected.",
                "message": "The site shows a reasonably trustworthy and stable profile.",
                "priority": 81,
                "score": 81,
                "match_percent": 81,
                "threshold_band": "strong"
            },
            {
                "code": "Uncertain",
                "label": "Uncertain",
                "tone": "unknown",
                "description": "External checks stayed inconclusive, so the model avoided a harder verdict.",
                "reason": "",
                "message": "The evidence does not currently look notably uncertain.",
                "priority": 18,
                "score": 18,
                "match_percent": 18,
                "threshold_band": "none"
            },
            {
                "code": "Infra",
                "label": "Risky infrastructure",
                "tone": "caution",
                "description": "The hosting / registrar / nameserver neighbourhood looks unusually risky.",
                "reason": "The infrastructure neighbourhood looks riskier than normal.",
                "message": "Infrastructure risk does not currently stand out.",
                "priority": 8,
                "score": 8,
                "match_percent": 8,
                "threshold_band": "none"
            },
            {
                "code": "C",
                "label": "Caution",
                "tone": "caution",
                "description": "Signals are mixed or weak, so this domain should be treated carefully.",
                "reason": "Review carefully: mixed trust signals.",
                "message": "The current crawl does not show a meaningful caution match.",
                "priority": 0,
                "score": 0,
                "match_percent": 0,
                "threshold_band": "none"
            },
            {
                "code": "Crypto",
                "label": "Crypto drainer risk",
                "tone": "toxic",
                "description": "Wallet-connect or seed-phrase theft patterns were detected.",
                "reason": "Wallet-connect or seed-phrase theft patterns were detected.",
                "message": "No meaningful crypto-drainer signals were detected.",
                "priority": 0,
                "score": 0,
                "match_percent": 0,
                "threshold_band": "none"
            }
        ],
        "nsfw_score": 0,
        "trust_score": 74,
        "manual": {
            "has_changes": false,
            "verified_status": "",
            "tag_codes": "",
            "rating_delta": 0,
            "authority_delta": 0,
            "trust_delta": 0,
            "note": "",
            "adjusted_by": 0,
            "adjusted_at": "",
            "lock_scores": false,
            "lock_flags": false
        },
        "summary": "Trusted (81% match) because low spam indicators plus strong trust, quality, registry, and stability signals were detected.",
        "external_intel": [],
        "external_decision": [],
        "signal_scores": [
            {
                "label": "Strongest tag heuristic",
                "value": "T · 81%",
                "tone": "good",
                "detail": "The highest raw tag match from the heuristic engine before visibility thresholds and manual overrides."
            },
            {
                "label": "Trust score",
                "value": "74/100",
                "tone": "caution",
                "detail": "Confidence derived from authority, crawl quality, stability, and risk signals."
            },
            {
                "label": "Authority score",
                "value": "47/100",
                "tone": "caution",
                "detail": "A higher authority score usually means broader reputation and backlink confidence."
            },
            {
                "label": "Spam risk",
                "value": "0/100",
                "tone": "good",
                "detail": "Lower is better. This blends spam indicators with false-positive protections for legitimate sites."
            },
            {
                "label": "Quality score",
                "value": "83/100",
                "tone": "good",
                "detail": "Based on crawl quality, content completeness, and technical evidence."
            },
            {
                "label": "Safety score",
                "value": "100/100",
                "tone": "good",
                "detail": "Higher is safer. Direct fraud signals can heavily cap this even when SEO signals look strong."
            },
            {
                "label": "Fraud score",
                "value": "1/100",
                "tone": "good",
                "detail": "Lower is better. This reflects phishing, drainer, fake-support, fake-shop, and malware signals."
            },
            {
                "label": "Infrastructure risk",
                "value": "8/100",
                "tone": "good",
                "detail": "Lower is better. This reflects the IP, registrar, and nameserver neighbourhood seen by the crawler."
            },
            {
                "label": "Evidence confidence",
                "value": "100/100",
                "tone": "good",
                "detail": "Higher means the crawler had enough pages and registry evidence to make a stronger call."
            },
            {
                "label": "External evidence",
                "value": "Low",
                "tone": "unknown",
                "detail": "Quality of the structured search and review evidence cluster."
            },
            {
                "label": "External decision",
                "value": "Inconclusive",
                "tone": "unknown",
                "detail": "How third-party evidence compares with the current candidate tag."
            },
            {
                "label": "NSFW score",
                "value": "0/100",
                "tone": "good",
                "detail": "Context-aware adult-content detection with medical / educational false-positive reduction."
            },
            {
                "label": "Registry stability",
                "value": "100/100",
                "tone": "good",
                "detail": "Based on age, expiry runway, and the amount of ownership / registrar churn."
            }
        ],
        "signal_sections": [
            {
                "title": "Registry & ownership",
                "items": [
                    {
                        "label": "Domain age",
                        "value": "4.7 years",
                        "tone": "good",
                        "detail": "Older domains generally carry more historical trust than very new ones."
                    },
                    {
                        "label": "Stability score",
                        "value": "100/100",
                        "tone": "good",
                        "detail": "Penalised by registrar, ownership, and nameserver churn."
                    },
                    {
                        "label": "Days to expiry",
                        "value": "120",
                        "tone": "good",
                        "detail": "Very short renewal windows can be a weak trust signal."
                    },
                    {
                        "label": "Registrar / ownership changes",
                        "value": "0 / 0",
                        "tone": "good",
                        "detail": "Frequent ownership churn can weaken trust."
                    },
                    {
                        "label": "Nameserver changes",
                        "value": "0",
                        "tone": "good",
                        "detail": "Repeated infrastructure changes can indicate instability."
                    },
                    {
                        "label": "DNSSEC / privacy",
                        "value": "DNSSEC off · privacy off",
                        "tone": "caution",
                        "detail": "DNSSEC strengthens DNS trust; privacy is neutral on its own."
                    }
                ]
            },
            {
                "title": "Reputation & search evidence",
                "items": [
                    {
                        "label": "Backlinks",
                        "value": "3",
                        "tone": "unknown",
                        "detail": "Broader backlink evidence usually improves confidence."
                    },
                    {
                        "label": "Referring domains",
                        "value": "3",
                        "tone": "unknown",
                        "detail": "Unique linking domains are more useful than raw link volume."
                    },
                    {
                        "label": "Organic keywords",
                        "value": "79",
                        "tone": "caution",
                        "detail": "Search footprint helps distinguish real sites from thin shells."
                    },
                    {
                        "label": "Indexed pages",
                        "value": "87",
                        "tone": "caution",
                        "detail": "Larger index coverage usually means more evidence to classify from."
                    },
                    {
                        "label": "Brand strength",
                        "value": "73/100",
                        "tone": "good",
                        "detail": "Stronger brand signals reduce false positives for legitimate sites."
                    },
                    {
                        "label": "Risk label",
                        "value": "GOOD",
                        "tone": "unknown",
                        "detail": "This is the raw crawl / heuristic risk label feeding the tag model."
                    }
                ]
            },
            {
                "title": "Crawl, content & technicals",
                "items": [
                    {
                        "label": "HTTP status",
                        "value": "200",
                        "tone": "good",
                        "detail": "Healthy responses make classification more reliable."
                    },
                    {
                        "label": "HTTPS / speed",
                        "value": "HTTPS OK · 289 ms",
                        "tone": "good",
                        "detail": "Slow or broken technical signals weaken confidence."
                    },
                    {
                        "label": "Content words",
                        "value": "1,077",
                        "tone": "good",
                        "detail": "Thin pages are harder to trust and easier to manipulate."
                    },
                    {
                        "label": "Schema / structure",
                        "value": "0 schema · meta · H1",
                        "tone": "caution",
                        "detail": "Structured markup and basic on-page hygiene improve quality confidence."
                    },
                    {
                        "label": "Links on page",
                        "value": "122 internal · 14 external",
                        "tone": "good",
                        "detail": "Link patterns help detect thin directories and promo pages."
                    },
                    {
                        "label": "Page speed / mobile",
                        "value": "98/100 · 86/100",
                        "tone": "good",
                        "detail": "Better technical quality generally reduces low-effort site patterns."
                    },
                    {
                        "label": "Crawl access",
                        "value": "Open",
                        "tone": "good",
                        "detail": "The crawler reached the site without an anti-bot challenge."
                    }
                ]
            },
            {
                "title": "External evidence & explainability",
                "items": [
                    {
                        "label": "Decision state",
                        "value": "Inconclusive",
                        "tone": "unknown",
                        "detail": "Structured third-party evidence is still too thin, mixed, or unqualified to force a harder verdict."
                    },
                    {
                        "label": "Evidence quality",
                        "value": "Low",
                        "tone": "unknown",
                        "detail": "Blends source trust, domain matching, evidence diversity, and freshness."
                    },
                    {
                        "label": "Support vs contradiction",
                        "value": "0 / 0",
                        "tone": "unknown",
                        "detail": "Compares how much structured external evidence supports the candidate tag against evidence that contradicts it."
                    },
                    {
                        "label": "Qualified risk sources",
                        "value": "No",
                        "tone": "good",
                        "detail": "Risk tags only promote from external evidence when source diversity or source trust thresholds are met."
                    },
                    {
                        "label": "Uncertainty buffer",
                        "value": "Clear",
                        "tone": "good",
                        "detail": "Prevents thin or mixed external evidence from forcing a stronger tag than the evidence can justify."
                    }
                ]
            }
        ],
        "positives": [
            "Established domain age: 4.7 years.",
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness."
        ],
        "risks": []
    },
    "traffic_confidence": 62,
    "whois": {
        "current": {
            "id": 32199,
            "domain": "brandonrohrer.com",
            "source_type": "rdap",
            "rdap_url": "https://rdap.verisign.com/com/v1/domain/BRANDONROHRER.COM",
            "registrar_name": "NameCheap, Inc.",
            "registrar_handle": "1068",
            "registrant_name": "",
            "registrant_org": "",
            "registrant_country": "",
            "registrant_email": "",
            "abuse_email": "abuse@namecheap.com",
            "created_date": "2021-08-17 21:25:12",
            "updated_date": "2025-09-07 11:07:56",
            "expires_date": "2026-08-17 21:25:12",
            "nameservers_json": "[\"dns1.registrar-servers.com\",\"dns2.registrar-servers.com\"]",
            "status_json": "[\"client transfer prohibited\"]",
            "dnssec": "unsigned",
            "privacy_protected": 0,
            "content_hash": "f6940cc752afab02dd01af968353b25b98b9b92697e58932c20209889b554f62",
            "history_count": 1,
            "last_checked_at": "2026-03-19 06:11:37",
            "last_changed_at": "2026-03-19 06:11:37",
            "created_at": "2026-03-19 06:11:38",
            "updated_at": "2026-03-19 06:11:38"
        },
        "history": [
            {
                "id": 32977,
                "domain": "brandonrohrer.com",
                "source_type": "rdap",
                "registrar_name": "NameCheap, Inc.",
                "registrar_handle": "1068",
                "registrant_name": "",
                "registrant_org": "",
                "registrant_country": "",
                "registrant_email": "",
                "abuse_email": "abuse@namecheap.com",
                "created_date": "2021-08-17 21:25:12",
                "updated_date": "2025-09-07 11:07:56",
                "expires_date": "2026-08-17 21:25:12",
                "nameservers_json": "[\"dns1.registrar-servers.com\",\"dns2.registrar-servers.com\"]",
                "status_json": "[\"client transfer prohibited\"]",
                "dnssec": "unsigned",
                "privacy_protected": 0,
                "content_hash": "f6940cc752afab02dd01af968353b25b98b9b92697e58932c20209889b554f62",
                "checked_at": "2026-03-19 06:11:37",
                "change_summary": "Initial WHOIS snapshot captured.",
                "created_at": "2026-03-19 06:11:37"
            }
        ],
        "signals": {
            "age_years": 4.7,
            "days_to_expiry": 120,
            "days_since_last_registry_update": 223,
            "stability_score": 100,
            "registrar_changes": 0,
            "ownership_changes": 0,
            "nameserver_changes": 0,
            "status_changes": 0,
            "history_entries": 1,
            "privacy_protected": false,
            "dnssec_enabled": false,
            "has_registrant_country": false,
            "registrant_country": "",
            "nameserver_count": 2,
            "status_count": 1
        }
    },
    "discovered_domain": {
        "id": 80741,
        "domain": "brandonrohrer.com",
        "first_seen_at": "2026-03-15 20:24:43",
        "last_crawled_at": "2026-03-19 06:11:39",
        "last_title": "Brandon Rohrer",
        "last_http_status": 200,
        "discovered_from_domain": "personalsit.es",
        "depth": 0,
        "backlinks_count": 2,
        "rating_cache": 59,
        "spam_score": 24,
        "risk_label": "good",
        "category_name": "Developer Tools: APIs & Documentation",
        "primary_country_code": "",
        "internal_links_count": 122,
        "external_links_count": 14,
        "social_profiles_count": 3,
        "content_word_count": 1077,
        "title_quality_score": 79,
        "has_meta_description": 1,
        "has_h1": 1,
        "language_code": "",
        "response_time_ms": 289,
        "robots_status": 0,
        "sitemap_status": 0,
        "sitemap_total_urls": 0,
        "quality_score": 83,
        "site_name": "",
        "canonical_domain": "",
        "favicon_present": 1,
        "schema_org_count": 0,
        "noindex_detected": 0,
        "feed_links_count": 1,
        "https_working": 1,
        "estimated_authority_score": 36,
        "trust_score": 90,
        "nsfw_score": 0,
        "overall_rank_estimate": 12592,
        "primary_tag": "",
        "tag_codes": "",
        "manual_verified_status": "",
        "manual_tag_codes": "",
        "manual_rating_delta": 0,
        "manual_authority_delta": 0,
        "manual_trust_delta": 0,
        "manual_note": null,
        "manual_adjusted_by": null,
        "manual_adjusted_at": null,
        "manual_lock_scores": 0,
        "manual_lock_flags": 0,
        "crawl_blocked": 0,
        "crawl_blocked_by": "",
        "crawl_blocked_reason": null,
        "safety_score": 100,
        "fraud_score": 1,
        "legitimacy_score": 51,
        "infrastructure_risk_score": 8,
        "score_confidence": 100,
        "tag_confidence": 72,
        "category_confidence": 18,
        "deep_crawl_pages": 15,
        "resolved_ip": "138.197.69.146",
        "category_candidates_json": "[{\"category\":\"Developer Tools: APIs & Documentation\",\"score\":6}]",
        "page_signals_json": "[{\"path\":\"/hosting6.html\",\"status\":200,\"title\":\"\",\"word_count\":3495,\"summary_text\":\"var blog_title = \\\"Automating traffic control\\\"; var publication_date = \\\"November 17, 2025\\\"; In my last post I said \\\"Automating firewall updates will be an adventure for another day.\\\" Today is that day. This is the latest in a growing series on hosting your own static blog. ( I, II, III, IV, V VI VII ) Protecting your website requires you to keep your eyes on it at all times. That can get tiring. Sometimes you need to eat and sleep and maybe work for a living. It can be useful to have automated helpers to fill those gaps. Detection The first step in keeping your blog traffic healthy is to be able to detect when someone is doing something they shouldn't. In my traffic control post I described five behaviors that I wanted to limit Scanning for secrets Fishing for files Rapid-fire requests Tryi\",\"classification_terms\":[\"hosting6.html\",\"help\",\"api\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/ziptie\",\"status\":200,\"title\":\"Cookie monster!\",\"word_count\":41,\"summary_text\":\"Cookie monster! Cookie monster!This is an automated check to get rid of most bots. If you have JavaScript enabled, it should redirect to the real page soon. If you don't, it still should redirect soon, but you can click here if you're fast.document.cookie=\\\"x-robot-challenge-2=passed;path=/\\\";window.location.reload();\",\"classification_terms\":[\"ziptie\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/buckettree\",\"status\":200,\"title\":\"brohrer/bucket-tree: An online hierarchical binning algorithm - Codeberg.org\",\"word_count\":1048,\"summary_text\":\"brohrer/bucket-tree: An online hierarchical binning algorithm - Codeberg.org brohrer/bucket-tree: An online hierarchical binning algorithm - Codeberg.org window.addEventListener('error', function(e) {window._globalHandlerErrors=window._globalHandlerErrors||[]; window._globalHandlerErrors.push(e);}); window.addEventListener('unhandledrejection', function(e) {window._globalHandlerErrors=window._globalHandlerErrors||[]; window._globalHandlerErrors.push(e);}); window.config = { appUrl: 'https:\\\\/\\\\/codeberg.org\\\\/', appSubUrl: '', assetVersionEncoded: encodeURIComponent('14.0.0-155-f6480949~gitea-1.22.0'), assetUrlPrefix: '\\\\/assets', runModeIsProd: true , customEmojis: new Set([\\\"git\\\",\\\"gitea\\\",\\\"codeberg\\\",\\\"gitlab\\\",\\\"github\\\",\\\"gogs\\\",\\\"forgejo\\\"]), pageData: {\\\"DATETIMESTRINGS\\\":{\\\"FUTURE\\\":\\\"in future\\\",\\\"NOW\\\":\\\"now\\\",\\\"relativetime.1day\\\":\\\"yesterday\\\",\\\"relativetime.1month\\\":\\\"last month\\\",\\\"rel\",\"classification_terms\":[\"buckettree\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":7,\"depth\":1},{\"path\":\"/pendulum.html\",\"status\":200,\"title\":\"\",\"word_count\":5708,\"summary_text\":\"var blog_title = \\\"Solving an easy RL problem on hard mode\\\"; var publication_date = \\\"August 10, 2025\\\"; A story about a reinforcement learning approach learning to make a pendulum stand up straight, while making very few assumptions. tl;dr This is a demonstration of an RL approach that uses a combination of new tools to control a simulated pendulum: BucketTree to learn a discretization of the pendulum’s continuous state variables, angle and angular velocity, Ziptie to bundle the discretized values into discrete states, Fuzzy Naive Cartographer (FNC) to learn common state-action-state sequences and to make conditional predictions of reward for each action. It all runs in Myrtle, a real-time reinforcement learning workbench. This approach requires only a little domain specific design and makes\",\"classification_terms\":[\"pendulum.html\",\"about\",\"cart\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/how_optimization_works_1.html\",\"status\":200,\"title\":\"\",\"word_count\":1595,\"summary_text\":\"var blog_title = \\\"Optimization methods\\\"; var publication_date = \\\"October 10, 2018\\\"; Check out the full course content for How Optimization Works, including video, slides, and code. Optimization is a fancy word for \\\"finding the best way.\\\" We can see how it works if we take a closer look at drinking tea. There is a best temperature for tea. If your tea is too hot, it will scald your tongue and you won't be able to taste anything for three days. If it’s lukewarm, it’s entirely unsatisfying. There is a sweet spot in the middle where it is comfortably hot, warming you from the inside out all the way down your throat and radiating through your belly. This is the ideal temperature for tea. This happy medium is what we try to find in optimization. That’s what Goldilocks was looking for when she tr\",\"classification_terms\":[\"how_optimization_works_1.html\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/how_neural_networks_work.html\",\"status\":200,\"title\":\"\",\"word_count\":130,\"summary_text\":\"var blog_title = \\\"How neural networks work\\\"; var publication_date = \\\"March 2, 2017\\\"; Find the rest of the How Neural Networks Work video series in this free online course. in Simplified Mandarin by Jimmy Lin in Tradititional Mandarin by Jimmy Lin Get the slides &nbsp; &nbsp; in English &nbsp; &nbsp; in Danish by Astrid Hanghøj &nbsp; &nbsp; in Dutch by Martijn de Boer Far from being incomprehensible, the principles behind neural networks are surprisingly simple. Here's a gentle walk through how to use deep learning to categorize images from a very simple camera. You have responded with overwhelmingly positive comments to my two previous videos on convolutional neural networks and deep learning. You have also made two requests: find a better example and explain backpropagation. This video d\",\"classification_terms\":[\"how_neural_networks_work.html\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/ecg\",\"status\":200,\"title\":\"Brandon Rohrer / study-ecg-rhythms · GitLab\",\"word_count\":214,\"summary_text\":\"Brandon Rohrer / study-ecg-rhythms · GitLab Brandon Rohrer / study-ecg-rhythms · GitLab // // { if (e.matches) { root.classList.add('gl-dark'); } else { root.classList.remove('gl-dark'); } }); //]]> // { gl.startup_calls[apiCall] = { fetchCall: fetch(apiCall, { // Emulate XHR for Rails AJAX request checks headers: { 'X-Requested-With': 'XMLHttpRequest' }, // fetch won’t send cookies in older browsers, unless you set the credentials init option. // We set to `same-origin` which is default value in modern browsers. // See https://github.com/whatwg/fetch/pull/585 for more information. credentials: 'same-origin' }) }; }); } if (gl.startup_graphql_calls && window.fetch) { const headers = {\\\"X-CSRF-Token\\\":\\\"czGplpg1hgM0MPz746mdVBBdG50Q0GwVs4W8l-cxKctxzpFuKnM0CaldfpaT987ysmZtd3911ZFomYWVQlnVqw\\\",\\\"x-gitlab-feature-category\\\":\\\"groups_and_project\",\"classification_terms\":[\"ecg\",\"api\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/mnist\",\"status\":200,\"title\":\"Brandon Rohrer / study-mnist-digits · GitLab\",\"word_count\":198,\"summary_text\":\"Brandon Rohrer / study-mnist-digits · GitLab Brandon Rohrer / study-mnist-digits · GitLab // // { if (e.matches) { root.classList.add('gl-dark'); } else { root.classList.remove('gl-dark'); } }); //]]> // { gl.startup_calls[apiCall] = { fetchCall: fetch(apiCall, { // Emulate XHR for Rails AJAX request checks headers: { 'X-Requested-With': 'XMLHttpRequest' }, // fetch won’t send cookies in older browsers, unless you set the credentials init option. // We set to `same-origin` which is default value in modern browsers. // See https://github.com/whatwg/fetch/pull/585 for more information. credentials: 'same-origin' }) }; }); } if (gl.startup_graphql_calls && window.fetch) { const headers = {\\\"X-CSRF-Token\\\":\\\"thdhZqivIhvduB_v4GI-OTM8RR6uoF0qAbI5maxOlK-r1troQKhEdNz6qruA-7CO6YpcWXT7XsYtjcMvvZxLhA\\\",\\\"x-gitlab-feature-category\\\":\\\"groups_and_projec\",\"classification_terms\":[\"mnist\",\"api\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/cifar\",\"status\":200,\"title\":\"Brandon Rohrer / study-cifar-10 · GitLab\",\"word_count\":220,\"summary_text\":\"Brandon Rohrer / study-cifar-10 · GitLab Brandon Rohrer / study-cifar-10 · GitLab // // { if (e.matches) { root.classList.add('gl-dark'); } else { root.classList.remove('gl-dark'); } }); //]]> // { gl.startup_calls[apiCall] = { fetchCall: fetch(apiCall, { // Emulate XHR for Rails AJAX request checks headers: { 'X-Requested-With': 'XMLHttpRequest' }, // fetch won’t send cookies in older browsers, unless you set the credentials init option. // We set to `same-origin` which is default value in modern browsers. // See https://github.com/whatwg/fetch/pull/585 for more information. credentials: 'same-origin' }) }; }); } if (gl.startup_graphql_calls && window.fetch) { const headers = {\\\"X-CSRF-Token\\\":\\\"3TnhRRHAug6ZVRwQ6Jj9_8cOMzSAYGdRe-dbCuxFl53_z2zmY5Yr8kMMlNx4JfKUDqWPHrMFZA1QmClxy5Rs2g\\\",\\\"x-gitlab-feature-category\\\":\\\"groups_and_projects\\\"}\",\"classification_terms\":[\"cifar\",\"api\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/datetime_tricks.html\",\"status\":200,\"title\":\"\",\"word_count\":1051,\"summary_text\":\"var blog_title = \\\"How to use datetime\\\"; var publication_date = \\\"July 31, 2018\\\"; For video narration and slides, as well as other data processing tutorials, visit the Data Munging Tips and Tricks course page. It's free. Wrangling dates and times in python Python's datetime package is a convenient set of tools for working with dates and times. With just the five tricks that I’m about to show you, you can handle most of your datetime processing needs. Before jumping in, it’s helpful to look at how datetime is put together. The fundamental building block is a datetime object. Not surprisingly, this is a combination of a date object and a time object. A date object is just a set of values for the year, the month, the day, and a collection of functions that knows how to handle them. A time objec\",\"classification_terms\":[\"datetime_tricks.html\",\"about\",\"help\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":4,\"depth\":1},{\"path\":\"/db_awkwardness.html\",\"status\":200,\"title\":\"\",\"word_count\":1603,\"summary_text\":\"var blog_title = \\\"Navigating Database Awkwardness: The First Date\\\"; var publication_date = \\\"September 23, 2023\\\"; One of the things that can make databases awkward at first, especially in Python, is the terminology. It’s based on some old school concepts and technologies. A very long time ago bits were carved into stone tablets with magnetic chisels. These tablets were circular in shape and stacked on top of each other, resulting in something shaped like a can, or a drum. And this is why databases are always represented as cylinders in architecture diagrams, like this: But this doesn't tell us anything about how to actually work with them. For that it's helpful to dig into how they organize data. Databases are clumsy Spreadsheets If it’s helpful, you can think of databases as spreadsheets.\",\"classification_terms\":[\"db_awkwardness.html\",\"about\",\"help\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/images_to_numbers.html\",\"status\":200,\"title\":\"\",\"word_count\":1451,\"summary_text\":\"var blog_title = \\\"How to Convert a Picture to Numbers\\\"; var publication_date = \\\"November 13, 2019\\\"; The experience of seeing the world around us is all but impossible to capture in a handful of words, from the careful steps of a marching ant, to the works of Pablo Picasso and Beatrix Potter, to a solitary oak tree, twisted and dignified. It's ridiculous to think that we could ever reduce it all to ones and zeros. Except that we have. In fact, our images are so realistic now that we go to pains to re-introduce artifacts, like the washed out colors of Polaroids or the scratches on celluloid. This may be a blow to romanticism, but it's great luck for machine learning practitioners. Reducing images to numbers makes them amenable to computation. Color perception Color fascinates me because it i\",\"classification_terms\":[\"images_to_numbers.html\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/matplotlib_animation.html\",\"status\":200,\"title\":\"\",\"word_count\":103,\"summary_text\":\"var blog_title = \\\"Manual animations\\\"; var publication_date = \\\"August 28, 2021\\\"; I always forget how to manually do animations in Matplotlib. Here's a snippet for future me. import numpy as np import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_axes((0, 0, 1, 1)) ax.set_xlim(0, 1) ax.set_ylim(0, 1) plt.ion() plt.show() xs = np.linspace(0, 1, 100) ys = (np.sin(xs * 10) + 1) * .5 spot, = ax.plot(0, 0, markersize=10, marker='^') for x, y in zip(xs, ys): spot.set_xdata(x) spot.set_ydata(y) fig.canvas.flush_events() There are already some great animation tools that are more mature than this, but sometimes I find it helpful to use this stripped-down approach.\",\"classification_terms\":[\"matplotlib_animation.html\",\"help\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/commit.html\",\"status\":200,\"title\":\"Commit\",\"word_count\":868,\"summary_text\":\"Commit Commit Commit Brandon Rohrer's Blog It's easy to never make a mistake. Answer questions with \\\"It depends,\\\" and postpone decisions with \\\"I'll consider it.\\\" You can't lose if you don't play. But you also can't win. In rock climbing, caution can only get you so far. At some point you find that the next handhold is too far away and your grip too tenuous. The only way to get there is to throw your body upward, stretch as far as you can and grab hold with everything you've got. If you don't stretch far enough, you'll fall. If you miss the hold, you'll fall. If you don't grab it hard enough, you'll fall. And if you move too hesitantly, you'll fall. Your friends circle around the bottom of the climb yelling, \\\"Commit!\\\" They know it's the only way to get to the top. They also know you'll fall more t\",\"classification_terms\":[\"commit.html\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/numpy_resources.html\",\"status\":200,\"title\":\"\",\"word_count\":261,\"summary_text\":\"var blog_title = \\\"NumPy resources\\\"; var publication_date = \\\"July 18, 2019\\\"; NumPy is indispensible for manipulating data in python and luckily there are plenty of online resources for learning the ropes. Here are some solid options, recommended by the good people of Twitter and LinkedIn. What some of them lack in polish, they make up for in substance. Getting started Jay Alammar's Visual Intro to Numpy is a perfect first stop. Finxter's NumPy Tutorial provides a complementary approach. Nicolas Rougier's collection of 100 NumPy exercises gives an excellent opportunity to learn the mechanics of NumPy. There are problems for learners of all levels. Together with Machine Learning Plus' NumPy Exercises these provide a fantastic companion to the introductory tutorials. There's no beating the Sci\",\"classification_terms\":[\"numpy_resources.html\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1}]",
        "score_reasons_json": "[]",
        "route_domain": "brandonrohrer.com",
        "display_domain": "brandonrohrer.com"
    },
    "explainability": {
        "summary": "brandonrohrer.com currently scores 64/100. The score is being shaped by a mixed signal profile rather than one dominant factor. Evidence confidence is strong enough for a relatively stable read. This is an estimated profile rather than a manually tracked one. Crawler access looks clean.",
        "badges": [
            {
                "label": "Profile",
                "value": "Estimated profile",
                "tone": "unknown",
                "detail": null
            },
            {
                "label": "Evidence confidence",
                "value": "High confidence",
                "tone": "good",
                "detail": "100/100"
            },
            {
                "label": "Traffic confidence",
                "value": "Solid confidence",
                "tone": "caution",
                "detail": "62/100"
            },
            {
                "label": "Crawler access",
                "value": "Clean visibility",
                "tone": "good",
                "detail": null
            }
        ],
        "weighted_contributions": [
            {
                "label": "Quality system",
                "points": "+20.7",
                "tone": "caution",
                "detail": "Technical quality, crawl depth, page structure, and implementation hygiene. Current subsystem score: 61/100."
            },
            {
                "label": "Reputation system",
                "points": "+15.3",
                "tone": "caution",
                "detail": "Authority, search visibility, reach, engagement, and registry stability. Current subsystem score: 45/100."
            },
            {
                "label": "Safety system",
                "points": "+32.0",
                "tone": "good",
                "detail": "Fraud, spam, and trust signals from infrastructure, crawl, and registry evidence. Current subsystem score: 100/100."
            },
            {
                "label": "Risk clamp",
                "points": "-4.0",
                "tone": "risk",
                "detail": "Safety thresholds capped the final score until the risk profile improves."
            }
        ],
        "evidence_cards": [
            {
                "label": "Authority and trust",
                "value": "47/100 · trust 73/100",
                "tone": "caution",
                "detail": "215 monthly visitors, 79 organic keywords, brand completeness 73/100, engagement 83/100."
            },
            {
                "label": "Backlink and search evidence",
                "value": "3 referring domains",
                "tone": "good",
                "detail": "3 backlinks across 3 referring domains. Diversity 94/100; spam penalty 0."
            },
            {
                "label": "Registry and domain stability",
                "value": "4.7 years old",
                "tone": "good",
                "detail": "Stability 100/100 · age 4.7 years · registrar NameCheap, Inc. · expires in 120 days."
            },
            {
                "label": "Safety and fraud posture",
                "value": "Safety 100/100 · fraud 1/100",
                "tone": "good",
                "detail": "Primary tag T · safety 100/100 · fraud 1/100."
            }
        ],
        "positives": [
            "Established domain age: 4.7 years.",
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness.",
            "Registry history looks stable, which supports legitimacy and trust.",
            "HTTPS is working, so the site clears a basic transport-security check.",
            "Backlink diversity looks broad enough to strengthen authority confidence."
        ],
        "risks": [],
        "freshness": [
            {
                "label": "Crawl evidence",
                "value": "2026-03-19 06:11:39",
                "tone": "risk",
                "detail": "Crawl and page content sample. Age: 1mo ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-03-19 06:11:37",
                "tone": "risk",
                "detail": "Registry profile and stability signals. Age: 1mo ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-19 10:50:03",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-19 10:50:03",
                "tone": "good",
                "detail": "Estimated trend derived from current profile and crawl signals. Age: 0s ago."
            },
            {
                "label": "Audience geography",
                "value": "Not captured yet",
                "tone": "unknown",
                "detail": "Audience mix is estimated from available signals rather than first-party audience logs."
            }
        ],
        "section_notes": {
            "audience": "Audience geography is estimated from category, country, traffic mix, and brand signals until first-party audience data is collected.",
            "keywords": "Top keywords are estimated from crawl language, brand, category, and visibility signals until tracked keyword snapshots are stored.",
            "history": "Rank history is estimated from the current profile because no stored history exists for this domain yet."
        },
        "base_weighted_score": 68,
        "fraud_clamp_penalty": 4,
        "final_score": 64
    },
    "insight_snapshot": {
        "version": 1,
        "generated_at": "2026-04-19T10:50:03+00:00",
        "domain": "brandonrohrer.com",
        "display_name": "Brandon Rohrer",
        "is_tracked": false,
        "is_estimated": true,
        "overall_score": 64,
        "authority_score": 47,
        "trust_score": 73,
        "safety_score": 100,
        "fraud_score": 1,
        "confidence_score": 100,
        "traffic_confidence": 62,
        "last_crawled_at": "2026-03-19 06:11:39",
        "crawl_blocked": false,
        "summary": "brandonrohrer.com currently scores 64/100. The score is being shaped by a mixed signal profile rather than one dominant factor. Evidence confidence is strong enough for a relatively stable read. This is an estimated profile rather than a manually tracked one. Crawler access looks clean.",
        "badges": [
            {
                "label": "Profile",
                "value": "Estimated profile",
                "tone": "unknown",
                "detail": null
            },
            {
                "label": "Evidence confidence",
                "value": "High confidence",
                "tone": "good",
                "detail": "100/100"
            },
            {
                "label": "Traffic confidence",
                "value": "Solid confidence",
                "tone": "caution",
                "detail": "62/100"
            },
            {
                "label": "Crawler access",
                "value": "Clean visibility",
                "tone": "good",
                "detail": null
            }
        ],
        "top_positive_signals": [
            "Established domain age: 4.7 years.",
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness.",
            "Registry history looks stable, which supports legitimacy and trust.",
            "HTTPS is working, so the site clears a basic transport-security check."
        ],
        "top_risk_signals": [],
        "freshness": [
            {
                "label": "Crawl evidence",
                "value": "2026-03-19 06:11:39",
                "tone": "risk",
                "detail": "Crawl and page content sample. Age: 1mo ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-03-19 06:11:37",
                "tone": "risk",
                "detail": "Registry profile and stability signals. Age: 1mo ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-19 10:50:03",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-19 10:50:03",
                "tone": "good",
                "detail": "Estimated trend derived from current profile and crawl signals. Age: 0s ago."
            },
            {
                "label": "Audience geography",
                "value": "Not captured yet",
                "tone": "unknown",
                "detail": "Audience mix is estimated from available signals rather than first-party audience logs."
            }
        ],
        "top_tags": [
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good"
            }
        ]
    },
    "is_tracked": false,
    "is_estimated": true,
    "live_state": {
        "status": "processing",
        "status_label": "Cache build running",
        "message": "The refreshed page cache is still being built for this domain.",
        "updated_at": "2026-04-19T15:22:13+00:00"
    },
    "refresh_state": {
        "canRequest": false,
        "queued": true,
        "processing": true,
        "stageKey": "cache-queued",
        "stageLabel": "Cache build running",
        "cooldownUntil": null,
        "message": "The refreshed page cache is still being built for this domain.",
        "action": "/domain/brandonrohrer.com/refresh",
        "isGuestCooldown": false,
        "cooldownSeconds": 0
    },
    "urlscan_report": {
        "domain": "brandonrohrer.com",
        "status": "complete",
        "submitted_at": "2026-03-19T06:11:39+00:00",
        "last_checked_at": "2026-03-23T15:37:33+00:00",
        "last_error": "",
        "submitted_url": "https://brandonrohrer.com/",
        "summary": "urlscan.io report is ready.",
        "uuid": "019d04b8-9798-72f3-8f4b-849b6d344e30",
        "result_url": "https://urlscan.io/result/019d04b8-9798-72f3-8f4b-849b6d344e30/",
        "api_result_url": "https://urlscan.io/api/v1/result/019d04b8-9798-72f3-8f4b-849b6d344e30/",
        "visibility": "public",
        "raw_submit_response": {
            "message": "Submission successful",
            "uuid": "019d04b8-9798-72f3-8f4b-849b6d344e30",
            "result": "https://urlscan.io/result/019d04b8-9798-72f3-8f4b-849b6d344e30/",
            "api": "https://urlscan.io/api/v1/result/019d04b8-9798-72f3-8f4b-849b6d344e30/",
            "visibility": "public",
            "options": [],
            "url": "https://brandonrohrer.com/"
        },
        "report": {
            "data": {
                "requests": [
                    {
                        "request": {
                            "requestId": "F120B01F4066652CF84A00B68119BD61",
                            "loaderId": "F120B01F4066652CF84A00B68119BD61",
                            "documentURL": "https://brandonrohrer.com/",
                            "request": {
                                "url": "https://brandonrohrer.com/",
                                "method": "GET",
                                "headers": {
                                    "Upgrade-Insecure-Requests": "1",
                                    "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36"
                                },
                                "mixedContentType": "none",
                                "initialPriority": "VeryHigh",
                                "referrerPolicy": "strict-origin-when-cross-origin",
                                "isSameSite": true
                            },
                            "timestamp": 35824327.782747,
                            "wallTime": 1773900701.494514,
                            "initiator": {
                                "type": "other"
                            },
                            "redirectHasExtraInfo": false,
                            "type": "Document",
                            "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6",
                            "hasUserGesture": false,
                            "primaryRequest": true
                        },
                        "response": {
                            "encodedDataLength": 6643,
                            "dataLength": 28007,
                            "requestId": "F120B01F4066652CF84A00B68119BD61",
                            "type": "Document",
                            "response": {
                                "url": "https://brandonrohrer.com/",
                                "status": 200,
                                "statusText": "OK",
                                "headers": {
                                    "Connection": "keep-alive",
                                    "Content-Encoding": "gzip",
                                    "Content-Type": "text/html",
                                    "Date": "Thu, 19 Mar 2026 06:11:41 GMT",
                                    "ETag": "W/\"699af9c0-6d67\"",
                                    "Last-Modified": "Sun, 22 Feb 2026 12:42:40 GMT",
                                    "Server": "nginx/1.24.0 (Ubuntu)",
                                    "Transfer-Encoding": "chunked"
                                },
                                "mimeType": "text/html",
                                "charset": "",
                                "remoteIPAddress": "138.197.69.146",
                                "remotePort": 443,
                                "encodedDataLength": 259,
                                "timing": {
                                    "requestTime": 35824327.784928,
                                    "proxyStart": -1,
                                    "proxyEnd": -1,
                                    "dnsStart": 0,
                                    "dnsEnd": 7.55,
                                    "connectStart": 10.875,
                                    "connectEnd": 332.731,
                                    "sslStart": 66.554,
                                    "sslEnd": 332.719,
                                    "workerStart": -1,
                                    "workerReady": -1,
                                    "workerFetchStart": -1,
                                    "workerRespondWithSettled": -1,
                                    "sendStart": 333.174,
                                    "sendEnd": 333.272,
                                    "pushStart": 0,
                                    "pushEnd": 0,
                                    "receiveHeadersStart": 549.235,
                                    "receiveHeadersEnd": 549.383
                                },
                                "responseTime": 1773900702045.919,
                                "protocol": "http/1.1",
                                "alternateProtocolUsage": "unspecifiedReason",
                                "securityState": "secure",
                                "securityDetails": {
                                    "protocol": "TLS 1.3",
                                    "keyExchange": "",
                                    "keyExchangeGroup": "X25519",
                                    "cipher": "AES_128_GCM",
                                    "certificateId": 0,
                                    "subjectName": "brandonrohrer.com",
                                    "sanList": [
                                        "brandonrohrer.com",
                                        "www.brandonrohrer.com"
                                    ],
                                    "issuer": "E8",
                                    "validFrom": 1772813724,
                                    "validTo": 1780589723,
                                    "signedCertificateTimestampList": [
                                        {
                                            "status": "Verified",
                                            "origin": "Embedded in certificate",
                                            "logDescription": "Let's Encrypt 'Willow2026h1'",
                                            "logId": "E3238DF28DA288E0AAE0ACF0FA90C985F0B6BFF5D2A527B001FC1C4458C4B6E8",
                                            "timestamp": 1772817235523,
                                            "hashAlgorithm": "SHA-256",
                                            "signatureAlgorithm": "ECDSA",
                                            "signatureData": "304602210087B0D3E698A8DF2ADA6A9797D13C3C15D6F348A799DDF39A2929A4D10DCED28B0221009CFD77ED46C08EB09E8CB4453C03CCF0495285D99F1310AB2917D7B0BAE6DCFF"
                                        },
                                        {
                                            "status": "Verified",
                                            "origin": "Embedded in certificate",
                                            "logDescription": "Google 'Argon2026h1' log",
                                            "logId": "0E5794BCF3AEA93E331B2C9907B3F790DF9BC23D713225DD21A925AC61C54E21",
                                            "timestamp": 1772817236734,
                                            "hashAlgorithm": "SHA-256",
                                            "signatureAlgorithm": "ECDSA",
                                            "signatureData": "30450220324FDE4CC205DE712BBED9EDCF3159A310BE2EDD3928F7DFF25D7FBB8D6D1143022100D677F8E4EE91A474DA8B65EFBFB176B7E11B9AB770A191B3F3935055DF8F93C8"
                                        }
                                    ],
                                    "certificateTransparencyCompliance": "compliant",
                                    "serverSignatureAlgorithm": 1027,
                                    "encryptedClientHello": false
                                }
                            },
                            "hasExtraInfo": true,
                            "hash": "bc0cbc444efa2f10eff90fb658e507b36b7ca0d7a8ff0ef5122950a95b5df296",
                            "size": 28007,
                            "asn": {
                                "ip": "138.197.69.146",
                                "asn": "14061",
                                "country": "US",
                                "description": "DIGITALOCEAN-ASN - DigitalOcean, LLC, US",
                                "name": "DigitalOcean",
                                "route": "138.197.0.0/17"
                            },
                            "geoip": {
                                "country": "US",
                                "region": "NJ",
                                "timezone": "America/New_York",
                                "city": "Clifton",
                                "ll": [
                                    40.8364,
                                    -74.1403
                                ],
                                "country_name": "United States",
                                "metro": 501
                            }
                        }
                    },
                    {
                        "request": {
                            "requestId": "2963528.2",
                            "loaderId": "F120B01F4066652CF84A00B68119BD61",
                            "documentURL": "https://brandonrohrer.com/",
                            "request": {
                                "url": "https://brandonrohrer.com/stylesheets/stylesheet.css",
                                "method": "GET",
                                "headers": {
                                    "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36",
                                    "Referer": "https://brandonrohrer.com/"
                                },
                                "mixedContentType": "none",
                                "initialPriority": "VeryHigh",
                                "referrerPolicy": "strict-origin-when-cross-origin",
                                "isSameSite": true
                            },
                            "timestamp": 35824328.342699,
                            "wallTime": 1773900702.054496,
                            "initiator": {
                                "type": "parser",
                                "url": "https://brandonrohrer.com/",
                                "lineNumber": 10,
                                "columnNumber": 92
                            },
                            "redirectHasExtraInfo": false,
                            "type": "Stylesheet",
                            "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6",
                            "hasUserGesture": false,
                            "renderBlockingBehavior": "Blocking"
                        },
                        "response": {
                            "encodedDataLength": 7031,
                            "dataLength": 6783,
                            "requestId": "2963528.2",
                            "type": "Stylesheet",
                            "response": {
                                "url": "https://brandonrohrer.com/stylesheets/stylesheet.css",
                                "status": 200,
                                "statusText": "OK",
                                "headers": {
                                    "ETag": "\"691a1f44-1a7f\"",
                                    "Connection": "keep-alive",
                                    "Accept-Ranges": "bytes",
                                    "Content-Length": "6783",
                                    "Date": "Thu, 19 Mar 2026 06:11:42 GMT",
                                    "Content-Type": "text/css",
                                    "Last-Modified": "Sun, 16 Nov 2025 19:00:20 GMT",
                                    "Server": "nginx/1.24.0 (Ubuntu)"
                                },
                                "mimeType": "text/css",
                                "charset": "",
                                "remoteIPAddress": "138.197.69.146",
                                "remotePort": 443,
                                "encodedDataLength": 248,
                                "timing": {
                                    "requestTime": 35824328.343476,
                                    "proxyStart": -1,
                                    "proxyEnd": -1,
                                    "dnsStart": -1,
                                    "dnsEnd": -1,
                                    "connectStart": -1,
                                    "connectEnd": -1,
                                    "sslStart": -1,
                                    "sslEnd": -1,
                                    "workerStart": -1,
                                    "workerReady": -1,
                                    "workerFetchStart": -1,
                                    "workerRespondWithSettled": -1,
                                    "sendStart": 0.287,
                                    "sendEnd": 0.38,
                                    "pushStart": 0,
                                    "pushEnd": 0,
                                    "receiveHeadersStart": 173.23,
                                    "receiveHeadersEnd": 173.536
                                },
                                "responseTime": 1773900702228.462,
                                "protocol": "http/1.1",
                                "alternateProtocolUsage": "unspecifiedReason",
                                "securityState": "secure",
                                "securityDetails": {
                                    "protocol": "TLS 1.3",
                                    "keyExchange": "",
                                    "keyExchangeGroup": "X25519",
                                    "cipher": "AES_128_GCM",
                                    "certificateId": 0,
                                    "subjectName": "brandonrohrer.com",
                                    "sanList": [
                                        "brandonrohrer.com",
                                        "www.brandonrohrer.com"
                                    ],
                                    "issuer": "E8",
                                    "validFrom": 1772813724,
                                    "validTo": 1780589723,
                                    "signedCertificateTimestampList": [
                                        {
                                            "status": "Verified",
                                            "origin": "Embedded in certificate",
                                            "logDescription": "Let's Encrypt 'Willow2026h1'",
                                            "logId": "E3238DF28DA288E0AAE0ACF0FA90C985F0B6BFF5D2A527B001FC1C4458C4B6E8",
                                            "timestamp": 1772817235523,
                                            "hashAlgorithm": "SHA-256",
                                            "signatureAlgorithm": "ECDSA",
                                            "signatureData": "304602210087B0D3E698A8DF2ADA6A9797D13C3C15D6F348A799DDF39A2929A4D10DCED28B0221009CFD77ED46C08EB09E8CB4453C03CCF0495285D99F1310AB2917D7B0BAE6DCFF"
                                        },
                                        {
                                            "status": "Verified",
                                            "origin": "Embedded in certificate",
                                            "logDescription": "Google 'Argon2026h1' log",
                                            "logId": "0E5794BCF3AEA93E331B2C9907B3F790DF9BC23D713225DD21A925AC61C54E21",
                                            "timestamp": 1772817236734,
                                            "hashAlgorithm": "SHA-256",
                                            "signatureAlgorithm": "ECDSA",
                                            "signatureData": "30450220324FDE4CC205DE712BBED9EDCF3159A310BE2EDD3928F7DFF25D7FBB8D6D1143022100D677F8E4EE91A474DA8B65EFBFB176B7E11B9AB770A191B3F3935055DF8F93C8"
                                        }
                                    ],
                                    "certificateTransparencyCompliance": "compliant",
                                    "serverSignatureAlgorithm": 1027,
                                    "encryptedClientHello": false
                                }
                            },
                            "hasExtraInfo": true,
                            "hash": "8357b2703d5f1294746f0ea6cf971610e2f57d64302993db0d19e90b3c99546f",
                            "size": 6783,
                            "asn": {
                                "ip": "138.197.69.146",
                                "asn": "14061",
                                "country": "US",
                                "description": "DIGITALOCEAN-ASN - DigitalOcean, LLC, US",
                                "name": "DigitalOcean",
                                "route": "138.197.0.0/17"
                            },
                            "geoip": {
                                "country": "US",
                                "region": "NJ",
                                "timezone": "America/New_York",
                                "city": "Clifton",
                                "ll": [
                                    40.8364,
                                    -74.1403
                                ],
                                "country_name": "United States",
                                "metro": 501
                            }
                        },
                        "initiatorInfo": {
                            "url": "https://brandonrohrer.com/",
                            "host": "brandonrohrer.com",
                            "type": "parser"
                        }
                    },
                    {
                        "request": {
                            "requestId": "2963528.4",
                            "loaderId": "F120B01F4066652CF84A00B68119BD61",
                            "documentURL": "https://brandonrohrer.com/",
                            "request": {
                                "url": "https://brandonrohrer.com/stylesheets/print.css",
                                "method": "GET",
                                "headers": {
                                    "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36",
                                    "Referer": "https://brandonrohrer.com/"
                                },
                                "mixedContentType": "none",
                                "initialPriority": "VeryLow",
                                "referrerPolicy": "strict-origin-when-cross-origin",
                                "isSameSite": true
                            },
                            "timestamp": 35824328.368355,
                            "wallTime": 1773900702.080131,
                            "initiator": {
                                "type": "parser",
                                "url": "https://brandonrohrer.com/",
                                "lineNumber": 11,
                                "columnNumber": 86
                            },
                            "redirectHasExtraInfo": false,
                            "type": "Stylesheet",
                            "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6",
                            "hasUserGesture": false,
                            "renderBlockingBehavior": "NonBlocking"
                        },
                        "response": {
                            "encodedDataLength": 3524,
                            "dataLength": 3277,
                            "requestId": "2963528.4",
                            "type": "Stylesheet",
                            "response": {
                                "url": "https://brandonrohrer.com/stylesheets/print.css",
                                "status": 200,
                                "statusText": "OK",
                                "headers": {
                                    "ETag": "\"691a1f44-ccd\"",
                                    "Connection": "keep-alive",
                                    "Accept-Ranges": "bytes",
                                    "Content-Length": "3277",
                                    "Date": "Thu, 19 Mar 2026 06:11:42 GMT",
                                    "Content-Type": "text/css",
                                    "Last-Modified": "Sun, 16 Nov 2025 19:00:20 GMT",
                                    "Server": "nginx/1.24.0 (Ubuntu)"
                                },
                                "mimeType": "text/css",
                                "charset": "",
                                "remoteIPAddress": "138.197.69.146",
                                "remotePort": 443,
                                "encodedDataLength": 247,
                                "timing": {
                                    "requestTime": 35824328.368826,
                                    "proxyStart": -1,
                                    "proxyEnd": -1,
                                    "dnsStart": -1,
                                    "dnsEnd": -1,
                                    "connectStart": -1,
                                    "connectEnd": -1,
                                    "sslStart": -1,
                                    "sslEnd": -1,
                                    "workerStart": -1,
                                    "workerReady": -1,
                                    "workerFetchStart": -1,
                                    "workerRespondWithSettled": -1,
                                    "sendStart": 150.241,
                                    "sendEnd": 150.342,
                                    "pushStart": 0,
                                    "pushEnd": 0,
                                    "receiveHeadersStart": 271.14,
                                    "receiveHeadersEnd": 271.83
                                },
                                "responseTime": 1773900702351.722,
                                "protocol": "http/1.1",
                                "alternateProtocolUsage": "unspecifiedReason",
                                "securityState": "secure",
                                "securityDetails": {
                                    "protocol": "TLS 1.3",
                                    "keyExchange": "",
                                    "keyExchangeGroup": "X25519",
                                    "cipher": "AES_128_GCM",
                                    "certificateId": 0,
                                    "subjectName": "brandonrohrer.com",
                                    "sanList": [
                                        "brandonrohrer.com",
                                        "www.brandonrohrer.com"
                                    ],
                                    "issuer": "E8",
                                    "validFrom": 1772813724,
                                    "validTo": 1780589723,
                                    "signedCertificateTimestampList": [
                                        {
                                            "status": "Verified",
                                            "origin": "Embedded in certificate",
                                            "logDescription": "Let's Encrypt 'Willow2026h1'",
                                            "logId": "E3238DF28DA288E0AAE0ACF0FA90C985F0B6BFF5D2A527B001FC1C4458C4B6E8",
                                            "timestamp": 1772817235523,
                                            "hashAlgorithm": "SHA-256",
                                            "signatureAlgorithm": "ECDSA",
                                            "signatureData": "304602210087B0D3E698A8DF2ADA6A9797D13C3C15D6F348A799DDF39A2929A4D10DCED28B0221009CFD77ED46C08EB09E8CB4453C03CCF0495285D99F1310AB2917D7B0BAE6DCFF"
                                        },
                                        {
                                            "status": "Verified",
                                            "origin": "Embedded in certificate",
                                            "logDescription": "Google 'Argon2026h1' log",
                                            "logId": "0E5794BCF3AEA93E331B2C9907B3F790DF9BC23D713225DD21A925AC61C54E21",
                                            "timestamp": 1772817236734,
                                            "hashAlgorithm": "SHA-256",
                                            "signatureAlgorithm": "ECDSA",
                                            "signatureData": "30450220324FDE4CC205DE712BBED9EDCF3159A310BE2EDD3928F7DFF25D7FBB8D6D1143022100D677F8E4EE91A474DA8B65EFBFB176B7E11B9AB770A191B3F3935055DF8F93C8"
                                        }
                                    ],
                                    "certificateTransparencyCompliance": "compliant",
                                    "serverSignatureAlgorithm": 1027,
                                    "encryptedClientHello": false
                                }
                            },
                            "hasExtraInfo": true,
                            "hash": "b9ca43fb07381a5dafd3e2e1082531d5ad63d909c67b8539ddcacbc8fd7ce683",
                            "size": 3277,
                            "asn": {
                                "ip": "138.197.69.146",
                                "asn": "14061",
                                "country": "US",
                                "description": "DIGITALOCEAN-ASN - DigitalOcean, LLC, US",
                                "name": "DigitalOcean",
                                "route": "138.197.0.0/17"
                            },
                            "geoip": {
                                "country": "US",
                                "region": "NJ",
                                "timezone": "America/New_York",
                                "city": "Clifton",
                                "ll": [
                                    40.8364,
                                    -74.1403
                                ],
                                "country_name": "United States",
                                "metro": 501
                            }
                        },
                        "initiatorInfo": {
                            "url": "https://brandonrohrer.com/",
                            "host": "brandonrohrer.com",
                            "type": "parser"
                        }
                    },
                    {
                        "request": {
                            "requestId": "2963528.5",
                            "loaderId": "F120B01F4066652CF84A00B68119BD61",
                            "documentURL": "https://brandonrohrer.com/",
                            "request": {
                                "url": "https://fonts.googleapis.com/css2?family=Lato&display=swap",
                                "method": "GET",
                                "headers": {
                                    "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36",
                                    "Referer": "https://brandonrohrer.com/"
                                },
                                "mixedContentType": "none",
                                "initialPriority": "VeryHigh",
                                "referrerPolicy": "strict-origin-when-cross-origin",
                                "isSameSite": false
                            },
                            "timestamp": 35824328.519304,
                            "wallTime": 1773900702.231093,
                            "initiator": {
                                "type": "parser",
                                "url": "https://brandonrohrer.com/stylesheets/stylesheet.css",
                                "lineNumber": 0,
                                "columnNumber": 0
                            },
                            "redirectHasExtraInfo": false,
                            "type": "Stylesheet",
                            "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6",
                            "hasUserGesture": false,
                            "renderBlockingBehavior": "Blocking"
                        },
                        "response": {
                            "encodedDataLength": 848,
                            "dataLength": 818,
                            "requestId": "2963528.5",
                            "type": "Stylesheet",
                            "response": {
                                "url": "https://fonts.googleapis.com/css2?family=Lato&display=swap",
                                "status": 200,
                                "statusText": "",
                                "headers": {
                                    "content-encoding": "gzip",
                                    "x-content-type-options": "nosniff",
                                    "expires": "Thu, 19 Mar 2026 06:11:42 GMT",
                                    "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000",
                                    "date": "Thu, 19 Mar 2026 06:11:42 GMT",
                                    "content-type": "text/css; charset=utf-8",
                                    "vary": "Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site",
                                    "last-modified": "Thu, 19 Mar 2026 05:25:02 GMT",
                                    "x-frame-options": "SAMEORIGIN",
                                    "strict-transport-security": "max-age=31536000",
                                    "link": "<https://fonts.gstatic.com>; rel=preconnect; crossorigin",
                                    "cache-control": "private, max-age=86400, stale-while-revalidate=604800",
                                    "timing-allow-origin": "*",
                                    "cross-origin-opener-policy": "same-origin-allow-popups",
                                    "cross-origin-resource-policy": "cross-origin",
                                    "access-control-allow-origin": "*",
                                    "x-xss-protection": "0",
                                    "server": "ESF"
                                },
                                "mimeType": "text/css",
                                "charset": "utf-8",
                                "remoteIPAddress": "172.253.63.95",
                                "remotePort": 443,
                                "encodedDataLength": 820,
                                "timing": {
                                    "requestTime": 35824328.52007,
                                    "proxyStart": -1,
                                    "proxyEnd": -1,
                                    "dnsStart": 0.19,
                                    "dnsEnd": 1.264,
                                    "connectStart": 1.719,
                                    "connectEnd": 289.221,
                                    "sslStart": 72.831,
                                    "sslEnd": 289.21,
                                    "workerStart": -1,
                                    "workerReady": -1,
                                    "workerFetchStart": -1,
                                    "workerRespondWithSettled": -1,
                                    "sendStart": 289.36,
                                    "sendEnd": 289.539,
                                    "pushStart": 0,
                                    "pushEnd": 0,
                                    "receiveHeadersStart": 478.518,
                                    "receiveHeadersEnd": 478.917
                                },
                                "responseTime": 1773900702710.367,
                                "protocol": "h2",
                                "alternateProtocolUsage": "unspecifiedReason",
                                "securityState": "secure",
                                "securityDetails": {
                                    "protocol": "TLS 1.3",
                                    "keyExchange": "",
                                    "keyExchangeGroup": "X25519MLKEM768",
                                    "cipher": "AES_256_GCM",
                                    "certificateId": 0,
                                    "subjectName": "upload.video.google.com",
                                    "sanList": [
                                        "upload.video.google.com",
                                        "*.clients.google.com",
                                        "*.docs.google.com",
                                        "*.drive.google.com",
                                        "*.gdata.youtube.com",
                                        "*.googleapis.com",
                                        "*.photos.google.com",
                                        "*.youtube-3rd-party.com",
                                        "upload.google.com",
                                        "*.upload.google.com",
                                        "upload.youtube.com",
                                        "*.upload.youtube.com",
                                        "uploads.stage.gdata.youtube.com",
                                        "bg-call-donation.goog",
                                        "bg-call-donation-alpha.goog",
                                        "bg-call-donation-canary.goog",
                                        "bg-call-donation-dev.goog"
                                    ],
                                    "issuer": "WR2",
                                    "validFrom": 1770021481,
                                    "validTo": 1777279080,
                                    "signedCertificateTimestampList": [
                                        {
                                            "status": "Verified",
                                            "origin": "Embedded in certificate",
                                            "logDescription": "Google 'Xenon2026h1' log",
                                            "logId": "969764BF555897ADF743876837084277E9F03AD5F6A4F3366E46A43F0FCAA9C6",
                                            "timestamp": 1770025082456,
                                            "hashAlgorithm": "SHA-256",
                                            "signatureAlgorithm": "ECDSA",
                                            "signatureData": "30450220626C22B0BCDA7194E127D787722699687832664B6A6FC1B32FEB5B43DC0343E4022100BEBB3B8A7A14CA772203797966E686D0A52269070A461F78DEF3112DB6805B3A"
                                        },
                                        {
                                            "status": "Verified",
                                            "origin": "Embedded in certificate",
                                            "logDescription": "DigiCert 'Sphinx2026h1'",
                                            "logId": "499C9B69DE1D7CECFC36DECD8764A6B85BAF0A878019D15552FBE9EB29DDF8C3",
                                            "timestamp": 1770025082423,
                                            "hashAlgorithm": "SHA-256",
                                            "signatureAlgorithm": "ECDSA",
                                            "signatureData": "30450221008539FE06F93F084E9E96EC50C227D368F60CD63D872E4BF31FE212CA4E3BB9CE022064E8F8376C24FCE68D95B0EE24CA7020E068B394DF7F17662ED2830D1E9D49CA"
                                        }
                                    ],
                                    "certificateTransparencyCompliance": "compliant",
                                    "serverSignatureAlgorithm": 1027,
                                    "encryptedClientHello": false
                                },
                                "securityHeaders": [
                                    {
                                        "name": "Strict-Transport-Security",
                                        "value": "max-age=31536000"
                                    },
                                    {
                                        "name": "X-Content-Type-Options",
                                        "value": "nosniff"
                                    },
                                    {
                                        "name": "X-Frame-Options",
                                        "value": "SAMEORIGIN"
                                    },
                                    {
                                        "name": "X-Xss-Protection",
                                        "value": "0"
                                    }
                                ]
                            },
                            "hasExtraInfo": true,
                            "hash": "6a8d638c251dcb0772527e914f642d1b80f85fa7c1dff46253bcb45378ca2267",
                            "size": 818,
                            "asn": {
                                "ip": "172.253.63.95",
                                "asn": "15169",
                                "country": "US",
                                "description": "GOOGLE - Google LLC, US",
                                "name": "Google LLC",
                                "route": "172.253.32.0/19"
                            },
                            "geoip": {
                                "country": "US",
                                "region": "",
                                "timezone": "America/Chicago",
                                "city": "",
                                "ll": [
                                    37.751,
                                    -97.822
                                ],
                                "country_name": "United States",
                                "metro": 0
                            },
                            "rdns": {
                                "ip": "172.253.63.95",
                                "ptr": "bi-in-f95.1e100.net"
                            }
                        },
                        "initiatorInfo": {
                            "url": "https://brandonrohrer.com/stylesheets/stylesheet.css",
                            "host": "brandonrohrer.com",
                            "type": "parser"
                        }
                    },
                    {
                        "request": {
                            "requestId": "2963528.7",
                            "loaderId": "F120B01F4066652CF84A00B68119BD61",
                            "documentURL": "https://brandonrohrer.com/",
                            "request": {
                                "url": "https://fonts.gstatic.com/s/lato/v25/S6uyw4BMUTPHjx4wXg.woff2",
                                "method": "GET",
                                "headers": {
                                    "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36",
                                    "Origin": "https://brandonrohrer.com",
                                    "Referer": "https://fonts.googleapis.com/"
                                },
                                "mixedContentType": "none",
                                "initialPriority": "VeryHigh",
                                "referrerPolicy": "strict-origin-when-cross-origin",
                                "isSameSite": false
                            },
                            "timestamp": 35824329.058711,
                            "wallTime": 1773900702.770491,
                            "initiator": {
                                "type": "parser",
                                "url": "https://fonts.googleapis.com/css2?family=Lato&display=swap"
                            },
                            "redirectHasExtraInfo": false,
                            "type": "Font",
                            "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6",
                            "hasUserGesture": false,
                            "renderBlockingBehavior": "NonBlocking"
                        },
                        "response": {
                            "encodedDataLength": 23609,
                            "dataLength": 23580,
                            "requestId": "2963528.7",
                            "type": "Font",
                            "response": {
                                "url": "https://fonts.gstatic.com/s/lato/v25/S6uyw4BMUTPHjx4wXg.woff2",
                                "status": 200,
                                "statusText": "",
                                "headers": {
                                    "age": "164105",
                                    "report-to": "{\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}",
                                    "x-content-type-options": "nosniff",
                                    "expires": "Wed, 17 Mar 2027 08:36:37 GMT",
                                    "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000",
                                    "date": "Tue, 17 Mar 2026 08:36:37 GMT",
                                    "last-modified": "Mon, 15 Sep 2025 17:09:41 GMT",
                                    "content-type": "font/woff2",
                                    "cache-control": "public, max-age=31536000",
                                    "timing-allow-origin": "*",
                                    "cross-origin-opener-policy": "same-origin; report-to=\"apps-themes\"",
                                    "cross-origin-resource-policy": "cross-origin",
                                    "content-security-policy-report-only": "require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes",
                                    "accept-ranges": "bytes",
                                    "access-control-allow-origin": "*",
                                    "content-length": "23580",
                                    "x-xss-protection": "0",
                                    "server": "sffe"
                                },
                                "mimeType": "font/woff2",
                                "charset": "",
                                "remoteIPAddress": "64.233.180.94",
                                "remotePort": 443,
                                "encodedDataLength": 29,
                                "timing": {
                                    "requestTime": 35824329.0843,
                                    "proxyStart": -1,
                                    "proxyEnd": -1,
                                    "dnsStart": 0.108,
                                    "dnsEnd": 0.604,
                                    "connectStart": 0.761,
                                    "connectEnd": 122.619,
                                    "sslStart": 0.761,
                                    "sslEnd": 122.619,
                                    "workerStart": -1,
                                    "workerReady": -1,
                                    "workerFetchStart": -1,
                                    "workerRespondWithSettled": -1,
                                    "sendStart": 122.752,
                                    "sendEnd": 123.063,
                                    "pushStart": 0,
                                    "pushEnd": 0,
                                    "receiveHeadersStart": 241.63,
                                    "receiveHeadersEnd": 242.578
                                },
                                "responseTime": 1773900703037.711,
                                "protocol": "h3",
                                "alternateProtocolUsage": "dnsAlpnH3JobWonRace",
                                "securityState": "secure",
                                "securityDetails": {
                                    "protocol": "QUIC",
                                    "keyExchange": "",
                                    "keyExchangeGroup": "X25519MLKEM768",
                                    "cipher": "AES_128_GCM",
                                    "certificateId": 0,
                                    "subjectName": "*.gstatic.com",
                                    "sanList": [
                                        "*.gstatic.com",
                                        "gstatic.com",
                                        "*.metric.gstatic.com"
                                    ],
                                    "issuer": "WR2",
                                    "validFrom": 1770021480,
                                    "validTo": 1777279079,
                                    "signedCertificateTimestampList": [
                                        {
                                            "status": "Verified",
                                            "origin": "Embedded in certificate",
                                            "logDescription": "Google 'Xenon2026h1' log",
                                            "logId": "969764BF555897ADF743876837084277E9F03AD5F6A4F3366E46A43F0FCAA9C6",
                                            "timestamp": 1770025081613,
                                            "hashAlgorithm": "SHA-256",
                                            "signatureAlgorithm": "ECDSA",
                                            "signatureData": "304402202F44FA379998AC5837E2B07560493B07AF72FB5BD86654A3A58427C00CD38A5702200D7890E90265287604D5B7BFBCED9EDB5EC0F76853753C4050F727A3A8FE6B11"
                                        },
                                        {
                                            "status": "Verified",
                                            "origin": "Embedded in certificate",
                                            "logDescription": "Sectigo 'Tiger2026h1'",
                                            "logId": "16832DABF0A9250F0FF03AA545FFC8BFC823D0874BF6042927F8E71F3313F5FA",
                                            "timestamp": 1770025081599,
                                            "hashAlgorithm": "SHA-256",
                                            "signatureAlgorithm": "ECDSA",
                                            "signatureData": "3046022100A67639FEBFA455AB6907497A5E366E808DD439DF7914227B96370057A141016A022100E23C76DFDF567BD4770ABB79A8454D47553854DCE321DC1AE1E0F30B53A016B9"
                                        }
                                    ],
                                    "certificateTransparencyCompliance": "compliant",
                                    "serverSignatureAlgorithm": 1027,
                                    "encryptedClientHello": false
                                },
                                "securityHeaders": [
                                    {
                                        "name": "X-Content-Type-Options",
                                        "value": "nosniff"
                                    },
                                    {
                                        "name": "X-Xss-Protection",
                                        "value": "0"
                                    }
                                ]
                            },
                            "hasExtraInfo": true,
                            "hash": "918b7dc3e2e2d015c16ce08b57bcb64d2253bafc1707658f361e72865498e537",
                            "size": 31440,
                            "asn": {
                                "ip": "64.233.180.94",
                                "asn": "15169",
                                "country": "US",
                                "description": "GOOGLE - Google LLC, US",
                                "name": "Google LLC",
                                "route": "64.233.160.0/19"
                            },
                            "geoip": {
                                "country": "US",
                                "region": "",
                                "timezone": "America/Chicago",
                                "city": "",
                                "ll": [
                                    37.751,
                                    -97.822
                                ],
                                "country_name": "United States",
                                "metro": 0
                            },
                            "rdns": {
                                "ip": "64.233.180.94",
                                "ptr": "pe-in-f94.1e100.net"
                            }
                        },
                        "initiatorInfo": {
                            "url": "https://fonts.googleapis.com/css2?family=Lato&display=swap",
                            "host": "fonts.googleapis.com",
                            "type": "parser"
                        }
                    },
                    {
                        "request": {
                            "requestId": "2963528.8",
                            "loaderId": "F120B01F4066652CF84A00B68119BD61",
                            "documentURL": "https://brandonrohrer.com/",
                            "request": {
                                "url": "https://raw.githubusercontent.com/brohrer/blog_images/refs/heads/main/ml_logo.png",
                                "method": "GET",
                                "headers": {
                                    "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36",
                                    "Referer": "https://brandonrohrer.com/"
                                },
                                "mixedContentType": "none",
                                "initialPriority": "High",
                                "referrerPolicy": "strict-origin-when-cross-origin",
                                "isSameSite": false
                            },
                            "timestamp": 35824329.217374,
                            "wallTime": 1773900702.929169,
                            "initiator": {
                                "type": "other"
                            },
                            "redirectHasExtraInfo": true,
                            "redirectResponse": {
                                "url": "https://brandonrohrer.com/images/ml_logo.png",
                                "status": 301,
                                "statusText": "Moved Permanently",
                                "headers": {
                                    "Location": "https://raw.githubusercontent.com/brohrer/blog_images/refs/heads/main/ml_logo.png",
                                    "Content-Length": "178",
                                    "Date": "Thu, 19 Mar 2026 06:11:42 GMT",
                                    "Content-Type": "text/html",
                                    "Server": "nginx/1.24.0 (Ubuntu)",
                                    "Connection": "keep-alive"
                                },
                                "mimeType": "text/html",
                                "charset": "",
                                "remoteIPAddress": "138.197.69.146",
                                "remotePort": 443,
                                "encodedDataLength": 265,
                                "timing": {
                                    "requestTime": 35824329.092595,
                                    "proxyStart": -1,
                                    "proxyEnd": -1,
                                    "dnsStart": -1,
                                    "dnsEnd": -1,
                                    "connectStart": -1,
                                    "connectEnd": -1,
                                    "sslStart": -1,
                                    "sslEnd": -1,
                                    "workerStart": -1,
                                    "workerReady": -1,
                                    "workerFetchStart": -1,
                                    "workerRespondWithSettled": -1,
                                    "sendStart": 4.254,
                                    "sendEnd": 4.328,
                                    "pushStart": 0,
                                    "pushEnd": 0,
                                    "receiveHeadersStart": 123.811,
                                    "receiveHeadersEnd": 124.198
                                },
                                "responseTime": 1773900702928.162,
                                "protocol": "http/1.1",
                                "alternateProtocolUsage": "unspecifiedReason",
                                "securityState": "secure",
                                "securityDetails": {
                                    "protocol": "TLS 1.3",
                                    "keyExchange": "",
                                    "keyExchangeGroup": "X25519",
                                    "cipher": "AES_128_GCM",
                                    "certificateId": 0,
                                    "subjectName": "brandonrohrer.com",
                                    "sanList": [
                                        "brandonrohrer.com",
                                        "www.brandonrohrer.com"
                                    ],
                                    "issuer": "E8",
                                    "validFrom": 1772813724,
                                    "validTo": 1780589723,
                                    "signedCertificateTimestampList": [
                                        {
                                            "status": "Verified",
                                            "origin": "Embedded in certificate",
                                            "logDescription": "Let's Encrypt 'Willow2026h1'",
                                            "logId": "E3238DF28DA288E0AAE0ACF0FA90C985F0B6BFF5D2A527B001FC1C4458C4B6E8",
                                            "timestamp": 1772817235523,
                                            "hashAlgorithm": "SHA-256",
                                            "signatureAlgorithm": "ECDSA",
                                            "signatureData": "304602210087B0D3E698A8DF2ADA6A9797D13C3C15D6F348A799DDF39A2929A4D10DCED28B0221009CFD77ED46C08EB09E8CB4453C03CCF0495285D99F1310AB2917D7B0BAE6DCFF"
                                        },
                                        {
                                            "status": "Verified",
                                            "origin": "Embedded in certificate",
                                            "logDescription": "Google 'Argon2026h1' log",
                                            "logId": "0E5794BCF3AEA93E331B2C9907B3F790DF9BC23D713225DD21A925AC61C54E21",
                                            "timestamp": 1772817236734,
                                            "hashAlgorithm": "SHA-256",
                                            "signatureAlgorithm": "ECDSA",
                                            "signatureData": "30450220324FDE4CC205DE712BBED9EDCF3159A310BE2EDD3928F7DFF25D7FBB8D6D1143022100D677F8E4EE91A474DA8B65EFBFB176B7E11B9AB770A191B3F3935055DF8F93C8"
                                        }
                                    ],
                                    "certificateTransparencyCompliance": "compliant",
                                    "serverSignatureAlgorithm": 1027,
                                    "encryptedClientHello": false
                                }
                            },
                            "type": "Other",
                            "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6",
                            "hasUserGesture": false
                        },
                        "requests": [
                            {
                                "requestId": "2963528.8",
                                "loaderId": "F120B01F4066652CF84A00B68119BD61",
                                "documentURL": "https://brandonrohrer.com/",
                                "request": {
                                    "url": "https://brandonrohrer.com/images/ml_logo.png",
                                    "method": "GET",
                                    "headers": {
                                        "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36",
                                        "Referer": "https://brandonrohrer.com/"
                                    },
                                    "mixedContentType": "none",
                                    "initialPriority": "High",
                                    "referrerPolicy": "strict-origin-when-cross-origin",
                                    "isSameSite": true
                                },
                                "timestamp": 35824329.090489,
                                "wallTime": 1773900702.802286,
                                "initiator": {
                                    "type": "other"
                                },
                                "redirectHasExtraInfo": false,
                                "type": "Other",
                                "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6",
                                "hasUserGesture": false
                            },
                            {
                                "requestId": "2963528.8",
                                "loaderId": "F120B01F4066652CF84A00B68119BD61",
                                "documentURL": "https://brandonrohrer.com/",
                                "request": {
                                    "url": "https://raw.githubusercontent.com/brohrer/blog_images/refs/heads/main/ml_logo.png",
                                    "method": "GET",
                                    "headers": {
                                        "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36",
                                        "Referer": "https://brandonrohrer.com/"
                                    },
                                    "mixedContentType": "none",
                                    "initialPriority": "High",
                                    "referrerPolicy": "strict-origin-when-cross-origin",
                                    "isSameSite": false
                                },
                                "timestamp": 35824329.217374,
                                "wallTime": 1773900702.929169,
                                "initiator": {
                                    "type": "other"
                                },
                                "redirectHasExtraInfo": true,
                                "redirectResponse": {
                                    "url": "https://brandonrohrer.com/images/ml_logo.png",
                                    "status": 301,
                                    "statusText": "Moved Permanently",
                                    "headers": {
                                        "Location": "https://raw.githubusercontent.com/brohrer/blog_images/refs/heads/main/ml_logo.png",
                                        "Content-Length": "178",
                                        "Date": "Thu, 19 Mar 2026 06:11:42 GMT",
                                        "Content-Type": "text/html",
                                        "Server": "nginx/1.24.0 (Ubuntu)",
                                        "Connection": "keep-alive"
                                    },
                                    "mimeType": "text/html",
                                    "charset": "",
                                    "remoteIPAddress": "138.197.69.146",
                                    "remotePort": 443,
                                    "encodedDataLength": 265,
                                    "timing": {
                                        "requestTime": 35824329.092595,
                                        "proxyStart": -1,
                                        "proxyEnd": -1,
                                        "dnsStart": -1,
                                        "dnsEnd": -1,
                                        "connectStart": -1,
                                        "connectEnd": -1,
                                        "sslStart": -1,
                                        "sslEnd": -1,
                                        "workerStart": -1,
                                        "workerReady": -1,
                                        "workerFetchStart": -1,
                                        "workerRespondWithSettled": -1,
                                        "sendStart": 4.254,
                                        "sendEnd": 4.328,
                                        "pushStart": 0,
                                        "pushEnd": 0,
                                        "receiveHeadersStart": 123.811,
                                        "receiveHeadersEnd": 124.198
                                    },
                                    "responseTime": 1773900702928.162,
                                    "protocol": "http/1.1",
                                    "alternateProtocolUsage": "unspecifiedReason",
                                    "securityState": "secure",
                                    "securityDetails": {
                                        "protocol": "TLS 1.3",
                                        "keyExchange": "",
                                        "keyExchangeGroup": "X25519",
                                        "cipher": "AES_128_GCM",
                                        "certificateId": 0,
                                        "subjectName": "brandonrohrer.com",
                                        "sanList": [
                                            "brandonrohrer.com",
                                            "www.brandonrohrer.com"
                                        ],
                                        "issuer": "E8",
                                        "validFrom": 1772813724,
                                        "validTo": 1780589723,
                                        "signedCertificateTimestampList": [
                                            {
                                                "status": "Verified",
                                                "origin": "Embedded in certificate",
                                                "logDescription": "Let's Encrypt 'Willow2026h1'",
                                                "logId": "E3238DF28DA288E0AAE0ACF0FA90C985F0B6BFF5D2A527B001FC1C4458C4B6E8",
                                                "timestamp": 1772817235523,
                                                "hashAlgorithm": "SHA-256",
                                                "signatureAlgorithm": "ECDSA",
                                                "signatureData": "304602210087B0D3E698A8DF2ADA6A9797D13C3C15D6F348A799DDF39A2929A4D10DCED28B0221009CFD77ED46C08EB09E8CB4453C03CCF0495285D99F1310AB2917D7B0BAE6DCFF"
                                            },
                                            {
                                                "status": "Verified",
                                                "origin": "Embedded in certificate",
                                                "logDescription": "Google 'Argon2026h1' log",
                                                "logId": "0E5794BCF3AEA93E331B2C9907B3F790DF9BC23D713225DD21A925AC61C54E21",
                                                "timestamp": 1772817236734,
                                                "hashAlgorithm": "SHA-256",
                                                "signatureAlgorithm": "ECDSA",
                                                "signatureData": "30450220324FDE4CC205DE712BBED9EDCF3159A310BE2EDD3928F7DFF25D7FBB8D6D1143022100D677F8E4EE91A474DA8B65EFBFB176B7E11B9AB770A191B3F3935055DF8F93C8"
                                            }
                                        ],
                                        "certificateTransparencyCompliance": "compliant",
                                        "serverSignatureAlgorithm": 1027,
                                        "encryptedClientHello": false
                                    },
                                    "asn": {
                                        "ip": "138.197.69.146",
                                        "asn": "14061",
                                        "country": "US",
                                        "description": "DIGITALOCEAN-ASN - DigitalOcean, LLC, US",
                                        "name": "DigitalOcean",
                                        "route": "138.197.0.0/17"
                                    },
                                    "geoip": {
                                        "country": "US",
                                        "region": "NJ",
                                        "timezone": "America/New_York",
                                        "city": "Clifton",
                                        "ll": [
                                            40.8364,
                                            -74.1403
                                        ],
                                        "country_name": "United States",
                                        "metro": 501
                                    }
                                },
                                "type": "Other",
                                "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6",
                                "hasUserGesture": false
                            }
                        ],
                        "response": {
                            "encodedDataLength": 13336,
                            "dataLength": 12792,
                            "requestId": "2963528.8",
                            "type": "Other",
                            "response": {
                                "url": "https://raw.githubusercontent.com/brohrer/blog_images/refs/heads/main/ml_logo.png",
                                "status": 200,
                                "statusText": "",
                                "headers": {
                                    "x-fastly-request-id": "4261aaa927cf0fa5c19ac77f52211a52c6f17138",
                                    "etag": "W/\"d405f482c4ac0a86f3193234dc2cc175738342c46ceb1f6775c6099b6b71ebf1\"",
                                    "x-content-type-options": "nosniff",
                                    "x-github-request-id": "9FBC:13A9:BE2A3F:D34D5F:69BB939F",
                                    "expires": "Thu, 19 Mar 2026 06:16:43 GMT",
                                    "x-cache": "MISS",
                                    "date": "Thu, 19 Mar 2026 06:11:43 GMT",
                                    "content-type": "image/png",
                                    "x-served-by": "cache-bur-kbur8200101-BUR",
                                    "x-cache-hits": "0",
                                    "source-age": "0",
                                    "x-frame-options": "deny",
                                    "strict-transport-security": "max-age=31536000",
                                    "vary": "Authorization,Accept-Encoding",
                                    "content-security-policy": "default-src 'none'; style-src 'unsafe-inline'; sandbox",
                                    "cache-control": "max-age=300",
                                    "x-timer": "S1773900703.125465,VS0,VE117",
                                    "cross-origin-resource-policy": "cross-origin",
                                    "via": "1.1 varnish",
                                    "accept-ranges": "bytes",
                                    "access-control-allow-origin": "*",
                                    "content-length": "12792",
                                    "x-xss-protection": "1; mode=block"
                                },
                                "mimeType": "image/png",
                                "charset": "",
                                "remoteIPAddress": "185.199.109.133",
                                "remotePort": 443,
                                "encodedDataLength": 3291,
                                "timing": {
                                    "requestTime": 35824329.217687,
                                    "proxyStart": -1,
                                    "proxyEnd": -1,
                                    "dnsStart": 0.161,
                                    "dnsEnd": 1.097,
                                    "connectStart": 1.223,
                                    "connectEnd": 168.898,
                                    "sslStart": 55.728,
                                    "sslEnd": 168.888,
                                    "workerStart": -1,
                                    "workerReady": -1,
                                    "workerFetchStart": -1,
                                    "workerRespondWithSettled": -1,
                                    "sendStart": 169.201,
                                    "sendEnd": 169.391,
                                    "pushStart": 0,
                                    "pushEnd": 0,
                                    "receiveHeadersStart": 341.454,
                                    "receiveHeadersEnd": 341.875
                                },
                                "responseTime": 1773900703270.955,
                                "protocol": "h2",
                                "alternateProtocolUsage": "unspecifiedReason",
                                "securityState": "unknown",
                                "securityHeaders": [
                                    {
                                        "name": "Content-Security-Policy",
                                        "value": "default-src 'none'; style-src 'unsafe-inline'; sandbox"
                                    },
                                    {
                                        "name": "Strict-Transport-Security",
                                        "value": "max-age=31536000"
                                    },
                                    {
                                        "name": "X-Content-Type-Options",
                                        "value": "nosniff"
                                    },
                                    {
                                        "name": "X-Frame-Options",
                                        "value": "deny"
                                    },
                                    {
                                        "name": "X-Xss-Protection",
                                        "value": "1; mode=block"
                                    }
                                ]
                            },
                            "hasExtraInfo": true,
                            "hash": "ec1eb25cec98c23f31ab62101ffdb504e838c0eaff5d075781d6c1ab2d51c083",
                            "size": 17056,
                            "asn": {
                                "ip": "185.199.109.133",
                                "asn": "54113",
                                "country": "US",
                                "description": "FASTLY - Fastly, Inc., US",
                                "name": "Fastly",
                                "route": "185.199.108.0/22"
                            },
                            "geoip": {
                                "country": "US",
                                "region": "",
                                "timezone": "America/Chicago",
                                "city": "",
                                "ll": [
                                    37.751,
                                    -97.822
                                ],
                                "country_name": "United States",
                                "metro": 0
                            },
                            "rdns": {
                                "ip": "185.199.109.133",
                                "ptr": "cdn-185-199-109-133.github.com"
                            }
                        }
                    }
                ],
                "cookies": [],
                "console": [],
                "links": [
                    {
                        "href": "https://graffitiwall.nexus/graffiti_adder.html",
                        "text": "Appendix B: Addition App",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://codeberg.org/brohrer/graffitiwall.nexus",
                        "text": "frontend code",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://codeberg.org/brohrer/graffitiwall-server",
                        "text": "backend code",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://graffitiwall.nexus/graffiti_wall.html",
                        "text": "Appendix C: Graffiti Wall App",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://vimeo.com/1160679673",
                        "text": "architecture walkthrough",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://vimeo.com/1160680538",
                        "text": "frontend walkthrough",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://vimeo.com/1162226254",
                        "text": "backend walkthrough",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://tyr.fyi/1",
                        "text": "Chapter 1: Can't AI Already Do That?",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://tyr.fyi/2",
                        "text": "Chapter 2: Keeping Time with Python",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://tyr.fyi/3",
                        "text": "Chapter 3: Getting Processes to Talk to Each Other",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://tyr.fyi/4",
                        "text": "Chapter 4: Making Animations with Matplotlib",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://tyr.fyi/5",
                        "text": "Chapter 5: Simulating the Physical World",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://tyr.fyi/6",
                        "text": "Chapter 6: Making Your Python Code Run Faster",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://codeberg.org/brohrer/myrtle",
                        "text": "Chapter 12: Myrtle: A Real-time Reinforcement Learning Workbench",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://github.com/brohrer/dsmq",
                        "text": "Chapter 13: A Dead Simple Message Queue",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://codeberg.org/brohrer/myrtle/src/branch/main/src/myrtle/monitors/server.py",
                        "text": "[In progress] Chapter 14: DIY webserver",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://codeberg.org/brohrer/myrtle/src/branch/main/src/myrtle/monitors",
                        "text": "[In progress] Chapter 15: Animations in Javascript",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://codeberg.org/brohrer/myrtle/src/branch/main/src/myrtle/tests",
                        "text": "[In progress] Chapter 16: Testing a distributed system",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://youtu.be/ZjaBn93YPWo",
                        "text": "Chapter 13: Autocorrelation",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://youtu.be/B-M5q51U8SM",
                        "text": "Chapter 15: Convolution in two dimensions",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://youtu.be/JB8T_zN7ZC0",
                        "text": "Chapter 23: Convolutional neural networks, in depth",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://youtu.be/0ILdnZmp3Iw",
                        "text": "Chapter 27: Approaching human intelligence through robotics",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://github.com/brohrer/cottonwood_martian_images",
                        "text": "Chapter 29: Compressing images from the Mars rover",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://youtu.be/tKa0zDDDaQk?t=40s",
                        "text": "Chapter 1: What is data",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://codeberg.org/brohrer/bucket-tree",
                        "text": "buckettree",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://gitlab.com/brohrer/cottonwood",
                        "text": "cottonwood",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://github.com/brohrer/pacemaker",
                        "text": "pacemaker",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://github.com/brohrer/sqlogging",
                        "text": "sqlogging",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://gitlab.com/brohrer/oknn",
                        "text": "oknn",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://github.com/brohrer/sharpened-cosine-similarity",
                        "text": "Sharpened Cosine Similarity",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://datarevolution.tech/2024/11/21/brandon-rohrer/",
                        "text": "Data Revolution Podcast",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://youtu.be/4Ps7ahonRCY?si=i-vyiP8fA-cKWoJj",
                        "text": "Machine Learning Street Talk",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://codeberg.org/brohrer",
                        "text": "Codeberg",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://github.com/brohrer",
                        "text": "GitHub",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://gitlab.com/brohrer",
                        "text": "GitLab",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://www.linkedin.com/in/brohrer/",
                        "text": "LinkedIn",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://recsys.social/@brohrer",
                        "text": "Mastodon",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://github.com/brohrer/publications/blob/main/README.md",
                        "text": "Publications",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://www.youtube.com/@BrandonRohrer",
                        "text": "YouTube",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://brandonrohrer.org/blog.html",
                        "text": "brandonrohrer.org",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://brandonrohrer.at/blog.html",
                        "text": "brandonrohrer.at",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    },
                    {
                        "href": "https://creativecommons.org/publicdomain/zero/1.0/",
                        "text": "All text and images CC0 except where noted.",
                        "frameId": "A75CDEC8649544BAB4B4548EC83BFDF6"
                    }
                ],
                "timing": {
                    "beginNavigation": "2026-03-19T06:11:41.462Z",
                    "frameStartedLoading": "2026-03-19T06:11:41.512Z",
                    "frameNavigated": "2026-03-19T06:11:42.461Z",
                    "domContentEventFired": "2026-03-19T06:11:42.461Z",
                    "frameStoppedLoading": "2026-03-19T06:11:42.823Z"
                },
                "globals": [],
                "storages": []
            },
            "lists": {
                "ips": [
                    "185.199.109.133",
                    "64.233.180.94",
                    "172.253.63.95",
                    "138.197.69.146"
                ],
                "countries": [
                    "US"
                ],
                "asns": [
                    "54113",
                    "15169",
                    "14061"
                ],
                "domains": [
                    "brandonrohrer.com",
                    "raw.githubusercontent.com",
                    "fonts.gstatic.com",
                    "fonts.googleapis.com"
                ],
                "servers": [
                    "nginx/1.24.0 (Ubuntu)",
                    "sffe",
                    "ESF"
                ],
                "urls": [
                    "https://brandonrohrer.com/",
                    "https://brandonrohrer.com/stylesheets/stylesheet.css",
                    "https://brandonrohrer.com/stylesheets/print.css",
                    "https://fonts.googleapis.com/css2?family=Lato&display=swap",
                    "https://fonts.gstatic.com/s/lato/v25/S6uyw4BMUTPHjx4wXg.woff2",
                    "https://raw.githubusercontent.com/brohrer/blog_images/refs/heads/main/ml_logo.png",
                    "https://brandonrohrer.com/images/ml_logo.png"
                ],
                "linkDomains": [
                    "graffitiwall.nexus",
                    "codeberg.org",
                    "vimeo.com",
                    "tyr.fyi",
                    "github.com",
                    "youtu.be",
                    "gitlab.com",
                    "datarevolution.tech",
                    "www.linkedin.com",
                    "recsys.social",
                    "www.youtube.com",
                    "brandonrohrer.org",
                    "brandonrohrer.at",
                    "creativecommons.org"
                ],
                "certificates": [
                    {
                        "subjectName": "brandonrohrer.com",
                        "issuer": "E8",
                        "validFrom": 1772813724,
                        "validTo": 1780589723
                    },
                    {
                        "subjectName": "upload.video.google.com",
                        "issuer": "WR2",
                        "validFrom": 1770021481,
                        "validTo": 1777279080
                    },
                    {
                        "subjectName": "*.gstatic.com",
                        "issuer": "WR2",
                        "validFrom": 1770021480,
                        "validTo": 1777279079
                    }
                ],
                "hashes": [
                    "bc0cbc444efa2f10eff90fb658e507b36b7ca0d7a8ff0ef5122950a95b5df296",
                    "8357b2703d5f1294746f0ea6cf971610e2f57d64302993db0d19e90b3c99546f",
                    "b9ca43fb07381a5dafd3e2e1082531d5ad63d909c67b8539ddcacbc8fd7ce683",
                    "6a8d638c251dcb0772527e914f642d1b80f85fa7c1dff46253bcb45378ca2267",
                    "918b7dc3e2e2d015c16ce08b57bcb64d2253bafc1707658f361e72865498e537",
                    "ec1eb25cec98c23f31ab62101ffdb504e838c0eaff5d075781d6c1ab2d51c083"
                ]
            },
            "meta": {
                "processors": {
                    "umbrella": {
                        "data": [
                            {
                                "hostname": "fonts.googleapis.com",
                                "rank": 57
                            },
                            {
                                "hostname": "fonts.gstatic.com",
                                "rank": 37
                            },
                            {
                                "hostname": "raw.githubusercontent.com",
                                "rank": 3043
                            }
                        ]
                    },
                    "geoip": {
                        "data": [
                            {
                                "ip": "138.197.69.146",
                                "geoip": {
                                    "country": "US",
                                    "region": "NJ",
                                    "timezone": "America/New_York",
                                    "city": "Clifton",
                                    "ll": [
                                        40.8364,
                                        -74.1403
                                    ],
                                    "country_name": "United States",
                                    "metro": 501
                                }
                            },
                            {
                                "ip": "172.253.63.95",
                                "geoip": {
                                    "country": "US",
                                    "region": "",
                                    "timezone": "America/Chicago",
                                    "city": "",
                                    "ll": [
                                        37.751,
                                        -97.822
                                    ],
                                    "country_name": "United States",
                                    "metro": 0
                                }
                            },
                            {
                                "ip": "64.233.180.94",
                                "geoip": {
                                    "country": "US",
                                    "region": "",
                                    "timezone": "America/Chicago",
                                    "city": "",
                                    "ll": [
                                        37.751,
                                        -97.822
                                    ],
                                    "country_name": "United States",
                                    "metro": 0
                                }
                            },
                            {
                                "ip": "185.199.109.133",
                                "geoip": {
                                    "country": "US",
                                    "region": "",
                                    "timezone": "America/Chicago",
                                    "city": "",
                                    "ll": [
                                        37.751,
                                        -97.822
                                    ],
                                    "country_name": "United States",
                                    "metro": 0
                                }
                            }
                        ]
                    },
                    "asn": {
                        "data": [
                            {
                                "ip": "138.197.69.146",
                                "asn": "14061",
                                "country": "US",
                                "description": "DIGITALOCEAN-ASN - DigitalOcean, LLC, US",
                                "name": "DigitalOcean",
                                "route": "138.197.0.0/17"
                            },
                            {
                                "ip": "172.253.63.95",
                                "asn": "15169",
                                "country": "US",
                                "description": "GOOGLE - Google LLC, US",
                                "name": "Google LLC",
                                "route": "172.253.32.0/19"
                            },
                            {
                                "ip": "64.233.180.94",
                                "asn": "15169",
                                "country": "US",
                                "description": "GOOGLE - Google LLC, US",
                                "name": "Google LLC",
                                "route": "64.233.160.0/19"
                            },
                            {
                                "ip": "185.199.109.133",
                                "asn": "54113",
                                "country": "US",
                                "description": "FASTLY - Fastly, Inc., US",
                                "name": "Fastly",
                                "route": "185.199.108.0/22"
                            }
                        ]
                    },
                    "rdns": {
                        "data": [
                            {
                                "ip": "172.253.63.95",
                                "ptr": "bi-in-f95.1e100.net"
                            },
                            {
                                "ip": "64.233.180.94",
                                "ptr": "pe-in-f94.1e100.net"
                            },
                            {
                                "ip": "185.199.109.133",
                                "ptr": "cdn-185-199-109-133.github.com"
                            }
                        ]
                    },
                    "wappa": {
                        "data": []
                    }
                }
            },
            "page": {
                "asn": "AS14061",
                "asnname": "DIGITALOCEAN-ASN - DigitalOcean, LLC, US",
                "city": "Clifton",
                "country": "US",
                "domain": "brandonrohrer.com",
                "ip": "138.197.69.146",
                "server": "nginx/1.24.0 (Ubuntu)",
                "url": "https://brandonrohrer.com/",
                "apexDomainAgeDays": 1672,
                "language": "en",
                "mimeType": "text/html",
                "title": "Brandon Rohrer",
                "tlsValidDays": 89,
                "tlsAgeDays": 12,
                "domainAgeDays": 1672,
                "tlsValidFrom": "2026-03-06T16:15:24.000Z",
                "apexDomain": "brandonrohrer.com",
                "tlsIssuer": "E8",
                "status": "200"
            },
            "scanner": {
                "country": "us"
            },
            "stats": {
                "IPv6Percentage": 0,
                "adBlocked": 0,
                "domainStats": [
                    {
                        "count": 4,
                        "ips": [
                            "138.197.69.146"
                        ],
                        "domain": "brandonrohrer.com",
                        "size": 38067,
                        "encodedSize": 17463,
                        "countries": [
                            "US"
                        ],
                        "index": 0,
                        "initiators": [
                            "brandonrohrer.com"
                        ],
                        "redirects": 1
                    },
                    {
                        "count": 1,
                        "ips": [
                            "185.199.109.133"
                        ],
                        "domain": "raw.githubusercontent.com",
                        "size": 12792,
                        "encodedSize": 13336,
                        "countries": [
                            "US"
                        ],
                        "index": 6,
                        "initiators": [],
                        "redirects": 0
                    },
                    {
                        "count": 1,
                        "ips": [
                            "64.233.180.94"
                        ],
                        "domain": "fonts.gstatic.com",
                        "size": 23580,
                        "encodedSize": 23609,
                        "countries": [
                            "US"
                        ],
                        "index": 4,
                        "initiators": [
                            "fonts.googleapis.com"
                        ],
                        "redirects": 0
                    },
                    {
                        "count": 1,
                        "ips": [
                            "172.253.63.95"
                        ],
                        "domain": "fonts.googleapis.com",
                        "size": 818,
                        "encodedSize": 848,
                        "countries": [
                            "US"
                        ],
                        "index": 3,
                        "initiators": [
                            "brandonrohrer.com"
                        ],
                        "redirects": 0
                    }
                ],
                "ipStats": [
                    {
                        "requests": 4,
                        "domains": [
                            "brandonrohrer.com"
                        ],
                        "ip": "138.197.69.146",
                        "asn": {
                            "ip": "138.197.69.146",
                            "asn": "14061",
                            "country": "US",
                            "description": "DIGITALOCEAN-ASN - DigitalOcean, LLC, US",
                            "name": "DigitalOcean",
                            "route": "138.197.0.0/17"
                        },
                        "dns": [],
                        "geoip": {
                            "country": "US",
                            "region": "NJ",
                            "timezone": "America/New_York",
                            "city": "Clifton",
                            "ll": [
                                40.8364,
                                -74.1403
                            ],
                            "country_name": "United States",
                            "metro": 501
                        },
                        "size": 38067,
                        "encodedSize": 17463,
                        "countries": [
                            "US"
                        ],
                        "index": 0,
                        "ipv6": false,
                        "redirects": 1,
                        "count": null
                    },
                    {
                        "requests": 1,
                        "domains": [
                            "fonts.googleapis.com"
                        ],
                        "ip": "172.253.63.95",
                        "asn": {
                            "ip": "172.253.63.95",
                            "asn": "15169",
                            "country": "US",
                            "description": "GOOGLE - Google LLC, US",
                            "name": "Google LLC",
                            "route": "172.253.32.0/19"
                        },
                        "dns": [],
                        "geoip": {
                            "country": "US",
                            "region": "",
                            "timezone": "America/Chicago",
                            "city": "",
                            "ll": [
                                37.751,
                                -97.822
                            ],
                            "country_name": "United States",
                            "metro": 0
                        },
                        "size": 818,
                        "encodedSize": 848,
                        "countries": [
                            "US"
                        ],
                        "index": 3,
                        "ipv6": false,
                        "redirects": 0,
                        "count": null,
                        "rdns": {
                            "ip": "172.253.63.95",
                            "ptr": "bi-in-f95.1e100.net"
                        }
                    },
                    {
                        "requests": 1,
                        "domains": [
                            "fonts.gstatic.com"
                        ],
                        "ip": "64.233.180.94",
                        "asn": {
                            "ip": "64.233.180.94",
                            "asn": "15169",
                            "country": "US",
                            "description": "GOOGLE - Google LLC, US",
                            "name": "Google LLC",
                            "route": "64.233.160.0/19"
                        },
                        "dns": [],
                        "geoip": {
                            "country": "US",
                            "region": "",
                            "timezone": "America/Chicago",
                            "city": "",
                            "ll": [
                                37.751,
                                -97.822
                            ],
                            "country_name": "United States",
                            "metro": 0
                        },
                        "size": 23580,
                        "encodedSize": 23609,
                        "countries": [
                            "US"
                        ],
                        "index": 4,
                        "ipv6": false,
                        "redirects": 0,
                        "count": null,
                        "rdns": {
                            "ip": "64.233.180.94",
                            "ptr": "pe-in-f94.1e100.net"
                        }
                    },
                    {
                        "requests": 1,
                        "domains": [
                            "raw.githubusercontent.com"
                        ],
                        "ip": "185.199.109.133",
                        "asn": {
                            "ip": "185.199.109.133",
                            "asn": "54113",
                            "country": "US",
                            "description": "FASTLY - Fastly, Inc., US",
                            "name": "Fastly",
                            "route": "185.199.108.0/22"
                        },
                        "dns": [],
                        "geoip": {
                            "country": "US",
                            "region": "",
                            "timezone": "America/Chicago",
                            "city": "",
                            "ll": [
                                37.751,
                                -97.822
                            ],
                            "country_name": "United States",
                            "metro": 0
                        },
                        "size": 12792,
                        "encodedSize": 13336,
                        "countries": [
                            "US"
                        ],
                        "index": 6,
                        "ipv6": false,
                        "redirects": 0,
                        "count": null,
                        "rdns": {
                            "ip": "185.199.109.133",
                            "ptr": "cdn-185-199-109-133.github.com"
                        }
                    }
                ],
                "malicious": 0,
                "protocolStats": [
                    {
                        "count": 3,
                        "size": 38067,
                        "encodedSize": 17198,
                        "ips": [
                            "138.197.69.146"
                        ],
                        "countries": [
                            "US"
                        ],
                        "securityState": [],
                        "protocol": "http/1.1"
                    },
                    {
                        "count": 2,
                        "size": 13610,
                        "encodedSize": 14184,
                        "ips": [
                            "172.253.63.95",
                            "185.199.109.133"
                        ],
                        "countries": [
                            "US"
                        ],
                        "securityState": [],
                        "protocol": "h2"
                    },
                    {
                        "count": 1,
                        "size": 23580,
                        "encodedSize": 23609,
                        "ips": [
                            "64.233.180.94"
                        ],
                        "countries": [
                            "US"
                        ],
                        "securityState": [],
                        "protocol": "h3"
                    }
                ],
                "regDomainStats": [
                    {
                        "count": 4,
                        "ips": [
                            "138.197.69.146"
                        ],
                        "regDomain": "brandonrohrer.com",
                        "size": 38067,
                        "encodedSize": 17463,
                        "countries": [],
                        "index": 0,
                        "subDomains": [
                            {
                                "domain": "",
                                "country": "US"
                            }
                        ],
                        "redirects": 1
                    },
                    {
                        "count": 1,
                        "ips": [
                            "185.199.109.133"
                        ],
                        "regDomain": "githubusercontent.com",
                        "size": 12792,
                        "encodedSize": 13336,
                        "countries": [],
                        "index": 6,
                        "subDomains": [
                            {
                                "domain": "raw",
                                "country": "US"
                            }
                        ],
                        "redirects": 0
                    },
                    {
                        "count": 1,
                        "ips": [
                            "64.233.180.94"
                        ],
                        "regDomain": "gstatic.com",
                        "size": 23580,
                        "encodedSize": 23609,
                        "countries": [],
                        "index": 4,
                        "subDomains": [
                            {
                                "domain": "fonts",
                                "country": "US"
                            }
                        ],
                        "redirects": 0
                    },
                    {
                        "count": 1,
                        "ips": [
                            "172.253.63.95"
                        ],
                        "regDomain": "googleapis.com",
                        "size": 818,
                        "encodedSize": 848,
                        "countries": [],
                        "index": 3,
                        "subDomains": [
                            {
                                "domain": "fonts",
                                "country": "US"
                            }
                        ],
                        "redirects": 0
                    }
                ],
                "resourceStats": [
                    {
                        "count": 3,
                        "size": 10878,
                        "encodedSize": 11403,
                        "latency": 0,
                        "countries": [
                            "US"
                        ],
                        "ips": [
                            "138.197.69.146",
                            "172.253.63.95"
                        ],
                        "type": "Stylesheet",
                        "compression": "1.0",
                        "percentage": 50
                    },
                    {
                        "count": 1,
                        "size": 12792,
                        "encodedSize": 13336,
                        "latency": 0,
                        "countries": [
                            "US"
                        ],
                        "ips": [
                            "185.199.109.133"
                        ],
                        "type": "Other",
                        "compression": "1.0",
                        "percentage": 16
                    },
                    {
                        "count": 1,
                        "size": 23580,
                        "encodedSize": 23609,
                        "latency": 0,
                        "countries": [
                            "US"
                        ],
                        "ips": [
                            "64.233.180.94"
                        ],
                        "type": "Font",
                        "compression": "1.0",
                        "percentage": 16
                    },
                    {
                        "count": 1,
                        "size": 28007,
                        "encodedSize": 6643,
                        "latency": 0,
                        "countries": [
                            "US"
                        ],
                        "ips": [
                            "138.197.69.146"
                        ],
                        "type": "Document",
                        "compression": "4.2",
                        "percentage": 16
                    }
                ],
                "securePercentage": 83,
                "secureRequests": 5,
                "serverStats": [
                    {
                        "count": 3,
                        "size": 38067,
                        "encodedSize": 17198,
                        "ips": [
                            "138.197.69.146"
                        ],
                        "countries": [
                            "US"
                        ],
                        "server": "nginx/1.24.0 (Ubuntu)"
                    },
                    {
                        "count": 1,
                        "size": 23580,
                        "encodedSize": 23609,
                        "ips": [
                            "64.233.180.94"
                        ],
                        "countries": [
                            "US"
                        ],
                        "server": "sffe"
                    },
                    {
                        "count": 1,
                        "size": 818,
                        "encodedSize": 848,
                        "ips": [
                            "172.253.63.95"
                        ],
                        "countries": [
                            "US"
                        ],
                        "server": "ESF"
                    }
                ],
                "tlsStats": [
                    {
                        "count": 5,
                        "size": 62465,
                        "encodedSize": 41655,
                        "ips": [
                            "138.197.69.146",
                            "172.253.63.95",
                            "64.233.180.94"
                        ],
                        "countries": [
                            "US"
                        ],
                        "protocols": {
                            "TLS 1.3 /  / AES_128_GCM": 3,
                            "TLS 1.3 /  / AES_256_GCM": 1,
                            "QUIC /  / AES_128_GCM": 1
                        },
                        "securityState": "secure"
                    },
                    {
                        "count": 1,
                        "size": 12792,
                        "encodedSize": 13336,
                        "ips": [
                            "185.199.109.133"
                        ],
                        "countries": [
                            "US"
                        ],
                        "protocols": [],
                        "securityState": "unknown"
                    }
                ],
                "totalLinks": 42,
                "uniqCountries": 1
            },
            "submitter": {
                "country": "GB"
            },
            "task": {
                "method": "api",
                "source": "fb1d0777",
                "tags": [
                    "website-rank",
                    "brandonrohrer.com"
                ],
                "time": "2026-03-19T06:11:53.265Z",
                "url": "https://brandonrohrer.com/",
                "uuid": "019d04b8-9798-72f3-8f4b-849b6d344e30",
                "visibility": "public",
                "reportURL": "https://urlscan.io/result/019d04b8-9798-72f3-8f4b-849b6d344e30/",
                "screenshotURL": "https://urlscan.io/screenshots/019d04b8-9798-72f3-8f4b-849b6d344e30.png",
                "domURL": "https://urlscan.io/dom/019d04b8-9798-72f3-8f4b-849b6d344e30/",
                "domain": "brandonrohrer.com",
                "apexDomain": "brandonrohrer.com"
            },
            "verdicts": {
                "overall": {
                    "score": 0,
                    "categories": [],
                    "brands": [],
                    "tags": [],
                    "malicious": false,
                    "hasVerdicts": true
                },
                "urlscan": {
                    "score": 0,
                    "categories": [],
                    "brands": [],
                    "tags": [],
                    "malicious": false,
                    "hasVerdicts": false
                },
                "engines": {
                    "score": 46,
                    "malicious": true,
                    "categories": [],
                    "enginesTotal": 0,
                    "maliciousTotal": 0,
                    "benignTotal": 0,
                    "maliciousVerdicts": [],
                    "benignVerdicts": [],
                    "hasVerdicts": true,
                    "tags": [
                        "urlscan-ml",
                        "urlscan-ml-60c5e22"
                    ]
                },
                "community": {
                    "score": 0,
                    "categories": [],
                    "brands": [],
                    "votesTotal": 0,
                    "votesMalicious": 0,
                    "votesBenign": 0,
                    "malicious": false,
                    "hasVerdicts": false
                }
            }
        },
        "report_summary": {
            "page_url": "https://brandonrohrer.com/",
            "page_domain": "brandonrohrer.com",
            "ip": "138.197.69.146",
            "country": "US",
            "server": "nginx/1.24.0 (Ubuntu)",
            "asn": "AS14061",
            "status_code": 200,
            "screenshot_url": "https://urlscan.io/screenshots/019d04b8-9798-72f3-8f4b-849b6d344e30.png",
            "report_url": "https://urlscan.io/result/019d04b8-9798-72f3-8f4b-849b6d344e30/",
            "requests": 0,
            "unique_countries": 1,
            "domains": 0,
            "malicious": false,
            "classification": "",
            "verdict_text": "No clear malicious classification",
            "brands": [],
            "labels": [],
            "lists": {
                "ips": [
                    "185.199.109.133",
                    "64.233.180.94",
                    "172.253.63.95",
                    "138.197.69.146"
                ],
                "countries": [
                    "US"
                ],
                "asns": [
                    "54113",
                    "15169",
                    "14061"
                ],
                "domains": [
                    "brandonrohrer.com",
                    "raw.githubusercontent.com",
                    "fonts.gstatic.com",
                    "fonts.googleapis.com"
                ],
                "servers": [
                    "nginx/1.24.0 (Ubuntu)",
                    "sffe",
                    "ESF"
                ],
                "urls": [
                    "https://brandonrohrer.com/",
                    "https://brandonrohrer.com/stylesheets/stylesheet.css",
                    "https://brandonrohrer.com/stylesheets/print.css",
                    "https://fonts.googleapis.com/css2?family=Lato&display=swap",
                    "https://fonts.gstatic.com/s/lato/v25/S6uyw4BMUTPHjx4wXg.woff2",
                    "https://raw.githubusercontent.com/brohrer/blog_images/refs/heads/main/ml_logo.png",
                    "https://brandonrohrer.com/images/ml_logo.png"
                ],
                "linkDomains": [
                    "graffitiwall.nexus",
                    "codeberg.org",
                    "vimeo.com",
                    "tyr.fyi",
                    "github.com",
                    "youtu.be",
                    "gitlab.com",
                    "datarevolution.tech",
                    "www.linkedin.com",
                    "recsys.social",
                    "www.youtube.com",
                    "brandonrohrer.org",
                    "brandonrohrer.at",
                    "creativecommons.org"
                ],
                "certificates": [
                    {
                        "subjectName": "brandonrohrer.com",
                        "issuer": "E8",
                        "validFrom": 1772813724,
                        "validTo": 1780589723
                    },
                    {
                        "subjectName": "upload.video.google.com",
                        "issuer": "WR2",
                        "validFrom": 1770021481,
                        "validTo": 1777279080
                    },
                    {
                        "subjectName": "*.gstatic.com",
                        "issuer": "WR2",
                        "validFrom": 1770021480,
                        "validTo": 1777279079
                    }
                ],
                "hashes": [
                    "bc0cbc444efa2f10eff90fb658e507b36b7ca0d7a8ff0ef5122950a95b5df296",
                    "8357b2703d5f1294746f0ea6cf971610e2f57d64302993db0d19e90b3c99546f",
                    "b9ca43fb07381a5dafd3e2e1082531d5ad63d909c67b8539ddcacbc8fd7ce683",
                    "6a8d638c251dcb0772527e914f642d1b80f85fa7c1dff46253bcb45378ca2267",
                    "918b7dc3e2e2d015c16ce08b57bcb64d2253bafc1707658f361e72865498e537",
                    "ec1eb25cec98c23f31ab62101ffdb504e838c0eaff5d075781d6c1ab2d51c083"
                ]
            }
        },
        "completed_at": "2026-03-23T15:37:34+00:00",
        "is_fresh": false,
        "can_retry": true,
        "poll_after_seconds": 20
    }
}