{
    "ready": true,
    "site": {
        "id": 0,
        "domain": "northernfitness.ca",
        "display_name": "northernfitness.ca",
        "primary_country_code": "CA",
        "category_name": "Business"
    },
    "metrics": {
        "global_rank": 3181,
        "country_rank": 52,
        "category_rank": 5,
        "daily_pageviews_per_visitor": 2.97,
        "daily_time_on_site_seconds": 192,
        "bounce_rate": 45.7,
        "search_visits_percent": 29.29,
        "total_sites_linking_in": 1,
        "monthly_unique_visitors": 44,
        "recorded_at": "2026-04-01 17:59:34"
    },
    "audit": {
        "score": 36
    },
    "traffic_sources": {
        "direct_percent": 28.79,
        "search_percent": 28.92,
        "social_percent": 5.96,
        "referral_percent": 15.47,
        "email_percent": 7.66,
        "paid_percent": 13.2
    },
    "seo_profile": {
        "backlinks_total": 1,
        "referring_domains": 1,
        "dofollow_backlinks_percent": 100,
        "organic_keywords": 12,
        "indexed_pages": 1,
        "page_speed_score": 81,
        "mobile_friendliness_score": 44,
        "authority_score": 15,
        "spam_risk_score": 10
    },
    "crawl_report": {
        "robots_status": 0,
        "sitemap_status": 0,
        "sitemap_total_urls": 0,
        "crawl_blocked": true,
        "crawl_blocked_by": "Cloudflare",
        "crawl_blocked_reason": "Cloudflare challenge or bot protection blocked the crawler.",
        "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.",
            "Cloudflare limited the homepage crawl: Cloudflare challenge or bot protection blocked the crawler."
        ],
        "created_at": "2026-04-01 17:59:34"
    },
    "keywords": [
        {
            "keyword": "northernfitness.ca",
            "position": 30,
            "search_engine": "Estimated",
            "checked_at": "2026-04-15 20:12:54",
            "is_estimated": true
        },
        {
            "keyword": "northernfitness.ca business",
            "position": 32,
            "search_engine": "Estimated",
            "checked_at": "2026-04-15 20:12:54",
            "is_estimated": true
        },
        {
            "keyword": "northernfitness.ca reviews",
            "position": 34,
            "search_engine": "Estimated",
            "checked_at": "2026-04-15 20:12:54",
            "is_estimated": true
        },
        {
            "keyword": "northernfitness",
            "position": 36,
            "search_engine": "Estimated",
            "checked_at": "2026-04-15 20:12:54",
            "is_estimated": true
        }
    ],
    "rating": {
        "overall": 42,
        "label": "Average",
        "breakdown": [
            {
                "label": "Technical foundation",
                "score": 4,
                "max": 18
            },
            {
                "label": "Authority & trust",
                "score": 5,
                "max": 30
            },
            {
                "label": "Reach & market presence",
                "score": 1,
                "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": 4,
                "max": 6
            },
            {
                "label": "Quality system",
                "score": 22,
                "max": 100
            },
            {
                "label": "Reputation system",
                "score": 28,
                "max": 100
            },
            {
                "label": "Safety system",
                "score": 100,
                "max": 100
            },
            {
                "label": "Evidence confidence",
                "score": 12,
                "max": 100
            },
            {
                "label": "External intelligence",
                "score": 50,
                "max": 100
            }
        ],
        "authority_score": 15,
        "quality_score": 22,
        "reputation_score": 28,
        "safety_score": 100,
        "confidence_score": 12,
        "fraud_score": 0,
        "authority_signals": {
            "backlinks": 1,
            "referring_domains": 1,
            "organic_keywords": 12,
            "indexed_pages": 1,
            "monthly_visitors": 44,
            "global_rank": 3181,
            "engagement_score": 65,
            "crawl_quality_score": 30,
            "brand_completeness_score": 8,
            "link_diversity_score": 92,
            "technical_reliability_score": 46,
            "whois_score": 70,
            "whois_age_years": 7.1,
            "whois_stability_score": 100,
            "spam_penalty": 0
        },
        "whois_signals": {
            "age_years": 7.1,
            "days_to_expiry": 3252,
            "days_since_last_registry_update": 61,
            "stability_score": 100,
            "registrar_changes": 0,
            "ownership_changes": 0,
            "nameserver_changes": 0,
            "status_changes": 0,
            "history_entries": 2,
            "privacy_protected": false,
            "dnssec_enabled": false,
            "has_registrant_country": false,
            "registrant_country": "",
            "nameserver_count": 4,
            "status_count": 3
        }
    },
    "authority_score": 15,
    "trust_score": 45,
    "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: 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 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": "The site shows a reasonably trustworthy and stable profile.",
                "priority": 60,
                "score": 60,
                "match_percent": 60,
                "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": 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: 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 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": "The site shows a reasonably trustworthy and stable profile.",
                "priority": 60,
                "score": 60,
                "match_percent": 60,
                "threshold_band": "strong"
            },
            {
                "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": "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"
            }
        ],
        "nsfw_score": 0,
        "trust_score": 46,
        "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": "northernfitness.ca",
            "candidate_tag": "C",
            "checked_at": "2026-03-18T19:35:34+00:00",
            "status": "fresh",
            "snapshot_version": 5,
            "summary": "Showing the stored external intelligence snapshot. New search and review intelligence only runs after a visitor uses Refresh data manually.",
            "search_intelligence": {
                "queries": [
                    "\"northernfitness.ca\" -site:northernfitness.ca -site:www.northernfitness.ca",
                    "\"northernfitness.ca\" official site -site:northernfitness.ca -site:www.northernfitness.ca",
                    "\"northernfitness.ca\" wikipedia -site:northernfitness.ca -site:www.northernfitness.ca",
                    "\"northernfitness.ca\" reviews OR complaints -site:northernfitness.ca -site:www.northernfitness.ca",
                    "\"northernfitness.ca\" reputation OR scam OR legit OR safe -site:northernfitness.ca -site:www.northernfitness.ca",
                    "\"northernfitness.ca\" BBB OR LinkedIn OR Crunchbase OR \"Companies House\" OR wikipedia -site:northernfitness.ca -site:www.northernfitness.ca",
                    "northernfitness website -site:northernfitness.ca -site:www.northernfitness.ca",
                    "northernfitness company -site:northernfitness.ca -site:www.northernfitness.ca",
                    "northernfitness wikipedia -site:northernfitness.ca -site:www.northernfitness.ca",
                    "northernfitness reviews -site:northernfitness.ca -site:www.northernfitness.ca",
                    "northernfitness complaints -site:northernfitness.ca -site:www.northernfitness.ca",
                    "northernfitness trustpilot -site:northernfitness.ca -site:www.northernfitness.ca"
                ],
                "providers": [
                    "duckduckgo"
                ],
                "provider_result_counts": {
                    "duckduckgo": 0
                },
                "results_found": 1,
                "external_results_found": 0,
                "used_direct_fallback": true,
                "results": [
                    {
                        "provider": "direct-domain-fallback",
                        "url": "https://northernfitness.ca/",
                        "host": "northernfitness.ca",
                        "title": "Fitness and Gym Equipment Canada | Northern Fitness",
                        "snippet": "First-party fallback captured directly from the domain when public search engines returned no usable results.",
                        "is_direct_fallback": true,
                        "source_meta": {
                            "host": "northernfitness.ca",
                            "source_type": "official_site",
                            "label": "General web result",
                            "trust_weight": 55,
                            "evidence_weight": 26,
                            "noise_penalty": 0,
                            "requires_exact_domain_match": true,
                            "supports_positive_verdicts": false,
                            "supports_negative_verdicts": true,
                            "freshness_ttl_days": 21
                        },
                        "entity": {
                            "score": 98,
                            "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.",
                                "The site name or brand appears in the document."
                            ]
                        },
                        "query": "direct-fallback",
                        "rank": 1
                    }
                ],
                "source_mix": {
                    "official_site": 1
                },
                "entity_coverage_score": 98,
                "high_trust_result_count": 0,
                "exact_match_result_count": 1,
                "high_entity_result_count": 1,
                "query_hit_count": 1,
                "query_count": 12,
                "deadline_hit": true
            },
            "review_intelligence": {
                "documents_fetched": 1,
                "external_documents_fetched": 0,
                "documents": [
                    {
                        "provider": "direct-domain-fallback",
                        "url": "https://northernfitness.ca/",
                        "host": "northernfitness.ca",
                        "title": "Fitness and Gym Equipment Canada | Northern Fitness",
                        "snippet": "First-party fallback captured directly from the domain when public search engines returned no usable results.",
                        "is_direct_fallback": true,
                        "source_meta": {
                            "host": "northernfitness.ca",
                            "source_type": "official_site",
                            "label": "General web result",
                            "trust_weight": 55,
                            "evidence_weight": 26,
                            "noise_penalty": 0,
                            "requires_exact_domain_match": true,
                            "supports_positive_verdicts": false,
                            "supports_negative_verdicts": true,
                            "freshness_ttl_days": 21
                        },
                        "entity": {
                            "score": 98,
                            "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.",
                                "The site name or brand appears in the document."
                            ]
                        },
                        "query": "direct-fallback",
                        "rank": 1,
                        "body": "Fitness and Gym Equipment Canada | Northern Fitness Skip to content Spring Clearance Sale: Up to 60% Off Shop Now Language English English Français icon-X Close menu Spring Clearance Sale Shop All Strength Cardio Conditioning Recovery Open Box Deals Strength Dumbbells Dumbbells Dumbbell Sets Adjustable Dumbbells Dumbbell Accessories Benches Weight Benches Specialty Benches Bench Attachments Squat Racks Power Racks Half Racks & Stands Kettlebells Smith Machines Leg Machines Barbells Olympic Barbells Barbell Accessories Plates Olympic Weight Plates Bumper Plates Plate Sets Cable Machines Functional Trainers Home Gyms Storage Flooring Lifting Accessories BenchesPush harder and train better with a bench that supports every rep and every goal. Cardio Treadmills All Treadmills Motorized Treadmills Manual Treadmills Folding Treadmills Bikes Air Bikes Indoor Cycles Recumbent Bikes Upright Bikes Ellipticals Climbers & Steppers Cardio Accessories Rowers WaterRowers Air & Magnetic Rowers TreadmillsRun, sprint, or walk—our treadmills are built to match your pace and help you achieve your cardio goals. RowersPower through every stroke with rowers that combine full-body engagement with smooth, efficient design. Conditioning Reformers Balance & Stability Bands & Tubes Body Weight Medicine & Slam Balls Ropes Battle Ropes Jump Ropes Speed & Agility Sleds Rucking Footwear Rebounders Vibration Training Weighted Wearables Ankle & Wrist Weights RuckingStep up your conditioning game with rucking gear that adds resistance and intensity to every step. PilatesFind your balance and build strength with Pilates tools designed for precision and flow. Recovery Foam Rollers Massage Guns Massage Sticks Massage Balls Mobility Tools Stretching & Yoga Yoga Mats Yoga Accessories Inversion Tables Saunas Cold Plunges Red Light Therapy Massage GunsSoothe sore muscles and accelerate recovery with high-performance massage guns for every athlete. Red Light TherapyHarness the power of red light therapy to reduce fatigue, promote healing, and optimize recovery. Apparel All Apparel Training Shoes Brands Shop All 100+ Brands Altas Strength Aviron Balanced Body Centr COREFX Eleiko Force USA GORUCK HigherDose Hyperice Ironmaster Iron Neck JumpSport Keiser Life Fitness NOHRD NordicTrack NÜOBELL Orion PowerBlock Power Plate STEPR Therabody Technogym Torque Fitness TRUE Fitness WaterRower Exclusive to Us Orion REP Fitness Force USA Balanced Body GORUCK JumpSport Eleiko Aviron Pure Plank OrionFrom beginners to elite athletes, our equipment is crafted to support every rep, every step, and every goal. Reach for the stars—train with Orion. REP FitnessNo gimmicks, just serious strength gear. Built to last, trusted by lifters, and powered by innovative design for lasting performance and durability. Training Style Body Weight Weight Lifting High Intensity (HIIT) Pilates Crossfit Powerlifting Running Rucking Strongman Weight Loss Log in instagram Instagram Facebook LinkedIn Cart icon-X Close cart Order note Subtotal $0.00 Shipping and taxes calculated at checkout. Checkout Your cart is currently empty. icon-search Search Site navigation Northern Fitness Spring Clearance Sale Shop All Strength Cardio Conditioning Recovery Open Box Deals Strength Dumbbells Dumbbells Dumbbell Sets Adjustable Dumbbells Dumbbell Accessories Benches Weight Benches Specialty Benches Bench Attachments Squat Racks Power Racks Half Racks & Stands Kettlebells Smith Machines Leg Machines Barbells Olympic Barbells Barbell Accessories Plates Olympic Weight Plates Bumper Plates Plate Sets Cable Machines Functional Trainers…",
                        "html": "<!doctype html> <html class=\"no-js\" lang=\"en\" dir=\"ltr\"> <head> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MLLCRWPF');</script> <!-- End Google Tag Manager --> <script> class BotDetection { constructor() { this.allTestFunctions = ['testUserAgent', 'testChromeWindow', 'testPlugins', 'testAppVersion', 'testConnectionRtt', 'testSamsungBrowser']; } //* All Tests *// // User Agent testUserAgent() { if (/Headless/.test(window.navigator.userAgent)) { // Headless return 1; } else { // Not Headless return 0; } } // Window.Chrome testChromeWindow() { if (eval.toString().length == 33 && !window.chrome) { // Headless return 1; } else { // Not Headless return 0; } } // Notification Permissions testNotificationPermissions(callback) { if(navigator.permissions){ navigator.permissions.query({name:'notifications'}).then(function(permissionStatus) { if(Notification.permission === 'denied' && permissionStatus.state === 'prompt') { // Headless callback(1); } else { // Not Headless callback(0); } }); } else { callback(0); } } // No Plugins testPlugins() { let length = navigator.plugins.length; return length === 0 ? 1 : 0; } // App Version testAppVersion() { let appVersion = navigator.appVersion; return /headless/i.test(appVersion) ? 1 : 0; } // Connection Rtt testConnectionRtt() { let connection = navigator.connection; let connectionRtt = connection ? connection.rtt : undefined; if (connectionRtt === undefined) { return 0; // Flag doesn't even exists so just return NOT HEADLESS } else { return connectionRtt === 0 ? 1 : 0; } } testSamsungBrowser() { if(navigator.userAgent.match(/SamsungBrowser/i)) { return 0; } else { return 1; } } //* Main Functions *// getBotScore() { let score = 0; let testsRun = 0; // Notification Permissions test has to be done using Callbacks // That's why it's done separately from all the other tests. this.testNotificationPermissions(function(v){ score += v; testsRun++; //document.write(\"<p>testNotificationPermissions: \" + v + \"</p>\"); // This is only used for debugging }); // Loop through all functions and add their results together for(let i = 0; i < this.allTestFunctions.length; i++){ score += this[this.allTestFunctions[i]].apply(); testsRun++; //document.write(\"<p>\" + this.allTestFunctions[i] + \": \" + this[this.allTestFunctions[i]].apply()+ \"</p>\"); // This is only used for debugging } return score / testsRun; } } var botDetector = new BotDetection(); //checks for andriod web view if(navigator.userAgent.match(/wv/i)) { window.botScore = 0; } else { window.botScore = botDetector.getBotScore(); } </script> <script> // the below entries are for demo purposes // make sure you add entries to the array that are related to the store you are working on window.YETT_BLACKLIST = []; if(window.botScore && window.botScore > 0.34) { console.log('ee', 'bot detected'); window.isBot = true; window.YETT_BLACKLIST.push(/www\\.googletagmanager\\.com/); window.YETT_BLACKLIST.push(/googleads\\.g\\.doubleclick\\.net/); window.YETT_BLACKLIST.push(/www\\.googleoptimize\\.com/); window.YETT_BLACKLIST.push(/www\\.google-analytics\\.com/); window.YETT_BLACKLIST.push(/analytics\\.tiktok\\.com/); window.YETT_BLACKLIST.push(/connect\\.facebook\\.net/); window.YETT_BLACKLIST.push(/trekkie\\.storefront/); window.YETT_BLACKLIST.push(/conversion\\.js/); window.YETT_BLACKLIST.push(/code\\.jquery\\.com/); window.YETT_BLACKLIST.push(/cdn\\.intelligems\\.io/); window.YETT_BLACKLIST.push(/assets\\.cloudlift\\.app/); } !function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?e(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],e):e((t=\"undefined\"!=typeof globalThis?globalThis:t||self).yett={})}(this,(function(t){\"use strict\";var e=\"javascript/blocked\",r={blacklist:window.YETT_BLACKLIST,whitelist:window.YETT_WHITELIST},n={blacklisted:[]},i=function(t,n){return t&&(!n||n!==e)&&(!r.blacklist||r.blacklist.some((function(e){return e.test(t)})))&&(!r.whitelist||r.whitelist.every((function(e){return!e.test(t)})))},o=function(t){var e=t.getAttribute(\"src\");return r.blacklist&&r.blacklist.every((function(t){return!t.test(e)}))||r.whitelist&&r.whitelist.some((function(t){return t.test(e)}))},c=new MutationObserver((function(t){for(var r=0;r<t.length;r++)for(var o=t[r].addedNodes,c=function(t){var r=o[t];if(1===r.nodeType&&\"SCRIPT\"===r.tagName){var c=r.src,l=r.type;if(i(c,l)){n.blacklisted.push([r,r.type]),r.type=e;r.addEventListener(\"beforescriptexecute\",(function t(n){r.getAttribute(\"type\")===e&&n.preventDefault(),r.removeEventListener(\"beforescriptexecute\",t)})),r.parentElement&&r.parentElement.removeChild(r)}}},l=0;l<o.length;l++)c(l)}));function l(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function a(t){for(var e=1;e<arguments.length;e++){var r=null!=argum…",
                        "status_code": 200,
                        "final_url": "https://www.northernfitness.ca/"
                    }
                ],
                "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": 1547,
                "candidates_considered": 1,
                "fetch_success_rate": 100,
                "avg_source_trust": 55,
                "avg_entity_score": 98
            },
            "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": 98,
                "freshness_score": 18,
                "confidence": 23,
                "documents_fetched": 1,
                "external_documents_fetched": 0,
                "fact_count": 0,
                "avg_source_trust": 55,
                "avg_entity_score": 98,
                "fetch_success_rate": 100,
                "exact_match_score": 0,
                "query_coverage_score": 100,
                "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
            },
            "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": [
                    "External evidence remained inconclusive because diversity, exact matching, or confidence was still too weak."
                ]
            },
            "citations": [],
            "debug": {
                "top_supporting_facts": [],
                "top_positive_facts": [],
                "ignored_candidates": [],
                "budget_ms": 3000,
                "search_budget_ms": 3000,
                "review_budget_ms": 1500,
                "search_mode": "interactive-refresh",
                "query_cap": 12,
                "provider_cap": 2,
                "reason": "interactive-refresh",
                "priority": 75
            },
            "last_good": {
                "checked_at": "2026-03-18T19:35:34+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": [
                        "External evidence remained inconclusive because diversity, exact matching, or confidence was still too weak."
                    ]
                },
                "citations": []
            }
        },
        "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": "46/100",
                "tone": "caution",
                "detail": "Confidence derived from authority, crawl quality, stability, and risk signals."
            },
            {
                "label": "Authority score",
                "value": "15/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": "24/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": "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": "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": "7.1 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": "3,252",
                        "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": "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": "12",
                        "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": "200",
                        "tone": "good",
                        "detail": "Healthy responses make classification more reliable."
                    },
                    {
                        "label": "HTTPS / speed",
                        "value": "HTTPS OK · 1,021 ms",
                        "tone": "good",
                        "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": "81/100 · 44/100",
                        "tone": "caution",
                        "detail": "Better technical quality generally reduces low-effort site patterns."
                    },
                    {
                        "label": "Crawl access",
                        "value": "Cloudflare challenge",
                        "tone": "caution",
                        "detail": "Cloudflare challenge or bot protection blocked the crawler. Scores may be based on partial evidence."
                    }
                ]
            },
            {
                "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: 7.1 years.",
            "Low registrar / ownership churn with solid registry stability."
        ],
        "risks": [
            "Cloudflare limited the crawl: Cloudflare challenge or bot protection blocked the crawler.",
            "External evidence was mixed or sparse, so the tag model keeps an uncertainty buffer instead of overcommitting."
        ]
    },
    "traffic_confidence": 12,
    "whois": {
        "current": {
            "id": 3008,
            "domain": "northernfitness.ca",
            "source_type": "rdap",
            "rdap_url": "https://rdap.ca.fury.ca/rdap/domain/northernfitness.ca",
            "registrar_name": "Go Daddy Domains Canada, Inc",
            "registrar_handle": "not applicable",
            "registrant_name": "",
            "registrant_org": "",
            "registrant_country": "",
            "registrant_email": "",
            "abuse_email": "abuse@godaddy.com",
            "created_date": "2019-03-12 17:31:18",
            "updated_date": "2026-02-13 18:16:23",
            "expires_date": "2035-03-12 17:31:18",
            "nameservers_json": "[\"ns1.bdm.microsoftonline.com\",\"ns2.bdm.microsoftonline.com\",\"ns3.bdm.microsoftonline.com\",\"ns4.bdm.microsoftonline.com\"]",
            "status_json": "[\"client delete prohibited\",\"client transfer prohibited\",\"client update prohibited\"]",
            "dnssec": "unsigned",
            "privacy_protected": 0,
            "content_hash": "6461e9323430690bc9fc88efdf3156b54e37deaf698df5996c1a73698cd537fc",
            "history_count": 2,
            "last_checked_at": "2026-04-01 17:59:31",
            "last_changed_at": "2026-04-01 17:59:31",
            "created_at": "2026-03-15 20:17:17",
            "updated_at": "2026-04-01 17:59:31"
        },
        "history": [
            {
                "id": 77708,
                "domain": "northernfitness.ca",
                "source_type": "rdap",
                "registrar_name": "Go Daddy Domains Canada, Inc",
                "registrar_handle": "not applicable",
                "registrant_name": "",
                "registrant_org": "",
                "registrant_country": "",
                "registrant_email": "",
                "abuse_email": "abuse@godaddy.com",
                "created_date": "2019-03-12 17:31:18",
                "updated_date": "2026-02-13 18:16:23",
                "expires_date": "2035-03-12 17:31:18",
                "nameservers_json": "[\"ns1.bdm.microsoftonline.com\",\"ns2.bdm.microsoftonline.com\",\"ns3.bdm.microsoftonline.com\",\"ns4.bdm.microsoftonline.com\"]",
                "status_json": "[\"client delete prohibited\",\"client transfer prohibited\",\"client update prohibited\"]",
                "dnssec": "unsigned",
                "privacy_protected": 0,
                "content_hash": "6461e9323430690bc9fc88efdf3156b54e37deaf698df5996c1a73698cd537fc",
                "checked_at": "2026-04-01 17:59:31",
                "change_summary": "Periodic WHOIS snapshot refreshed with no major field changes.",
                "created_at": "2026-04-01 17:59:31"
            },
            {
                "id": 3210,
                "domain": "northernfitness.ca",
                "source_type": "rdap",
                "registrar_name": "Go Daddy Domains Canada, Inc",
                "registrar_handle": "not applicable",
                "registrant_name": "",
                "registrant_org": "",
                "registrant_country": "",
                "registrant_email": "",
                "abuse_email": "",
                "created_date": "2019-03-12 17:31:18",
                "updated_date": "2026-02-13 18:16:23",
                "expires_date": "2035-03-12 17:31:18",
                "nameservers_json": "[\"ns1.bdm.microsoftonline.com\",\"ns2.bdm.microsoftonline.com\",\"ns3.bdm.microsoftonline.com\",\"ns4.bdm.microsoftonline.com\"]",
                "status_json": "[\"client delete prohibited\",\"client transfer prohibited\",\"client update prohibited\"]",
                "dnssec": "unsigned",
                "privacy_protected": 0,
                "content_hash": "f1e914059bfe6aceef55e832cfa2eebbb44fa6fbb1a5e98a2d4c00660708051f",
                "checked_at": "2026-03-15 20:17:17",
                "change_summary": "Initial WHOIS snapshot captured.",
                "created_at": "2026-03-15 20:17:17"
            }
        ],
        "signals": {
            "age_years": 7.1,
            "days_to_expiry": 3252,
            "days_since_last_registry_update": 61,
            "stability_score": 100,
            "registrar_changes": 0,
            "ownership_changes": 0,
            "nameserver_changes": 0,
            "status_changes": 0,
            "history_entries": 2,
            "privacy_protected": false,
            "dnssec_enabled": false,
            "has_registrant_country": false,
            "registrant_country": "",
            "nameserver_count": 4,
            "status_count": 3
        }
    },
    "discovered_domain": {
        "id": 47573,
        "domain": "northernfitness.ca",
        "first_seen_at": "2026-03-15 16:06:04",
        "last_crawled_at": "2026-04-01 17:59:34",
        "last_title": null,
        "last_http_status": 200,
        "discovered_from_domain": "getstepr.com",
        "depth": 0,
        "backlinks_count": 1,
        "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": 1021,
        "robots_status": 0,
        "sitemap_status": 0,
        "sitemap_total_urls": 0,
        "quality_score": 24,
        "site_name": "",
        "canonical_domain": "",
        "favicon_present": 0,
        "schema_org_count": 0,
        "noindex_detected": 0,
        "feed_links_count": 0,
        "https_working": 1,
        "estimated_authority_score": 13,
        "trust_score": 44,
        "nsfw_score": 0,
        "overall_rank_estimate": 9549495,
        "primary_tag": "Uncertain",
        "tag_codes": "Uncertain,C,Blocked",
        "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": 1,
        "crawl_blocked_by": "Cloudflare",
        "crawl_blocked_reason": "Cloudflare challenge or bot protection blocked the crawler.",
        "safety_score": 100,
        "fraud_score": 0,
        "legitimacy_score": 30,
        "infrastructure_risk_score": 2,
        "score_confidence": 12,
        "tag_confidence": 10,
        "category_confidence": 12,
        "deep_crawl_pages": 0,
        "resolved_ip": "23.227.38.65",
        "category_candidates_json": "[{\"category\":\"General\",\"score\":17}]",
        "page_signals_json": "[]",
        "score_reasons_json": "[\"The crawler was partially blocked, so the verdict is based on weaker evidence than usual.\",\"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": "northernfitness.ca",
        "display_domain": "northernfitness.ca"
    },
    "explainability": {
        "summary": "northernfitness.ca currently scores 42/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 was partially blocked, which lowers confidence in some sections.",
        "badges": [
            {
                "label": "Profile",
                "value": "Estimated profile",
                "tone": "unknown",
                "detail": null
            },
            {
                "label": "Evidence confidence",
                "value": "Low confidence",
                "tone": "risk",
                "detail": "12/100"
            },
            {
                "label": "Traffic confidence",
                "value": "Low confidence",
                "tone": "risk",
                "detail": "12/100"
            },
            {
                "label": "Crawler access",
                "value": "Partially blocked",
                "tone": "caution",
                "detail": null
            }
        ],
        "weighted_contributions": [
            {
                "label": "Quality system",
                "points": "+7.5",
                "tone": "risk",
                "detail": "Technical quality, crawl depth, page structure, and implementation hygiene. Current subsystem score: 22/100."
            },
            {
                "label": "Reputation system",
                "points": "+9.5",
                "tone": "risk",
                "detail": "Authority, search visibility, reach, engagement, and registry stability. Current subsystem score: 28/100."
            },
            {
                "label": "Safety system",
                "points": "+32.0",
                "tone": "good",
                "detail": "Fraud, spam, and trust signals from infrastructure, crawl, and registry evidence. Current subsystem score: 100/100."
            },
            {
                "label": "Risk clamp",
                "points": "-7.0",
                "tone": "risk",
                "detail": "Safety thresholds capped the final score until the risk profile improves."
            }
        ],
        "evidence_cards": [
            {
                "label": "Authority and trust",
                "value": "15/100 · trust 45/100",
                "tone": "risk",
                "detail": "44 monthly visitors, 12 organic keywords, brand completeness 8/100, engagement 65/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": "7.1 years old",
                "tone": "good",
                "detail": "Stability 100/100 · age 7.1 years · registrar Go Daddy Domains Canada, Inc · expires in 3,252 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 · crawler visibility limited."
            }
        ],
        "positives": [
            "Established domain age: 7.1 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": [
            "Cloudflare limited the crawl: Cloudflare challenge or bot protection blocked the crawler.",
            "External evidence was mixed or sparse, so the tag model keeps an uncertainty buffer instead of overcommitting.",
            "The crawler was blocked or rate-limited, so multiple conclusions are based on partial evidence.",
            "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-01 17:59:34",
                "tone": "risk",
                "detail": "Crawl and page content sample. Age: 14d ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-04-01 17:59:31",
                "tone": "risk",
                "detail": "Registry profile and stability signals. Age: 14d ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-15 20:12:54",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-15 20:12:54",
                "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. Crawl access was limited, so this section is lower confidence.",
            "keywords": "Top keywords are estimated from crawl language, brand, category, and visibility signals until tracked keyword snapshots are stored. Crawl access was limited, so this section is lower confidence.",
            "history": "Rank history is estimated from the current profile because no stored history exists for this domain yet. Crawl access was limited, so projected trends should be treated cautiously."
        },
        "base_weighted_score": 49,
        "fraud_clamp_penalty": 7,
        "final_score": 42
    },
    "insight_snapshot": {
        "version": 1,
        "generated_at": "2026-04-15T20:12:54+00:00",
        "domain": "northernfitness.ca",
        "display_name": "northernfitness.ca",
        "is_tracked": false,
        "is_estimated": true,
        "overall_score": 42,
        "authority_score": 15,
        "trust_score": 45,
        "safety_score": 100,
        "fraud_score": 0,
        "confidence_score": 12,
        "traffic_confidence": 12,
        "last_crawled_at": "2026-04-01 17:59:34",
        "crawl_blocked": true,
        "summary": "northernfitness.ca currently scores 42/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 was partially blocked, which lowers confidence in some sections.",
        "badges": [
            {
                "label": "Profile",
                "value": "Estimated profile",
                "tone": "unknown",
                "detail": null
            },
            {
                "label": "Evidence confidence",
                "value": "Low confidence",
                "tone": "risk",
                "detail": "12/100"
            },
            {
                "label": "Traffic confidence",
                "value": "Low confidence",
                "tone": "risk",
                "detail": "12/100"
            },
            {
                "label": "Crawler access",
                "value": "Partially blocked",
                "tone": "caution",
                "detail": null
            }
        ],
        "top_positive_signals": [
            "Established domain age: 7.1 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": [
            "Cloudflare limited the crawl: Cloudflare challenge or bot protection blocked the crawler.",
            "External evidence was mixed or sparse, so the tag model keeps an uncertainty buffer instead of overcommitting.",
            "The crawler was blocked or rate-limited, so multiple conclusions are based on partial evidence.",
            "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-01 17:59:34",
                "tone": "risk",
                "detail": "Crawl and page content sample. Age: 14d ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-04-01 17:59:31",
                "tone": "risk",
                "detail": "Registry profile and stability signals. Age: 14d ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-15 20:12:54",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-15 20:12:54",
                "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-16T02:47:21+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/northernfitness.ca/refresh",
        "isGuestCooldown": false,
        "cooldownSeconds": 0
    },
    "urlscan_report": {
        "domain": "northernfitness.ca",
        "status": "idle",
        "submitted_at": null,
        "completed_at": null,
        "last_checked_at": null,
        "last_error": "",
        "submitted_url": "https://northernfitness.ca/",
        "uuid": "",
        "result_url": "",
        "api_result_url": "",
        "visibility": "public",
        "summary": "No urlscan.io report has been requested for this domain yet.",
        "report": [],
        "report_summary": [],
        "is_fresh": false,
        "can_retry": true,
        "poll_after_seconds": 20
    }
}