{
    "ready": true,
    "site": {
        "id": 0,
        "domain": "hapgood.us",
        "display_name": "Hapgood",
        "primary_country_code": "US",
        "category_name": "Business"
    },
    "metrics": {
        "global_rank": 8493,
        "country_rank": 4,
        "category_rank": 3627,
        "daily_pageviews_per_visitor": 3.79,
        "daily_time_on_site_seconds": 339,
        "bounce_rate": 33.02,
        "search_visits_percent": 41.47,
        "total_sites_linking_in": 1,
        "monthly_unique_visitors": 166,
        "recorded_at": "2026-03-15 21:08:03"
    },
    "audit": {
        "score": 91
    },
    "traffic_sources": {
        "direct_percent": 25.51,
        "search_percent": 38.72,
        "social_percent": 5.04,
        "referral_percent": 13.09,
        "email_percent": 6.48,
        "paid_percent": 11.16
    },
    "seo_profile": {
        "backlinks_total": 1,
        "referring_domains": 1,
        "dofollow_backlinks_percent": 100,
        "organic_keywords": 79,
        "indexed_pages": 1001,
        "page_speed_score": 98,
        "mobile_friendliness_score": 85,
        "authority_score": 42,
        "spam_risk_score": 25
    },
    "crawl_report": {
        "robots_status": 200,
        "sitemap_status": 200,
        "sitemap_total_urls": 1001,
        "crawl_blocked": false,
        "crawl_blocked_by": "",
        "crawl_blocked_reason": "",
        "notes": [],
        "created_at": "2026-03-15 21:08:03"
    },
    "keywords": [
        {
            "keyword": "Hapgood",
            "position": 20,
            "search_engine": "Estimated",
            "checked_at": "2026-04-13 13:28:18",
            "is_estimated": true
        },
        {
            "keyword": "Hapgood business",
            "position": 22,
            "search_engine": "Estimated",
            "checked_at": "2026-04-13 13:28:18",
            "is_estimated": true
        },
        {
            "keyword": "Hapgood reviews",
            "position": 24,
            "search_engine": "Estimated",
            "checked_at": "2026-04-13 13:28:18",
            "is_estimated": true
        },
        {
            "keyword": "hapgood",
            "position": 26,
            "search_engine": "Estimated",
            "checked_at": "2026-04-13 13:28:18",
            "is_estimated": true
        },
        {
            "keyword": "mike",
            "position": 28,
            "search_engine": "Estimated",
            "checked_at": "2026-04-13 13:28:18",
            "is_estimated": true
        },
        {
            "keyword": "caulfield",
            "position": 30,
            "search_engine": "Estimated",
            "checked_at": "2026-04-13 13:28:18",
            "is_estimated": true
        },
        {
            "keyword": "latest",
            "position": 32,
            "search_engine": "Estimated",
            "checked_at": "2026-04-13 13:28:18",
            "is_estimated": true
        },
        {
            "keyword": "web",
            "position": 34,
            "search_engine": "Estimated",
            "checked_at": "2026-04-13 13:28:18",
            "is_estimated": true
        }
    ],
    "rating": {
        "overall": 14,
        "label": "Weak",
        "breakdown": [
            {
                "label": "Technical foundation",
                "score": 17,
                "max": 18
            },
            {
                "label": "Authority & trust",
                "score": 13,
                "max": 30
            },
            {
                "label": "Reach & market presence",
                "score": 3,
                "max": 18
            },
            {
                "label": "Search visibility",
                "score": 4,
                "max": 12
            },
            {
                "label": "Engagement & retention",
                "score": 9,
                "max": 10
            },
            {
                "label": "Channels & diversification",
                "score": 4,
                "max": 6
            },
            {
                "label": "Registry stability",
                "score": 0,
                "max": 6
            },
            {
                "label": "Quality system",
                "score": 94,
                "max": 100
            },
            {
                "label": "Reputation system",
                "score": 40,
                "max": 100
            },
            {
                "label": "Safety system",
                "score": 0,
                "max": 100
            },
            {
                "label": "Evidence confidence",
                "score": 1,
                "max": 100
            },
            {
                "label": "External intelligence",
                "score": 52,
                "max": 100
            },
            {
                "label": "API intelligence",
                "score": 54,
                "max": 100
            }
        ],
        "authority_score": 43,
        "quality_score": 94,
        "reputation_score": 40,
        "safety_score": 0,
        "confidence_score": 1,
        "fraud_score": 0,
        "authority_signals": {
            "backlinks": 1,
            "referring_domains": 1,
            "organic_keywords": 79,
            "indexed_pages": 1001,
            "monthly_visitors": 166,
            "global_rank": 8493,
            "engagement_score": 78,
            "crawl_quality_score": 97,
            "brand_completeness_score": 44,
            "link_diversity_score": 92,
            "technical_reliability_score": 82,
            "whois_score": 0,
            "whois_age_years": 0,
            "whois_stability_score": 0,
            "spam_penalty": 0
        },
        "whois_signals": []
    },
    "authority_score": 43,
    "trust_score": 6,
    "domain_tags": {
        "primary_tag": "Uncertain",
        "primary_tag_score": 70,
        "primary_candidate": "Uncertain",
        "primary_candidate_score": 70,
        "tag_codes": "Uncertain,C,T",
        "tags": [
            {
                "code": "Uncertain",
                "label": "Uncertain",
                "tone": "unknown",
                "description": "External checks stayed inconclusive, so the model avoided a harder verdict.",
                "reason": "The evidence is mixed and external checks stayed inconclusive, so the system kept an uncertainty buffer instead of a harder automated verdict.",
                "message": "The evidence is materially mixed or partially corroborated, so the model is avoiding a harder verdict.",
                "priority": 70,
                "score": 70,
                "match_percent": 70,
                "threshold_band": "strong"
            },
            {
                "code": "C",
                "label": "Caution",
                "tone": "caution",
                "description": "Signals are mixed or weak, so this domain should be treated carefully.",
                "reason": "Review carefully: low trust score. Showing the stored external intelligence snapshot. New search and review intelligence only runs after a visitor uses Refresh data manually.",
                "message": "The signal mix leans cautious and the site should be treated carefully until more evidence arrives.",
                "priority": 62,
                "score": 62,
                "match_percent": 62,
                "threshold_band": "strong"
            },
            {
                "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. Showing the stored external intelligence snapshot. New search and review intelligence only runs after a visitor uses Refresh data manually.",
                "message": "A few positive trust signals were detected, but the evidence is still light.",
                "priority": 49,
                "score": 49,
                "match_percent": 49,
                "threshold_band": "light"
            }
        ],
        "tag_breakdown": [
            {
                "code": "Uncertain",
                "label": "Uncertain",
                "tone": "unknown",
                "description": "External checks stayed inconclusive, so the model avoided a harder verdict.",
                "reason": "The evidence is mixed and external checks stayed inconclusive, so the system kept an uncertainty buffer instead of a harder automated verdict.",
                "message": "The evidence is materially mixed or partially corroborated, so the model is avoiding a harder verdict.",
                "priority": 70,
                "score": 70,
                "match_percent": 70,
                "threshold_band": "strong"
            },
            {
                "code": "C",
                "label": "Caution",
                "tone": "caution",
                "description": "Signals are mixed or weak, so this domain should be treated carefully.",
                "reason": "Review carefully: low trust score. Showing the stored external intelligence snapshot. New search and review intelligence only runs after a visitor uses Refresh data manually.",
                "message": "The signal mix leans cautious and the site should be treated carefully until more evidence arrives.",
                "priority": 62,
                "score": 62,
                "match_percent": 62,
                "threshold_band": "strong"
            },
            {
                "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. Showing the stored external intelligence snapshot. New search and review intelligence only runs after a visitor uses Refresh data manually.",
                "message": "A few positive trust signals were detected, but the evidence is still light.",
                "priority": 49,
                "score": 49,
                "match_percent": 49,
                "threshold_band": "light"
            },
            {
                "code": "Blocked",
                "label": "Partial evidence",
                "tone": "unknown",
                "description": "The crawler was blocked, so some conclusions are lower confidence.",
                "reason": "The crawler had partial visibility, so some conclusions are lower confidence.",
                "message": "",
                "priority": 6,
                "score": 6,
                "match_percent": 6,
                "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": 6,
        "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": "Uncertain (70% match) because the evidence is mixed and external checks stayed inconclusive, so the system kept an uncertainty buffer instead of a harder automated verdict.",
        "external_intel": {
            "domain": "hapgood.us",
            "candidate_tag": "",
            "checked_at": "2026-03-19T15:32:57+00:00",
            "status": "fresh",
            "snapshot_version": 9,
            "summary": "Showing the stored external intelligence snapshot. New search and review intelligence only runs after a visitor uses Refresh data manually.",
            "search_intelligence": {
                "queries": [
                    "site:trustpilot.com \"hapgood.us\" -site:hapgood.us -site:www.hapgood.us",
                    "site:bbb.org \"hapgood.us\" -site:hapgood.us -site:www.hapgood.us"
                ],
                "focused_queries": [
                    "site:trustpilot.com \"hapgood.us\" -site:hapgood.us -site:www.hapgood.us",
                    "site:bbb.org \"hapgood.us\" -site:hapgood.us -site:www.hapgood.us"
                ],
                "relaxed_queries": [
                    "site:wikipedia.org \"hapgood.us\"",
                    "site:en.wikipedia.org \"hapgood.us\"",
                    "site:wikipedia.org \"hapgood\"",
                    "site:en.wikipedia.org \"hapgood\"",
                    "hapgood company profile",
                    "hapgood reviews",
                    "hapgood wikipedia",
                    "hapgood linkedin",
                    "hapgood crunchbase"
                ],
                "providers": [
                    "brave"
                ],
                "provider_result_counts": {
                    "brave": 0
                },
                "provider_query_attempts": {
                    "brave": 2
                },
                "provider_error_counts": {
                    "brave": 2
                },
                "provider_failure_reasons": {
                    "brave": "Brave hourly hard cap reached."
                },
                "provider_block_signals": [],
                "results_found": 1,
                "external_results_found": 0,
                "used_direct_fallback": true,
                "results": [
                    {
                        "provider": "direct-domain-fallback",
                        "url": "https://hapgood.us/",
                        "host": "hapgood.us",
                        "title": "hapgood.us",
                        "snippet": "First-party fallback captured directly from the domain when public search engines returned no usable results.",
                        "is_direct_fallback": true,
                        "source_meta": {
                            "host": "hapgood.us",
                            "source_type": "official_site",
                            "label": "Official site",
                            "trust_weight": 55,
                            "evidence_weight": 26,
                            "noise_penalty": 0,
                            "requires_exact_domain_match": true,
                            "supports_positive_verdicts": false,
                            "supports_negative_verdicts": false,
                            "freshness_ttl_days": 21
                        },
                        "entity": {
                            "score": 100,
                            "exactness": "exact_domain",
                            "reasons": [
                                "The result host matches the exact domain.",
                                "The exact domain is mentioned in the page snippet or document text.",
                                "The result URL contains the exact domain string."
                            ]
                        },
                        "query": "direct-fallback",
                        "rank": 1
                    }
                ],
                "source_mix": {
                    "official_site": 1
                },
                "entity_coverage_score": 100,
                "high_trust_result_count": 0,
                "exact_match_result_count": 1,
                "high_entity_result_count": 1,
                "query_hit_count": 0,
                "query_count": 2,
                "used_failover_provider": false,
                "inferred_candidate_tag": "",
                "used_relaxed_queries": false,
                "search_passes": [
                    {
                        "name": "focused-primary",
                        "queries": 2,
                        "providers": [
                            "brave"
                        ],
                        "results_added": 0,
                        "external_results_added": 0,
                        "deadline_hit": false
                    }
                ],
                "deadline_hit": false
            },
            "review_intelligence": {
                "documents_fetched": 1,
                "external_documents_fetched": 0,
                "documents": [
                    {
                        "provider": "direct-domain-fallback",
                        "url": "https://hapgood.us/",
                        "host": "hapgood.us",
                        "title": "hapgood.us",
                        "snippet": "First-party fallback captured directly from the domain when public search engines returned no usable results.",
                        "is_direct_fallback": true,
                        "source_meta": {
                            "host": "hapgood.us",
                            "source_type": "official_site",
                            "label": "Official site",
                            "trust_weight": 55,
                            "evidence_weight": 26,
                            "noise_penalty": 0,
                            "requires_exact_domain_match": true,
                            "supports_positive_verdicts": false,
                            "supports_negative_verdicts": false,
                            "freshness_ttl_days": 21
                        },
                        "entity": {
                            "score": 100,
                            "exactness": "exact_domain",
                            "reasons": [
                                "The result host matches the exact domain.",
                                "The exact domain is mentioned in the page snippet or document text.",
                                "The result URL contains the exact domain string."
                            ]
                        },
                        "query": "direct-fallback",
                        "rank": 1,
                        "body": "Hapgood – Mike Caulfield's latest web incarnation. Networked Learning, Open Education, and Online Digital Literacy Skip to content AboutPublications and Public CoursewareReviewsTalks Hapgood Mike Caulfield's latest web incarnation. Networked Learning, Open Education, and Online Digital Literacy April 27, 2024 The structure of a #DiedSuddenly argument I came across this today: Ok, so yeah, as they say — there’s a lot going on here. We’re going to diagram it in a minute. But let’s start with the basics. How open arguments work In order to analyze this, you first have to realize it does not stand alone. It is part of… Continue reading Mike Caulfield June 22, 2023 The open argument must be fed: The peculiar case of Fox News and the pleasant smoke When everything is evidence, discourse can get a bit stupid In case you didn’t hear, smoke was bad in NYC a couple of weeks ago. A thick blanket of the stuff, the result of distant wildfires, cloaked the city. The AQI was over 400 in places, which to health departments is “please don’t go outside”… Continue reading Mike Caulfield June 10, 2023 Reasonableness: An Introduction There are two primary accounts of the relation between evidence and belief in misinformation research, and neither is adequate. The first model is simple and direct. The idea here is you see misinformation and it shifts your belief. It is not identical to the old hypodermic model of media impact, but bears some relation to… Continue reading Mike Caulfield July 3, 2022 Scene-Level Trope: Riot Bricks With that as your narrative, what evidence can you bring to bear? Repeatedly since at least 2020, the “riot bricks” trope has been popular. The idea, of course, is some secret conspiracy is making sure bricks are ready-to-hand for some riot that will appear spontaneous but is really a coordinated operation. It’s a silly trope,… Continue reading Mike Caulfield July 2, 2022 Scene-Level Trope: Voting Location Cameras Covered Up Polling locations are, by necessity, formed out of locations that do other things the rest of the year. Schools, churches, community centers, and the like. They sometimes have cameras installed. Because voting is private, there are restrictions on filming in polling places. This applies not only to ballot selfies, but to video surveillance. In addition… Continue reading Mike Caulfield July 1, 2022 Vulnerability of Texas to Gubernatorial Vote-Counting Dispute From the book Ballot Battles: In Texas the institution currently empowered to adjudicate a disputed election is its legislature, far from the ideal institution for the dispute. If Texas experiences a ballot-counting dispute in a close gubernatorial election it is hard enough to imagine the state’s legislature resolving that dispute fairly, according to the merits… Continue reading Mike Caulfield January 18, 2022 Disinformation terraforms its information environment Terraforming is a process found in science fiction novels of deliberately modifying the atmosphere and ecology of a planet to make it more habitable for a given life-form. In early sci-fi, that life form was human — drop a few machines on a planet, watch them spin up an atmosphere and ecology, have the humans… Continue reading Mike Caulfield January 15, 2022 “Rumors are bothersome because they may turn out to be true.” If you want to study something, a first step might be to go out and collect it. If I was looking for themes in 16th century poetry about food, I’d go out and get 16th century poems about food. If I wanted to look at personal narratives of medical tragedy, I’d either solicit such i…",
                        "html": "<!DOCTYPE html> <html lang=\"en\"> <head> <meta charset=\"UTF-8\" /> <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" /> <meta name='robots' content='max-image-preview:large' /> <!-- Async WordPress.com Remote Login --> <script id=\"wpcom_remote_login_js\"> var wpcom_remote_login_extra_auth = ''; function wpcom_remote_login_remove_dom_node_id( element_id ) { var dom_node = document.getElementById( element_id ); if ( dom_node ) { dom_node.parentNode.removeChild( dom_node ); } } function wpcom_remote_login_remove_dom_node_classes( class_name ) { var dom_nodes = document.querySelectorAll( '.' + class_name ); for ( var i = 0; i < dom_nodes.length; i++ ) { dom_nodes[ i ].parentNode.removeChild( dom_nodes[ i ] ); } } function wpcom_remote_login_final_cleanup() { wpcom_remote_login_remove_dom_node_classes( \"wpcom_remote_login_msg\" ); wpcom_remote_login_remove_dom_node_id( \"wpcom_remote_login_key\" ); wpcom_remote_login_remove_dom_node_id( \"wpcom_remote_login_validate\" ); wpcom_remote_login_remove_dom_node_id( \"wpcom_remote_login_js\" ); wpcom_remote_login_remove_dom_node_id( \"wpcom_request_access_iframe\" ); wpcom_remote_login_remove_dom_node_id( \"wpcom_request_access_styles\" ); } // Watch for messages back from the remote login window.addEventListener( \"message\", function( e ) { if ( e.origin === \"https://r-login.wordpress.com\" ) { var data = {}; try { data = JSON.parse( e.data ); } catch( e ) { wpcom_remote_login_final_cleanup(); return; } if ( data.msg === 'LOGIN' ) { // Clean up the login check iframe wpcom_remote_login_remove_dom_node_id( \"wpcom_remote_login_key\" ); var id_regex = new RegExp( /^[0-9]+$/ ); var token_regex = new RegExp( /^.*|.*|.*$/ ); if ( token_regex.test( data.token ) && id_regex.test( data.wpcomid ) ) { // We have everything we need to ask for a login var script = document.createElement( \"script\" ); script.setAttribute( \"id\", \"wpcom_remote_login_validate\" ); script.src = '/remote-login.php?wpcom_remote_login=validate' + '&wpcomid=' + data.wpcomid + '&token=' + encodeURIComponent( data.token ) + '&host=' + window.location.protocol + '//' + window.location.hostname + '&postid=20461' + '&is_singular='; document.body.appendChild( script ); } return; } // Safari ITP, not logged in, so redirect if ( data.msg === 'LOGIN-REDIRECT' ) { window.location = 'https://wordpress.com/log-in?redirect_to=' + window.location.href; return; } // Safari ITP, storage access failed, remove the request if ( data.msg === 'LOGIN-REMOVE' ) { var css_zap = 'html { -webkit-transition: margin-top 1s; transition: margin-top 1s; } /* 9001 */ html { margin-top: 0 !important; } * html body { margin-top: 0 !important; } @media screen and ( max-width: 782px ) { html { margin-top: 0 !important; } * html body { margin-top: 0 !important; } }'; var style_zap = document.createElement( 'style' ); style_zap.type = 'text/css'; style_zap.appendChild( document.createTextNode( css_zap ) ); document.body.appendChild( style_zap ); var e = document.getElementById( 'wpcom_request_access_iframe' ); e.parentNode.removeChild( e ); document.cookie = 'wordpress_com_login_access=denied; path=/; max-age=31536000'; return; } // Safari ITP if ( data.msg === 'REQUEST_ACCESS' ) { console.log( 'request access: safari' ); // Check ITP iframe enable/disable knob if ( wpcom_remote_login_extra_auth !== 'safari_itp_iframe' ) { return; } // If we are in a \"private window\" there is no ITP. var private_window = false; try { var opendb = window.openDatabase( null, null, null, null ); } catch( e ) { private_window = true; } if ( private_window ) { console.log( 'private window' ); return; } var iframe = document.createElement( 'iframe' ); iframe.id = 'wpcom_request_access_iframe'; iframe.setAttribute( 'scrolling', 'no' ); iframe.setAttribute( 'sandbox', 'allow-storage-access-by-user-activation allow-scripts allow-same-origin allow-top-navigation-by-user-activation' ); iframe.src = 'https://r-login.wordpress.com/remote-login.php?wpcom_remote_login=request_access&origin=' + encodeURIComponent( data.origin ) + '&wpcomid=' + encodeURIComponent( data.wpcomid ); var css = 'html { -webkit-transition: margin-top 1s; transition: margin-top 1s; } /* 9001 */ html { margin-top: 46px !important; } * html body { margin-top: 46px !important; } @media screen and ( max-width: 660px ) { html { margin-top: 71px !important; } * html body { margin-top: 71px !important; } #wpcom_request_access_iframe { display: block; height: 71px !important; } } #wpcom_request_access_iframe { border: 0px; height: 46px; position: fixed; top: 0; left: 0; width: 100%; min-width: 100%; z-index: 99999; background: #23282d; } '; var style = document.createElement( 'style' ); style.type = 'text/css'; style.id = 'wpcom_request_access_styles'; style.appendChild( document.createTextNode( css ) ); document.body.appendChild( style ); document.body.appendChild( iframe ); } if ( data.msg === 'DONE' ) { wpcom_remote_login_final_cleanup(); } } }, false ); // Inject the remote login iframe after the page has had a chance to load // more critical resources window.addEventListener( \"DOMContentLoaded\", function( e ) { var iframe = document.createElement( \"iframe\" ); iframe.style.display = \"none\"; iframe.se…",
                        "status_code": 200,
                        "final_url": "https://hapgood.us/"
                    }
                ],
                "facts": [],
                "ignored_candidates": [],
                "blocked_candidates": 0,
                "source_diversity": 0,
                "host_coverage": 1,
                "source_type_coverage": 1,
                "exact_match_documents": 1,
                "external_exact_match_documents": 0,
                "elapsed_ms": 58,
                "candidates_considered": 1,
                "fetch_success_rate": 100,
                "avg_source_trust": 55,
                "avg_entity_score": 100
            },
            "provider_enrichment": {
                "providers": {
                    "safebrowsing": {
                        "status": "disabled"
                    },
                    "abuseipdb": {
                        "status": "quota_exhausted",
                        "confidence": 0,
                        "budget": {
                            "provider": "abuseipdb",
                            "window_key": "2026-03-19",
                            "used": 850,
                            "limit": 850,
                            "remaining": 0,
                            "updated_at": "2026-03-19T06:46:15+00:00"
                        }
                    },
                    "ipinfo": {
                        "status": "ok",
                        "confidence": 54,
                        "ip": "192.0.78.24",
                        "asn": "AS2635",
                        "as_name": "Automattic, Inc",
                        "as_domain": "automattic.com",
                        "country_code": "US",
                        "country": "United States",
                        "region": "",
                        "city": "",
                        "flags": [],
                        "highlights": [
                            "IPinfo resolved the primary IP to US on AS2635."
                        ],
                        "citations": [
                            {
                                "title": "IPinfo IP enrichment",
                                "url": "https://ipinfo.io/developers",
                                "host": "ipinfo.io",
                                "snippet": "Primary IP 192.0.78.24 geolocates to US.",
                                "source_type": "ip_enrichment"
                            }
                        ],
                        "cached": true
                    },
                    "censys": {
                        "status": "disabled"
                    },
                    "sslmate": {
                        "status": "error",
                        "error": "HTTP 429: {\"code\":\"rate_limited\",\"message\":\"You have exceeded the domain search rate limit for the SSLMate CT Search API. Please try again later, or upgrade your Cert Spotter plan by visiting .\"}"
                    }
                },
                "facts": [],
                "citations": [
                    {
                        "title": "IPinfo IP enrichment",
                        "url": "https://ipinfo.io/developers",
                        "host": "ipinfo.io",
                        "snippet": "Primary IP 192.0.78.24 geolocates to US.",
                        "source_type": "ip_enrichment"
                    }
                ],
                "highlights": [
                    "IPinfo resolved the primary IP to US on AS2635."
                ],
                "resolved_ips": [
                    "192.0.78.24",
                    "192.0.78.25"
                ],
                "primary_ip": "192.0.78.24",
                "quality": {
                    "provider_diversity_score": 25,
                    "provider_confidence_score": 54,
                    "provider_fact_count": 0
                }
            },
            "evidence": {
                "scores": {
                    "legit": 0,
                    "safe": 0,
                    "trusted": 0,
                    "caution": 0,
                    "scam": 0,
                    "dangerous": 0,
                    "spam": 0,
                    "nsfw": 0
                },
                "counts": {
                    "official_presence": 0,
                    "business_profiles": 0,
                    "positive_reviews": 0,
                    "negative_reviews": 0,
                    "scam_reports": 0,
                    "dangerous_reports": 0,
                    "spam_reports": 0,
                    "adult_reports": 0
                },
                "tag_support": [],
                "top_supporting_facts": [],
                "top_positive_facts": []
            },
            "quality": {
                "source_diversity_score": 0,
                "entity_coverage_score": 100,
                "freshness_score": 18,
                "confidence": 24,
                "documents_fetched": 1,
                "external_documents_fetched": 0,
                "fact_count": 0,
                "avg_source_trust": 55,
                "avg_entity_score": 100,
                "fetch_success_rate": 100,
                "exact_match_score": 0,
                "query_coverage_score": 20,
                "host_coverage_score": 20,
                "source_type_coverage_score": 25,
                "qualified_evidence_score": 0,
                "exact_match_documents": 0,
                "blocked_candidates": 0,
                "used_direct_fallback": true,
                "external_results_found": 0,
                "provider_diversity_score": 25,
                "provider_confidence_score": 54,
                "provider_fact_count": 0
            },
            "decision": {
                "state": "insufficient",
                "uncertainty": true,
                "candidate_support": 0,
                "candidate_contradiction": 0,
                "supports": {
                    "dangerous": false,
                    "scam": false,
                    "spam": false,
                    "nsfw": false,
                    "trusted": false
                },
                "evidence_quality": "low",
                "state_label": "Inconclusive",
                "state_reason": "Public search did not yield usable third-party matches, so the system fell back to first-party inspection only."
            },
            "signals": {
                "scores": {
                    "legit": 0,
                    "safe": 0,
                    "trusted": 0,
                    "caution": 0,
                    "scam": 0,
                    "dangerous": 0,
                    "spam": 0,
                    "nsfw": 0
                },
                "counts": {
                    "official_presence": 0,
                    "business_profiles": 0,
                    "positive_reviews": 0,
                    "negative_reviews": 0,
                    "scam_reports": 0,
                    "dangerous_reports": 0,
                    "spam_reports": 0,
                    "adult_reports": 0
                },
                "candidate_support": 0,
                "candidate_contradiction": 0,
                "highlights": [
                    "IPinfo resolved the primary IP to US on AS2635.",
                    "External evidence remained inconclusive because diversity, exact matching, or confidence was still too weak."
                ]
            },
            "citations": [
                {
                    "title": "IPinfo IP enrichment",
                    "url": "https://ipinfo.io/developers",
                    "host": "ipinfo.io",
                    "snippet": "Primary IP 192.0.78.24 geolocates to US.",
                    "source_type": "ip_enrichment"
                }
            ],
            "urlscan": {
                "domain": "hapgood.us",
                "status": "error",
                "submitted_at": "2026-03-19T15:32:57+00:00",
                "completed_at": null,
                "last_checked_at": "2026-03-19T15:32:57+00:00",
                "last_error": "Rate limit for 'public' exceeded. Limit is 5000 per day. Reset in 30422 seconds.",
                "submitted_url": "https://hapgood.us/",
                "uuid": "",
                "result_url": "",
                "api_result_url": "",
                "visibility": "public",
                "summary": "urlscan.io scan submission failed.",
                "report": [],
                "report_summary": [],
                "is_fresh": false,
                "can_retry": false,
                "poll_after_seconds": 20
            },
            "eligibility": {
                "budget_ms": 4200,
                "search_budget_ms": 1600,
                "review_budget_ms": 2600,
                "query_cap": 2,
                "provider_cap": 1,
                "result_cap": 6,
                "review_document_cap": 4,
                "search_connect_timeout": 2,
                "search_timeout": 3,
                "review_connect_timeout": 2,
                "review_timeout": 3,
                "allowed": true,
                "mode": "normal",
                "decision_code": "run_normal",
                "reason": "page-request",
                "summary": "Running a standard intelligence pass because the current signals need third-party corroboration.",
                "cooldown": {
                    "active": false,
                    "empty_attempts": 0,
                    "next_allowed_at": "",
                    "reason": "",
                    "provider_retry_at": ""
                },
                "suffix": {
                    "tld": "us",
                    "registered_suffix": "us",
                    "class": "high_confidence",
                    "reserved": false
                },
                "signals": {
                    "trust_score": 0,
                    "quality_score": 89,
                    "safety_score": 0,
                    "fraud_score": 0,
                    "spam_score": 0,
                    "nsfw_score": 0,
                    "score_confidence": 0,
                    "risk_label": "good",
                    "crawl_blocked": false,
                    "last_http_status": 200,
                    "content_word_count": 3744,
                    "internal_links_count": 46,
                    "site_name": "",
                    "title": "Hapgood – Mike Caulfield's latest web incarnation. Networked Learning, Open Education, and Online Digital Literacy",
                    "is_tracked": false
                }
            },
            "cooldown": {
                "empty_attempts": 1,
                "next_allowed_at": "2026-03-26T15:32:57+00:00",
                "reason": "Recent intelligence runs produced no qualified third-party evidence, so retries are cooled down to save budget.",
                "provider_retry_at": "",
                "last_reason": "page-request"
            },
            "debug": {
                "top_supporting_facts": [],
                "top_positive_facts": [],
                "ignored_candidates": [],
                "budget_ms": 4200,
                "search_budget_ms": 1600,
                "review_budget_ms": 2600,
                "search_mode": "page-request",
                "query_cap": 2,
                "provider_cap": 1,
                "result_cap": 6,
                "review_document_cap": 4,
                "reason": "page-request",
                "priority": 80,
                "eligibility_decision": "run_normal",
                "provider_statuses": {
                    "safebrowsing": "disabled",
                    "abuseipdb": "quota_exhausted",
                    "ipinfo": "ok",
                    "censys": "disabled",
                    "sslmate": "error"
                }
            },
            "last_good": {
                "checked_at": "2026-03-19T15:32:57+00:00",
                "summary": "External checks ran, but the verified result set was still too sparse to harden the verdict.",
                "decision": {
                    "state": "insufficient",
                    "uncertainty": true,
                    "candidate_support": 0,
                    "candidate_contradiction": 0,
                    "supports": {
                        "dangerous": false,
                        "scam": false,
                        "spam": false,
                        "nsfw": false,
                        "trusted": false
                    },
                    "evidence_quality": "low",
                    "state_label": "Inconclusive",
                    "state_reason": "Public search did not yield usable third-party matches, so the system fell back to first-party inspection only."
                },
                "signals": {
                    "scores": {
                        "legit": 0,
                        "safe": 0,
                        "trusted": 0,
                        "caution": 0,
                        "scam": 0,
                        "dangerous": 0,
                        "spam": 0,
                        "nsfw": 0
                    },
                    "counts": {
                        "official_presence": 0,
                        "business_profiles": 0,
                        "positive_reviews": 0,
                        "negative_reviews": 0,
                        "scam_reports": 0,
                        "dangerous_reports": 0,
                        "spam_reports": 0,
                        "adult_reports": 0
                    },
                    "candidate_support": 0,
                    "candidate_contradiction": 0,
                    "highlights": [
                        "IPinfo resolved the primary IP to US on AS2635.",
                        "External evidence remained inconclusive because diversity, exact matching, or confidence was still too weak."
                    ]
                },
                "citations": [
                    {
                        "title": "IPinfo IP enrichment",
                        "url": "https://ipinfo.io/developers",
                        "host": "ipinfo.io",
                        "snippet": "Primary IP 192.0.78.24 geolocates to US.",
                        "source_type": "ip_enrichment"
                    }
                ]
            }
        },
        "external_decision": {
            "state": "insufficient",
            "uncertainty": true,
            "candidate_support": 0,
            "candidate_contradiction": 0,
            "supports": {
                "dangerous": false,
                "scam": false,
                "spam": false,
                "nsfw": false,
                "trusted": false
            },
            "evidence_quality": "low",
            "state_label": "Inconclusive",
            "state_reason": "Public search did not yield usable third-party matches, so the system fell back to first-party inspection only."
        },
        "signal_scores": [
            {
                "label": "Strongest tag heuristic",
                "value": "Uncertain · 70%",
                "tone": "unknown",
                "detail": "The highest raw tag match from the heuristic engine before visibility thresholds and manual overrides."
            },
            {
                "label": "Trust score",
                "value": "6/100",
                "tone": "spam",
                "detail": "Confidence derived from authority, crawl quality, stability, and risk signals."
            },
            {
                "label": "Authority score",
                "value": "43/100",
                "tone": "caution",
                "detail": "A higher authority score usually means broader reputation and backlink confidence."
            },
            {
                "label": "Spam risk",
                "value": "9/100",
                "tone": "good",
                "detail": "Lower is better. This blends spam indicators with false-positive protections for legitimate sites."
            },
            {
                "label": "Quality score",
                "value": "89/100",
                "tone": "good",
                "detail": "Based on crawl quality, content completeness, and technical evidence."
            },
            {
                "label": "Safety score",
                "value": "42/100",
                "tone": "spam",
                "detail": "Higher is safer. Direct fraud signals can heavily cap this even when SEO signals look strong."
            },
            {
                "label": "Fraud score",
                "value": "0/100",
                "tone": "good",
                "detail": "Lower is better. This reflects phishing, drainer, fake-support, fake-shop, and malware signals."
            },
            {
                "label": "Infrastructure risk",
                "value": "0/100",
                "tone": "good",
                "detail": "Lower is better. This reflects the IP, registrar, and nameserver neighbourhood seen by the crawler."
            },
            {
                "label": "Evidence confidence",
                "value": "18/100",
                "tone": "spam",
                "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": "0/100",
                "tone": "unknown",
                "detail": "Based on age, expiry runway, and the amount of ownership / registrar churn."
            }
        ],
        "signal_sections": [
            {
                "title": "Registry & ownership",
                "items": [
                    {
                        "label": "Domain age",
                        "value": "—",
                        "tone": "unknown",
                        "detail": "Older domains generally carry more historical trust than very new ones."
                    },
                    {
                        "label": "Stability score",
                        "value": "—",
                        "tone": "unknown",
                        "detail": "Penalised by registrar, ownership, and nameserver churn."
                    },
                    {
                        "label": "Days to expiry",
                        "value": "—",
                        "tone": "unknown",
                        "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": "1",
                        "tone": "unknown",
                        "detail": "Broader backlink evidence usually improves confidence."
                    },
                    {
                        "label": "Referring domains",
                        "value": "1",
                        "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": "1,001",
                        "tone": "good",
                        "detail": "Larger index coverage usually means more evidence to classify from."
                    },
                    {
                        "label": "Brand strength",
                        "value": "44/100",
                        "tone": "caution",
                        "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 weak · 31 ms",
                        "tone": "spam",
                        "detail": "Slow or broken technical signals weaken confidence."
                    },
                    {
                        "label": "Content words",
                        "value": "3,744",
                        "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": "46 internal · 8 external",
                        "tone": "good",
                        "detail": "Link patterns help detect thin directories and promo pages."
                    },
                    {
                        "label": "Page speed / mobile",
                        "value": "98/100 · 85/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": "Public search did not yield usable third-party matches, so the system fell back to first-party inspection only."
                    },
                    {
                        "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": "Active",
                        "tone": "caution",
                        "detail": "Prevents thin or mixed external evidence from forcing a stronger tag than the evidence can justify."
                    }
                ]
            }
        ],
        "positives": [
            "Healthy crawl quality and on-page completeness.",
            "Search evidence is broad enough to classify with better confidence."
        ],
        "risks": [
            "Trust score is currently very low.",
            "External evidence was mixed or sparse, so the tag model keeps an uncertainty buffer instead of overcommitting."
        ]
    },
    "traffic_confidence": 52,
    "whois": {
        "current": null,
        "history": [],
        "signals": []
    },
    "discovered_domain": {
        "id": 47375,
        "domain": "hapgood.us",
        "first_seen_at": "2026-03-15 16:05:26",
        "last_crawled_at": "2026-03-15 21:08:03",
        "last_title": "Hapgood – Mike Caulfield's latest web incarnation. Networked Learning, Open Education, and Online Digital Literacy",
        "last_http_status": 200,
        "discovered_from_domain": "beathagenlocher.com",
        "depth": 0,
        "backlinks_count": 1,
        "rating_cache": 62,
        "spam_score": 0,
        "risk_label": "good",
        "category_name": "Business",
        "primary_country_code": "US",
        "internal_links_count": 46,
        "external_links_count": 8,
        "social_profiles_count": 0,
        "content_word_count": 3744,
        "title_quality_score": 65,
        "has_meta_description": 1,
        "has_h1": 1,
        "language_code": "en",
        "response_time_ms": 31,
        "robots_status": 200,
        "sitemap_status": 200,
        "sitemap_total_urls": 1001,
        "quality_score": 89,
        "site_name": "",
        "canonical_domain": "",
        "favicon_present": 0,
        "schema_org_count": 0,
        "noindex_detected": 0,
        "feed_links_count": 0,
        "https_working": 0,
        "estimated_authority_score": 0,
        "trust_score": 0,
        "nsfw_score": 0,
        "overall_rank_estimate": 0,
        "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": 0,
        "fraud_score": 0,
        "legitimacy_score": 0,
        "infrastructure_risk_score": 0,
        "score_confidence": 0,
        "tag_confidence": 0,
        "category_confidence": 0,
        "deep_crawl_pages": 0,
        "resolved_ip": "",
        "category_candidates_json": null,
        "page_signals_json": null,
        "score_reasons_json": null,
        "route_domain": "hapgood.us",
        "display_domain": "hapgood.us"
    },
    "explainability": {
        "summary": "hapgood.us currently scores 14/100. Risk signals are the main constraint on the score right now. Evidence confidence is still limited, so the score can move materially after more evidence is collected. 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": "Low confidence",
                "tone": "risk",
                "detail": "1/100"
            },
            {
                "label": "Traffic confidence",
                "value": "Moderate confidence",
                "tone": "caution",
                "detail": "52/100"
            },
            {
                "label": "Crawler access",
                "value": "Clean visibility",
                "tone": "good",
                "detail": null
            }
        ],
        "weighted_contributions": [
            {
                "label": "Quality system",
                "points": "+32.0",
                "tone": "good",
                "detail": "Technical quality, crawl depth, page structure, and implementation hygiene. Current subsystem score: 94/100."
            },
            {
                "label": "Reputation system",
                "points": "+13.6",
                "tone": "risk",
                "detail": "Authority, search visibility, reach, engagement, and registry stability. Current subsystem score: 40/100."
            },
            {
                "label": "Safety system",
                "points": "+0.0",
                "tone": "risk",
                "detail": "Fraud, spam, and trust signals from infrastructure, crawl, and registry evidence. Current subsystem score: 0/100."
            },
            {
                "label": "Risk clamp",
                "points": "-32.0",
                "tone": "risk",
                "detail": "High-risk signals forced the final score lower than the weighted base score."
            }
        ],
        "evidence_cards": [
            {
                "label": "Authority and trust",
                "value": "43/100 · trust 6/100",
                "tone": "risk",
                "detail": "166 monthly visitors, 79 organic keywords, brand completeness 44/100, engagement 78/100."
            },
            {
                "label": "Backlink and search evidence",
                "value": "1 referring domains",
                "tone": "good",
                "detail": "1 backlinks across 1 referring domains. Diversity 92/100; spam penalty 0."
            },
            {
                "label": "Registry and domain stability",
                "value": "0.0 years old",
                "tone": "risk",
                "detail": "Stability 0/100 · age 0.0 years."
            },
            {
                "label": "Safety and fraud posture",
                "value": "Safety 0/100 · fraud 0/100",
                "tone": "risk",
                "detail": "Primary tag Uncertain · safety 0/100 · fraud 0/100."
            }
        ],
        "positives": [
            "Healthy crawl quality and on-page completeness.",
            "Search evidence is broad enough to classify with better confidence.",
            "Backlink diversity looks broad enough to strengthen authority confidence."
        ],
        "risks": [
            "Trust score is currently very low.",
            "External evidence was mixed or sparse, so the tag model keeps an uncertainty buffer instead of overcommitting.",
            "Safety signals are weak, which materially drags the final score down."
        ],
        "freshness": [
            {
                "label": "Crawl evidence",
                "value": "2026-03-15 21:08:03",
                "tone": "risk",
                "detail": "Crawl and page content sample. Age: 28d ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "Not captured yet",
                "tone": "unknown",
                "detail": "Registry profile and stability signals."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-13 13:28:18",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-13 13:28:18",
                "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": 46,
        "fraud_clamp_penalty": 32,
        "final_score": 14
    },
    "insight_snapshot": {
        "version": 1,
        "generated_at": "2026-04-13T13:28:18+00:00",
        "domain": "hapgood.us",
        "display_name": "Hapgood",
        "is_tracked": false,
        "is_estimated": true,
        "overall_score": 14,
        "authority_score": 43,
        "trust_score": 6,
        "safety_score": 0,
        "fraud_score": 0,
        "confidence_score": 1,
        "traffic_confidence": 52,
        "last_crawled_at": "2026-03-15 21:08:03",
        "crawl_blocked": false,
        "summary": "hapgood.us currently scores 14/100. Risk signals are the main constraint on the score right now. Evidence confidence is still limited, so the score can move materially after more evidence is collected. 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": "Low confidence",
                "tone": "risk",
                "detail": "1/100"
            },
            {
                "label": "Traffic confidence",
                "value": "Moderate confidence",
                "tone": "caution",
                "detail": "52/100"
            },
            {
                "label": "Crawler access",
                "value": "Clean visibility",
                "tone": "good",
                "detail": null
            }
        ],
        "top_positive_signals": [
            "Healthy crawl quality and on-page completeness.",
            "Search evidence is broad enough to classify with better confidence.",
            "Backlink diversity looks broad enough to strengthen authority confidence."
        ],
        "top_risk_signals": [
            "Trust score is currently very low.",
            "External evidence was mixed or sparse, so the tag model keeps an uncertainty buffer instead of overcommitting.",
            "Safety signals are weak, which materially drags the final score down."
        ],
        "freshness": [
            {
                "label": "Crawl evidence",
                "value": "2026-03-15 21:08:03",
                "tone": "risk",
                "detail": "Crawl and page content sample. Age: 28d ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "Not captured yet",
                "tone": "unknown",
                "detail": "Registry profile and stability signals."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-13 13:28:18",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-13 13:28:18",
                "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": "Uncertain",
                "label": "Uncertain",
                "tone": "unknown"
            },
            {
                "code": "C",
                "label": "Caution",
                "tone": "caution"
            },
            {
                "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-13T14:48:38+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/hapgood.us/refresh",
        "isGuestCooldown": false,
        "cooldownSeconds": 0
    },
    "urlscan_report": {
        "domain": "hapgood.us",
        "status": "error",
        "submitted_at": "2026-03-19T15:32:57+00:00",
        "completed_at": null,
        "last_checked_at": "2026-03-19T15:32:57+00:00",
        "last_error": "Rate limit for 'public' exceeded. Limit is 5000 per day. Reset in 30422 seconds.",
        "submitted_url": "https://hapgood.us/",
        "uuid": "",
        "result_url": "",
        "api_result_url": "",
        "visibility": "public",
        "summary": "urlscan.io scan submission failed.",
        "report": [],
        "report_summary": [],
        "is_fresh": false,
        "can_retry": true,
        "poll_after_seconds": 20
    }
}