{
    "ready": true,
    "site": {
        "id": 0,
        "domain": "ctvnews.ca",
        "display_name": "ctvnews.ca",
        "primary_country_code": "CA",
        "category_name": "Business"
    },
    "metrics": {
        "global_rank": 698,
        "country_rank": 8,
        "category_rank": 7,
        "daily_pageviews_per_visitor": 2.94,
        "daily_time_on_site_seconds": 192,
        "bounce_rate": 46.12,
        "search_visits_percent": 29.9,
        "total_sites_linking_in": 9,
        "monthly_unique_visitors": 52,
        "recorded_at": "2026-04-05 05:00:41"
    },
    "audit": {
        "score": 25
    },
    "traffic_sources": {
        "direct_percent": 27.82,
        "search_percent": 29.04,
        "social_percent": 5.76,
        "referral_percent": 17.21,
        "email_percent": 7.41,
        "paid_percent": 12.76
    },
    "seo_profile": {
        "backlinks_total": 9,
        "referring_domains": 9,
        "dofollow_backlinks_percent": 77.78,
        "organic_keywords": 18,
        "indexed_pages": 1,
        "page_speed_score": 43,
        "mobile_friendliness_score": 34,
        "authority_score": 32,
        "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": [
            "Homepage title has not been captured yet.",
            "Meta description is missing.",
            "No H1 heading was detected.",
            "robots.txt could not be confirmed.",
            "Sitemap could not be confirmed."
        ],
        "created_at": "2026-04-05 05:00:41"
    },
    "keywords": [
        {
            "keyword": "ctvnews.ca",
            "position": 25,
            "search_engine": "Estimated",
            "checked_at": "2026-04-18 20:30:48",
            "is_estimated": true
        },
        {
            "keyword": "ctvnews.ca business",
            "position": 27,
            "search_engine": "Estimated",
            "checked_at": "2026-04-18 20:30:48",
            "is_estimated": true
        },
        {
            "keyword": "ctvnews.ca reviews",
            "position": 29,
            "search_engine": "Estimated",
            "checked_at": "2026-04-18 20:30:48",
            "is_estimated": true
        },
        {
            "keyword": "ctvnews",
            "position": 31,
            "search_engine": "Estimated",
            "checked_at": "2026-04-18 20:30:48",
            "is_estimated": true
        }
    ],
    "rating": {
        "overall": 50,
        "label": "Average",
        "breakdown": [
            {
                "label": "Technical foundation",
                "score": 3,
                "max": 18
            },
            {
                "label": "Authority & trust",
                "score": 10,
                "max": 30
            },
            {
                "label": "Reach & market presence",
                "score": 2,
                "max": 18
            },
            {
                "label": "Search visibility",
                "score": 2,
                "max": 12
            },
            {
                "label": "Engagement & retention",
                "score": 7,
                "max": 10
            },
            {
                "label": "Channels & diversification",
                "score": 4,
                "max": 6
            },
            {
                "label": "Registry stability",
                "score": 5,
                "max": 6
            },
            {
                "label": "Quality system",
                "score": 17,
                "max": 100
            },
            {
                "label": "Reputation system",
                "score": 37,
                "max": 100
            },
            {
                "label": "Safety system",
                "score": 100,
                "max": 100
            },
            {
                "label": "Evidence confidence",
                "score": 28,
                "max": 100
            },
            {
                "label": "External intelligence",
                "score": 52,
                "max": 100
            },
            {
                "label": "API intelligence",
                "score": 54,
                "max": 100
            }
        ],
        "authority_score": 33,
        "quality_score": 17,
        "reputation_score": 37,
        "safety_score": 100,
        "confidence_score": 28,
        "fraud_score": 0,
        "authority_signals": {
            "backlinks": 9,
            "referring_domains": 9,
            "organic_keywords": 18,
            "indexed_pages": 1,
            "monthly_visitors": 52,
            "global_rank": 698,
            "engagement_score": 65,
            "crawl_quality_score": 27,
            "brand_completeness_score": 8,
            "link_diversity_score": 96,
            "technical_reliability_score": 32,
            "whois_score": 91,
            "whois_age_years": 25.4,
            "whois_stability_score": 100,
            "spam_penalty": 2
        },
        "whois_signals": {
            "age_years": 25.4,
            "days_to_expiry": 226,
            "days_since_last_registry_update": 235,
            "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": 6,
            "status_count": 3
        }
    },
    "authority_score": 33,
    "trust_score": 47,
    "domain_tags": {
        "primary_tag": "Uncertain",
        "primary_tag_score": 68,
        "primary_candidate": "Uncertain",
        "primary_candidate_score": 68,
        "tag_codes": "Uncertain,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": 68,
                "score": 68,
                "match_percent": 68,
                "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": "The site shows a reasonably trustworthy and stable profile.",
                "priority": 63,
                "score": 63,
                "match_percent": 63,
                "threshold_band": "strong"
            }
        ],
        "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": 68,
                "score": 68,
                "match_percent": 68,
                "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": "The site shows a reasonably trustworthy and stable profile.",
                "priority": 63,
                "score": 63,
                "match_percent": 63,
                "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: mixed trust signals. Showing the stored external intelligence snapshot. New search and review intelligence only runs after a visitor uses Refresh data manually.",
                "message": "The current crawl does not show a meaningful caution match.",
                "priority": 6,
                "score": 6,
                "match_percent": 6,
                "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": 2,
                "score": 2,
                "match_percent": 2,
                "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": 48,
        "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 (68% 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": "ctvnews.ca",
            "candidate_tag": "",
            "checked_at": "2026-03-19T14:29:10+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 \"ctvnews.ca\" -site:ctvnews.ca -site:www.ctvnews.ca",
                    "site:bbb.org \"ctvnews.ca\" -site:ctvnews.ca -site:www.ctvnews.ca"
                ],
                "focused_queries": [
                    "site:trustpilot.com \"ctvnews.ca\" -site:ctvnews.ca -site:www.ctvnews.ca",
                    "site:bbb.org \"ctvnews.ca\" -site:ctvnews.ca -site:www.ctvnews.ca"
                ],
                "relaxed_queries": [
                    "site:wikipedia.org \"ctvnews.ca\"",
                    "site:en.wikipedia.org \"ctvnews.ca\"",
                    "site:wikipedia.org \"ctvnews\"",
                    "site:en.wikipedia.org \"ctvnews\"",
                    "ctvnews company profile",
                    "ctvnews reviews",
                    "ctvnews wikipedia",
                    "ctvnews linkedin",
                    "ctvnews 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://ctvnews.ca/",
                        "host": "ctvnews.ca",
                        "title": "ctvnews.ca",
                        "snippet": "First-party fallback captured directly from the domain when public search engines returned no usable results.",
                        "is_direct_fallback": true,
                        "source_meta": {
                            "host": "ctvnews.ca",
                            "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://ctvnews.ca/",
                        "host": "ctvnews.ca",
                        "title": "ctvnews.ca",
                        "snippet": "First-party fallback captured directly from the domain when public search engines returned no usable results.",
                        "is_direct_fallback": true,
                        "source_meta": {
                            "host": "ctvnews.ca",
                            "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": "CTV News – Breaking News and Video, Canada News Today Skip to main contentSectionsLocalWatchTrump's TariffsIn PicturesCTV Your MorningShopping TrendsCTV News NowSign InSign InDownload Our AppAtlanticNova ScotiaNew BrunswickPrince Edward Island Newfoundland and LabradorBarrieCalgaryLethbridgeEdmontonKitchenerGuelphLondonMontrealNorthern OntarioSudburyNorth BaySault Ste. MarieTimminsOttawaKingstonBrockvillePembrokeReginaYorktonSaskatoonPrince AlbertTorontoWatchWeatherPeelHamiltonDurhamYorkHaltonNiagaraQueen's ParkToronto City HallIn PicturesVancouverVancouver IslandWindsorWinnipegCanadaLocal SpotlightRoyal FamilyPoliticsNanosPower PlayQuestion PeriodFederal Election 2025WorldMideast ConflictRussia-Ukraine WarCTV News NowWatchLatestCaptured on CameraPoliticsLifestyleConsumerHealthExplainedEntertainmentTechnologyDeception DecodedAutosEnvironmentLiveIn PicturesTrump's TariffsCTV National NewsCTV Your MorningBusinessInflationReal EstateAutosHealthEntertainmentLifestyleClimate & EnvironmentSci-TechSportsOpinionHighly EngagedCTV Shopping TrendsShop CanadianGiftsDealsProduct GuidesHomeBeautyHealth & FitnessStyleKids & BabyTechContact UsStoxNewslettersCP24Opens in new windowBNN BloombergOpens in new windowEXCLUSIVE: W5 tracks down alleged Canadian recruiters linked to 4 jailed in Hong Kong drug casesVideoFour Canadians behind bars in Hong Kong say they were tricked into becoming drug mules. A W5 investigation has now tracked down the alleged Canadian recruiters they say helped send them there.Video7-year-old Canadian, mom detained by ICE last weekend: stepfather VideoThis traveller had a typo on his plane ticket. It would end up costing him more than $11K.Live CoverageClinic facing $5M lawsuit after patient contracts hepatitis C from allegedly dirty needleTrump threatens to ‘massively blow up’ gas field if Iran strikes Qatar againPierre Poilievre sits down for interview with podcaster Joe Rogan VideoFighter jets escort two Montreal-bound flights after ‘security incident’: NoradReview: The intimate spectacle of ‘Project Hail Mary’Canada’s population dropped by 100,000 near the end of 2025. Here’s whyWhere Canada falls on the 2026 World Happiness Report GalleryThis ‘ultra rare’ condo in Toronto is up for sale for $22.5M. Here's a look insideA real possum appears among plush toy animals in Australian airport gift shop Hockey Hall of Fame responds after Jack Hughes calls Olympic puck display ‘bulls***’Myth says sirens wrecked ships here. Today it’s one of the Mediterranean’s most tranquil seaside escapesKevin Spacey settles out of court with 3 men over alleged sexual assaultsEditor's PicksOpens in new window‘The quiet part out loud’: Former CIA officer on Kent’s resignation over Iran warOpens in new windowOpens in new windowEXCLUSIVE: Canadian teen’s Instagram chats reveal playbook for recruiting drug mules Opens in new windowOpens in new window‘Belittled and dismissed’: How Trump’s leadership style is impacting the war in IranOpens in new windowOpens in new windowOpens in new windowOpens in new windowOpens in new windowThe Epstein FilesOpens in new windowHave we seen the last of the Epstein files? Lawmakers and victims want more releasedOpens in new windowOpens in new windowDemocrats storm out of U.S. Justice Department leaders’ briefing on the Epstein filesOpens in new windowOpens in new windowBank of America settles Epstein accusers’ lawsuit Opens in new windowOpens in new windowSarah Ferguson publicly criticized Epstein. In private, she apologized to her ‘supreme friend’Opens in new windowIn PicturesThis ‘ultra rare’ condo in Toronto is up for…",
                        "html": "<!DOCTYPE html><html lang=\"en\" dir=\"ltr\"><head><link rel=\"preconnect\" href=\"https://tru.am\"/><link rel=\"dns-prefetch\" href=\"https://tru.am\"/><link rel=\"preconnect\" href=\"https://cdn.confiant-integrations.net\"/><link rel=\"dns-prefetch\" href=\"https://cdn.confiant-integrations.net\"/><link rel=\"preconnect\" href=\"https://sb.scorecardresearch.com\"/><link rel=\"dns-prefetch\" href=\"https://sb.scorecardresearch.com\"/><link rel=\"preconnect\" href=\"https://c.amazon-adsystem.com\"/><link rel=\"dns-prefetch\" href=\"https://c.amazon-adsystem.com\"/><link rel=\"preconnect\" href=\"https://cdn.optimizely.com\"/><link rel=\"dns-prefetch\" href=\"https://cdn.optimizely.com\"/><link rel=\"preconnect\" href=\"https://cdn.permutive.com\"/><link rel=\"dns-prefetch\" href=\"https://cdn.permutive.com\"/><link rel=\"preconnect\" href=\"https://identity.mparticle.com\"/><link rel=\"dns-prefetch\" href=\"https://identity.mparticle.com\"/><link rel=\"preconnect\" href=\"https://jssdkcdns.mparticle.com\"/><link rel=\"dns-prefetch\" href=\"https://jssdkcdns.mparticle.com\"/><link rel=\"preconnect\" href=\"https://micro.rubiconproject.com\"/><link rel=\"dns-prefetch\" href=\"https://micro.rubiconproject.com\"/><link rel=\"preconnect\" href=\"https://cdn.confiant-integrations.net\"/><link rel=\"dns-prefetch\" href=\"https://cdn.confiant-integrations.net\"/><link rel=\"preconnect\" href=\"https://securepubads.g.doubleclick.net\"/><link rel=\"dns-prefetch\" href=\"https://securepubads.g.doubleclick.net\"/><link rel=\"preconnect\" href=\"https://googleads.g.doubleclick.net\"/><link rel=\"dns-prefetch\" href=\"https://googleads.g.doubleclick.net\"/><link rel=\"preconnect\" href=\"https://pagead2.googlesyndication.com\"/><link rel=\"dns-prefetch\" href=\"https://pagead2.googlesyndication.com\"/><link rel=\"preconnect\" href=\"https://s.ntv.io\"/><link rel=\"dns-prefetch\" href=\"https://s.ntv.io\"/><link rel=\"preconnect\" href=\"https://static.chartbeat.com\"/><link rel=\"dns-prefetch\" href=\"https://static.chartbeat.com\"/><link rel=\"preconnect\" href=\"https://config.aps.amazon-adsystem.com\"/><link rel=\"dns-prefetch\" href=\"https://config.aps.amazon-adsystem.com\"/><link rel=\"preconnect\" href=\"https://cdn.jsdelivr.net\"/><link rel=\"dns-prefetch\" href=\"https://cdn.jsdelivr.net\"/><link rel=\"preconnect\" href=\"https://s.go-mpulse.net\"/><link rel=\"dns-prefetch\" href=\"https://s.go-mpulse.net\"/><link rel=\"preconnect\" href=\"https://www.googletagmanager.com\"/><link rel=\"dns-prefetch\" href=\"https://www.googletagmanager.com\"/><link rel=\"preconnect\" href=\"https://pixel.tapad.com\"/><link rel=\"dns-prefetch\" href=\"https://pixel.tapad.com\"/><link rel=\"preconnect\" href=\"https://api.permutive.com\"/><link rel=\"dns-prefetch\" href=\"https://api.permutive.com\"/><link rel=\"preconnect\" href=\"https://www.queryly.com\"/><link rel=\"dns-prefetch\" href=\"https://www.queryly.com\"/><link rel=\"preconnect\" href=\"https://widgets.sports.bellmedia.ca\"/><link rel=\"dns-prefetch\" href=\"https://widgets.sports.bellmedia.ca\"/><link rel=\"preconnect\" href=\"https://jadserve.postrelease.com\"/><link rel=\"dns-prefetch\" href=\"https://jadserve.postrelease.com\"/><link rel=\"preconnect\" href=\"https://s3.us-west-2.amazonaws.com\"/><link rel=\"dns-prefetch\" href=\"https://s3.us-west-2.amazonaws.com\"/><link rel=\"preconnect\" href=\"https://tpc.googlesyndication.com\"/><link rel=\"dns-prefetch\" href=\"https://tpc.googlesyndication.com\"/><link rel=\"preconnect\" href=\"https://s0.2mdn.net\"/><link rel=\"dns-prefetch\" href=\"https://s0.2mdn.net\"/><link rel=\"preconnect\" href=\"https://www.googletagservices.com\"/><link rel=\"dns-prefetch\" href=\"https://www.googletagservices.com\"/><link rel=\"preconnect\" href=\"https://ad.doubleclick.net\"/><link rel=\"dns-prefetch\" href=\"https://ad.doubleclick.net\"/><link rel=\"preconnect\" href=\"https://eus.rubiconproject.com\"/><link rel=\"dns-prefetch\" href=\"https://eus.rubiconproject.com\"/><link rel=\"preconnect\" href=\"https://ib.adnxs.com\"/><link rel=\"dns-prefetch\" href=\"https://ib.adnxs.com\"/><link rel=\"preconnect\" href=\"https://prebid-server.rubiconproject.com\"/><link rel=\"dns-prefetch\" href=\"https://prebid-server.rubiconproject.com\"/><link rel=\"preconnect\" href=\"https://assets.a-mo.net\"/><link rel=\"dns-prefetch\" href=\"https://assets.a-mo.net\"/><link rel=\"preconnect\" href=\"https://d6vbkv8rsyksv.cloudfront.net\"/><link rel=\"dns-prefetch\" href=\"https://d6vbkv8rsyksv.cloudfront.net\"/><link rel=\"preconnect\" href=\"https://cdn.viafoura.net\"/><link rel=\"dns-prefetch\" href=\"https://cdn.viafoura.net\"/><link rel=\"preconnect\" href=\"https://api.viafoura.co\"/><link rel=\"dns-prefetch\" href=\"https://api.viafoura.co\"/><link rel=\"preconnect\" href=\"https://cdn-magiclinks.trackonomics.net\"/><link rel=\"dns-prefetch\" href=\"https://cdn-magiclinks.trackonomics.net\"/><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/><meta charset=\"UTF-8\"/><link rel=\"icon\" type=\"image/x-icon\" href=\"/pf/resources/images/ctvnews/favicon.ico?d=203\"/><title>CTV News – Breaking News and Video, Canada News Today</title><meta property=\"og:title\" content=\"CTV News – Breaking News and Video, Canada News Today\"/><meta name=\"twitter:title\" content=\"CTV News – Breaking News and Video, Canada News Today\"/><meta property=\"og:image\" content=\"https://www.ctvnews.ca/resizer/v2/https%3A%2F%2Fstatic.themebuilder.aws.arc.…",
                        "status_code": 200,
                        "final_url": "https://www.ctvnews.ca:443/"
                    }
                ],
                "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": 304,
                "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": "3.33.200.62",
                        "asn": "AS16509",
                        "as_name": "Amazon.com, Inc.",
                        "as_domain": "amazon.com",
                        "country_code": "US",
                        "country": "United States",
                        "region": "",
                        "city": "",
                        "flags": [],
                        "highlights": [
                            "IPinfo resolved the primary IP to US on AS16509."
                        ],
                        "citations": [
                            {
                                "title": "IPinfo IP enrichment",
                                "url": "https://ipinfo.io/developers",
                                "host": "ipinfo.io",
                                "snippet": "Primary IP 3.33.200.62 geolocates to US.",
                                "source_type": "ip_enrichment"
                            }
                        ]
                    },
                    "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 3.33.200.62 geolocates to US.",
                        "source_type": "ip_enrichment"
                    }
                ],
                "highlights": [
                    "IPinfo resolved the primary IP to US on AS16509."
                ],
                "resolved_ips": [
                    "3.33.200.62",
                    "75.2.120.248"
                ],
                "primary_ip": "3.33.200.62",
                "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 AS16509.",
                    "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 3.33.200.62 geolocates to US.",
                    "source_type": "ip_enrichment"
                }
            ],
            "urlscan": {
                "domain": "ctvnews.ca",
                "status": "error",
                "submitted_at": "2026-03-19T14:29:08+00:00",
                "completed_at": null,
                "last_checked_at": "2026-03-19T14:29:08+00:00",
                "last_error": "Rate limit for 'public' exceeded. Limit is 500 per hour. Reset in 1850 seconds.",
                "submitted_url": "https://ctvnews.ca/",
                "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": "post-crawl",
                "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": "ca",
                    "registered_suffix": "ca",
                    "class": "high_confidence",
                    "reserved": false
                },
                "signals": {
                    "trust_score": 0,
                    "quality_score": 0,
                    "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": 8425,
                    "internal_links_count": 198,
                    "site_name": "CTV News",
                    "title": "CTV News – Breaking News and Video, Canada News Today",
                    "is_tracked": false
                }
            },
            "cooldown": {
                "empty_attempts": 1,
                "next_allowed_at": "2026-03-26T14:29:10+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": "post-crawl"
            },
            "debug": {
                "top_supporting_facts": [],
                "top_positive_facts": [],
                "ignored_candidates": [],
                "budget_ms": 4200,
                "search_budget_ms": 1600,
                "review_budget_ms": 2600,
                "search_mode": "post-crawl",
                "query_cap": 2,
                "provider_cap": 1,
                "result_cap": 6,
                "review_document_cap": 4,
                "reason": "post-crawl",
                "priority": 92,
                "eligibility_decision": "run_normal",
                "provider_statuses": {
                    "safebrowsing": "disabled",
                    "abuseipdb": "quota_exhausted",
                    "ipinfo": "ok",
                    "censys": "disabled",
                    "sslmate": "error"
                }
            },
            "last_good": {
                "checked_at": "2026-03-19T14:29:10+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 AS16509.",
                        "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 3.33.200.62 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 · 68%",
                "tone": "unknown",
                "detail": "The highest raw tag match from the heuristic engine before visibility thresholds and manual overrides."
            },
            {
                "label": "Trust score",
                "value": "48/100",
                "tone": "caution",
                "detail": "Confidence derived from authority, crawl quality, stability, and risk signals."
            },
            {
                "label": "Authority score",
                "value": "33/100",
                "tone": "spam",
                "detail": "A higher authority score usually means broader reputation and backlink confidence."
            },
            {
                "label": "Spam risk",
                "value": "7/100",
                "tone": "good",
                "detail": "Lower is better. This blends spam indicators with false-positive protections for legitimate sites."
            },
            {
                "label": "Quality score",
                "value": "21/100",
                "tone": "spam",
                "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": "0/100",
                "tone": "good",
                "detail": "Lower is better. This reflects phishing, drainer, fake-support, fake-shop, and malware signals."
            },
            {
                "label": "Infrastructure risk",
                "value": "2/100",
                "tone": "good",
                "detail": "Lower is better. This reflects the IP, registrar, and nameserver neighbourhood seen by the crawler."
            },
            {
                "label": "Evidence confidence",
                "value": "40/100",
                "tone": "caution",
                "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": "25.4 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": "226",
                        "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": "9",
                        "tone": "unknown",
                        "detail": "Broader backlink evidence usually improves confidence."
                    },
                    {
                        "label": "Referring domains",
                        "value": "9",
                        "tone": "caution",
                        "detail": "Unique linking domains are more useful than raw link volume."
                    },
                    {
                        "label": "Organic keywords",
                        "value": "18",
                        "tone": "unknown",
                        "detail": "Search footprint helps distinguish real sites from thin shells."
                    },
                    {
                        "label": "Indexed pages",
                        "value": "1",
                        "tone": "unknown",
                        "detail": "Larger index coverage usually means more evidence to classify from."
                    },
                    {
                        "label": "Brand strength",
                        "value": "8/100",
                        "tone": "spam",
                        "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": "301",
                        "tone": "good",
                        "detail": "Healthy responses make classification more reliable."
                    },
                    {
                        "label": "HTTPS / speed",
                        "value": "HTTPS OK · 4,067 ms",
                        "tone": "caution",
                        "detail": "Slow or broken technical signals weaken confidence."
                    },
                    {
                        "label": "Content words",
                        "value": "0",
                        "tone": "unknown",
                        "detail": "Thin pages are harder to trust and easier to manipulate."
                    },
                    {
                        "label": "Schema / structure",
                        "value": "0 schema · no meta · no H1",
                        "tone": "unknown",
                        "detail": "Structured markup and basic on-page hygiene improve quality confidence."
                    },
                    {
                        "label": "Links on page",
                        "value": "0 internal · 0 external",
                        "tone": "caution",
                        "detail": "Link patterns help detect thin directories and promo pages."
                    },
                    {
                        "label": "Page speed / mobile",
                        "value": "43/100 · 34/100",
                        "tone": "caution",
                        "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": [
            "Established domain age: 25.4 years.",
            "Low registrar / ownership churn with solid registry stability."
        ],
        "risks": [
            "External evidence was mixed or sparse, so the tag model keeps an uncertainty buffer instead of overcommitting."
        ]
    },
    "traffic_confidence": 18,
    "whois": {
        "current": {
            "id": 36255,
            "domain": "ctvnews.ca",
            "source_type": "rdap",
            "rdap_url": "https://rdap.ca.fury.ca/rdap/domain/ctvnews.ca",
            "registrar_name": "MarkMonitor International Canada Ltd.",
            "registrar_handle": "not applicable",
            "registrant_name": "Bell Canada",
            "registrant_org": "Bell Canada",
            "registrant_country": "",
            "registrant_email": "trademarks@bell.ca",
            "abuse_email": "abusecomplaints@markmonitor.com",
            "created_date": "2000-11-09 11:27:07",
            "updated_date": "2025-08-25 21:29:01",
            "expires_date": "2026-12-01 05:00:00",
            "nameservers_json": "[\"pdns1.ultradns.net\",\"pdns2.ultradns.net\",\"pdns3.ultradns.org\",\"pdns4.ultradns.org\",\"pdns5.ultradns.info\",\"pdns6.ultradns.co.uk\"]",
            "status_json": "[\"client delete prohibited\",\"client transfer prohibited\",\"client update prohibited\"]",
            "dnssec": "unsigned",
            "privacy_protected": 0,
            "content_hash": "fb948b26707654f21453fd08a85e70d7bf9ff59e400638fe96e97281eb2ce8c2",
            "history_count": 1,
            "last_checked_at": "2026-04-05 04:58:55",
            "last_changed_at": "2026-03-19 14:29:07",
            "created_at": "2026-03-19 14:29:08",
            "updated_at": "2026-04-05 04:58:55"
        },
        "history": [
            {
                "id": 37082,
                "domain": "ctvnews.ca",
                "source_type": "rdap",
                "registrar_name": "MarkMonitor International Canada Ltd.",
                "registrar_handle": "not applicable",
                "registrant_name": "Bell Canada",
                "registrant_org": "Bell Canada",
                "registrant_country": "",
                "registrant_email": "trademarks@bell.ca",
                "abuse_email": "abusecomplaints@markmonitor.com",
                "created_date": "2000-11-09 11:27:07",
                "updated_date": "2025-08-25 21:29:01",
                "expires_date": "2026-12-01 05:00:00",
                "nameservers_json": "[\"pdns1.ultradns.net\",\"pdns2.ultradns.net\",\"pdns3.ultradns.org\",\"pdns4.ultradns.org\",\"pdns5.ultradns.info\",\"pdns6.ultradns.co.uk\"]",
                "status_json": "[\"client delete prohibited\",\"client transfer prohibited\",\"client update prohibited\"]",
                "dnssec": "unsigned",
                "privacy_protected": 0,
                "content_hash": "fb948b26707654f21453fd08a85e70d7bf9ff59e400638fe96e97281eb2ce8c2",
                "checked_at": "2026-03-19 14:29:07",
                "change_summary": "Initial WHOIS snapshot captured.",
                "created_at": "2026-03-19 14:29:07"
            }
        ],
        "signals": {
            "age_years": 25.4,
            "days_to_expiry": 226,
            "days_since_last_registry_update": 235,
            "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": 6,
            "status_count": 3
        }
    },
    "discovered_domain": {
        "id": 158086,
        "domain": "ctvnews.ca",
        "first_seen_at": "2026-03-16 15:36:01",
        "last_crawled_at": "2026-04-05 05:00:41",
        "last_title": null,
        "last_http_status": 301,
        "discovered_from_domain": "hbs.edu",
        "depth": 0,
        "backlinks_count": 9,
        "rating_cache": 24,
        "spam_score": 10,
        "risk_label": "good",
        "category_name": "Business",
        "primary_country_code": "CA",
        "internal_links_count": 0,
        "external_links_count": 0,
        "social_profiles_count": 0,
        "content_word_count": 0,
        "title_quality_score": 0,
        "has_meta_description": 0,
        "has_h1": 0,
        "language_code": "",
        "response_time_ms": 4067,
        "robots_status": 0,
        "sitemap_status": 0,
        "sitemap_total_urls": 0,
        "quality_score": 21,
        "site_name": "",
        "canonical_domain": "",
        "favicon_present": 0,
        "schema_org_count": 0,
        "noindex_detected": 0,
        "feed_links_count": 0,
        "https_working": 1,
        "estimated_authority_score": 25,
        "trust_score": 45,
        "nsfw_score": 0,
        "overall_rank_estimate": 8034223,
        "primary_tag": "Uncertain",
        "tag_codes": "Uncertain",
        "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": 0,
        "legitimacy_score": 30,
        "infrastructure_risk_score": 2,
        "score_confidence": 27,
        "tag_confidence": 30,
        "category_confidence": 12,
        "deep_crawl_pages": 0,
        "resolved_ip": "3.33.200.62",
        "category_candidates_json": "[{\"category\":\"General\",\"score\":17}]",
        "page_signals_json": "[]",
        "score_reasons_json": "[\"Category evidence stayed thin, so the output was softened to a broader classification.\",\"Low evidence confidence now reduces how high the public rating can climb.\"]",
        "route_domain": "ctvnews.ca",
        "display_domain": "ctvnews.ca"
    },
    "explainability": {
        "summary": "ctvnews.ca currently scores 50/100. The score is being shaped by a mixed signal profile rather than one dominant factor. 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": "28/100"
            },
            {
                "label": "Traffic confidence",
                "value": "Low confidence",
                "tone": "risk",
                "detail": "18/100"
            },
            {
                "label": "Crawler access",
                "value": "Clean visibility",
                "tone": "good",
                "detail": null
            }
        ],
        "weighted_contributions": [
            {
                "label": "Quality system",
                "points": "+5.8",
                "tone": "risk",
                "detail": "Technical quality, crawl depth, page structure, and implementation hygiene. Current subsystem score: 17/100."
            },
            {
                "label": "Reputation system",
                "points": "+12.6",
                "tone": "risk",
                "detail": "Authority, search visibility, reach, engagement, and registry stability. Current subsystem score: 37/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."
            }
        ],
        "evidence_cards": [
            {
                "label": "Authority and trust",
                "value": "33/100 · trust 47/100",
                "tone": "risk",
                "detail": "52 monthly visitors, 18 organic keywords, brand completeness 8/100, engagement 65/100."
            },
            {
                "label": "Backlink and search evidence",
                "value": "9 referring domains",
                "tone": "good",
                "detail": "9 backlinks across 9 referring domains. Diversity 96/100; spam penalty 2."
            },
            {
                "label": "Registry and domain stability",
                "value": "25.4 years old",
                "tone": "good",
                "detail": "Stability 100/100 · age 25.4 years · registrar MarkMonitor International Canada Ltd. · expires in 226 days."
            },
            {
                "label": "Safety and fraud posture",
                "value": "Safety 100/100 · fraud 0/100",
                "tone": "good",
                "detail": "Primary tag Uncertain · safety 100/100 · fraud 0/100."
            }
        ],
        "positives": [
            "Established domain age: 25.4 years.",
            "Low registrar / ownership churn with solid registry stability.",
            "Registry history looks stable, which supports legitimacy and trust.",
            "The domain has been registered for years, which usually improves trust confidence.",
            "HTTPS is working, so the site clears a basic transport-security check.",
            "Backlink diversity looks broad enough to strengthen authority confidence."
        ],
        "risks": [
            "External evidence was mixed or sparse, so the tag model keeps an uncertainty buffer instead of overcommitting.",
            "Traffic and reach estimates are still low confidence, so commercial scale signals may move after more evidence is collected."
        ],
        "freshness": [
            {
                "label": "Crawl evidence",
                "value": "2026-04-05 05:00:41",
                "tone": "risk",
                "detail": "Crawl and page content sample. Age: 13d ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-04-05 04:58:55",
                "tone": "risk",
                "detail": "Registry profile and stability signals. Age: 13d ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-18 20:30:48",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-18 20:30:48",
                "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": 50,
        "fraud_clamp_penalty": 0,
        "final_score": 50
    },
    "insight_snapshot": {
        "version": 1,
        "generated_at": "2026-04-18T20:30:48+00:00",
        "domain": "ctvnews.ca",
        "display_name": "ctvnews.ca",
        "is_tracked": false,
        "is_estimated": true,
        "overall_score": 50,
        "authority_score": 33,
        "trust_score": 47,
        "safety_score": 100,
        "fraud_score": 0,
        "confidence_score": 28,
        "traffic_confidence": 18,
        "last_crawled_at": "2026-04-05 05:00:41",
        "crawl_blocked": false,
        "summary": "ctvnews.ca currently scores 50/100. The score is being shaped by a mixed signal profile rather than one dominant factor. 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": "28/100"
            },
            {
                "label": "Traffic confidence",
                "value": "Low confidence",
                "tone": "risk",
                "detail": "18/100"
            },
            {
                "label": "Crawler access",
                "value": "Clean visibility",
                "tone": "good",
                "detail": null
            }
        ],
        "top_positive_signals": [
            "Established domain age: 25.4 years.",
            "Low registrar / ownership churn with solid registry stability.",
            "Registry history looks stable, which supports legitimacy and trust.",
            "The domain has been registered for years, which usually improves trust confidence.",
            "HTTPS is working, so the site clears a basic transport-security check."
        ],
        "top_risk_signals": [
            "External evidence was mixed or sparse, so the tag model keeps an uncertainty buffer instead of overcommitting.",
            "Traffic and reach estimates are still low confidence, so commercial scale signals may move after more evidence is collected."
        ],
        "freshness": [
            {
                "label": "Crawl evidence",
                "value": "2026-04-05 05:00:41",
                "tone": "risk",
                "detail": "Crawl and page content sample. Age: 13d ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-04-05 04:58:55",
                "tone": "risk",
                "detail": "Registry profile and stability signals. Age: 13d ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-18 20:30:48",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-18 20:30:48",
                "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": "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-19T10:58:17+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/ctvnews.ca/refresh",
        "isGuestCooldown": false,
        "cooldownSeconds": 0
    },
    "urlscan_report": {
        "domain": "ctvnews.ca",
        "status": "error",
        "submitted_at": "2026-03-19T14:29:08+00:00",
        "completed_at": null,
        "last_checked_at": "2026-03-19T14:29:08+00:00",
        "last_error": "Rate limit for 'public' exceeded. Limit is 500 per hour. Reset in 1850 seconds.",
        "submitted_url": "https://ctvnews.ca/",
        "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
    }
}