{
    "ready": true,
    "site": {
        "id": 0,
        "domain": "cactusstudios.ca",
        "display_name": "johnbiehler.com",
        "primary_country_code": "CA",
        "category_name": "Travel"
    },
    "metrics": {
        "global_rank": 27838,
        "country_rank": 428,
        "category_rank": 114,
        "daily_pageviews_per_visitor": 3.83,
        "daily_time_on_site_seconds": 348,
        "bounce_rate": 39.02,
        "search_visits_percent": 42.38,
        "total_sites_linking_in": 1,
        "monthly_unique_visitors": 118,
        "recorded_at": "2026-03-15 17:15:32"
    },
    "audit": {
        "score": 65
    },
    "traffic_sources": {
        "direct_percent": 19.55,
        "search_percent": 35.85,
        "social_percent": 15.62,
        "referral_percent": 7.59,
        "email_percent": 6.11,
        "paid_percent": 15.28
    },
    "seo_profile": {
        "backlinks_total": 1,
        "referring_domains": 1,
        "dofollow_backlinks_percent": 100,
        "organic_keywords": 76,
        "indexed_pages": 52,
        "page_speed_score": 94,
        "mobile_friendliness_score": 65,
        "authority_score": 40,
        "spam_risk_score": 20
    },
    "crawl_report": {
        "robots_status": 404,
        "sitemap_status": 404,
        "sitemap_total_urls": 0,
        "crawl_blocked": false,
        "crawl_blocked_by": "",
        "crawl_blocked_reason": "",
        "notes": [
            "No H1 heading was detected.",
            "robots.txt could not be confirmed.",
            "Sitemap could not be confirmed."
        ],
        "created_at": "2026-03-15 17:15:32"
    },
    "keywords": [
        {
            "keyword": "johnbiehler.com",
            "position": 20,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 15:10:28",
            "is_estimated": true
        },
        {
            "keyword": "johnbiehler.com travel",
            "position": 22,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 15:10:28",
            "is_estimated": true
        },
        {
            "keyword": "johnbiehler.com reviews",
            "position": 24,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 15:10:28",
            "is_estimated": true
        },
        {
            "keyword": "johnbiehler",
            "position": 26,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 15:10:28",
            "is_estimated": true
        },
        {
            "keyword": "cactusstudios",
            "position": 28,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 15:10:28",
            "is_estimated": true
        },
        {
            "keyword": "printing",
            "position": 30,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 15:10:28",
            "is_estimated": true
        },
        {
            "keyword": "technology",
            "position": 32,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 15:10:28",
            "is_estimated": true
        },
        {
            "keyword": "travel",
            "position": 34,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 15:10:28",
            "is_estimated": true
        }
    ],
    "rating": {
        "overall": 14,
        "label": "Weak",
        "breakdown": [
            {
                "label": "Technical foundation",
                "score": 8,
                "max": 18
            },
            {
                "label": "Authority & trust",
                "score": 12,
                "max": 30
            },
            {
                "label": "Reach & market presence",
                "score": 3,
                "max": 18
            },
            {
                "label": "Search visibility",
                "score": 3,
                "max": 12
            },
            {
                "label": "Engagement & retention",
                "score": 9,
                "max": 10
            },
            {
                "label": "Channels & diversification",
                "score": 5,
                "max": 6
            },
            {
                "label": "Registry stability",
                "score": 5,
                "max": 6
            },
            {
                "label": "Quality system",
                "score": 44,
                "max": 100
            },
            {
                "label": "Reputation system",
                "score": 45,
                "max": 100
            },
            {
                "label": "Safety system",
                "score": 0,
                "max": 100
            },
            {
                "label": "Evidence confidence",
                "score": 1,
                "max": 100
            },
            {
                "label": "External intelligence",
                "score": 52,
                "max": 100
            },
            {
                "label": "API intelligence",
                "score": 54,
                "max": 100
            }
        ],
        "authority_score": 40,
        "quality_score": 44,
        "reputation_score": 45,
        "safety_score": 0,
        "confidence_score": 1,
        "fraud_score": 0,
        "authority_signals": {
            "backlinks": 1,
            "referring_domains": 1,
            "organic_keywords": 76,
            "indexed_pages": 52,
            "monthly_visitors": 118,
            "global_rank": 27838,
            "engagement_score": 78,
            "crawl_quality_score": 57,
            "brand_completeness_score": 48,
            "link_diversity_score": 92,
            "technical_reliability_score": 58,
            "whois_score": 72,
            "whois_age_years": 11.2,
            "whois_stability_score": 100,
            "spam_penalty": 0
        },
        "whois_signals": {
            "age_years": 11.2,
            "days_to_expiry": 277,
            "days_since_last_registry_update": 123,
            "stability_score": 100,
            "registrar_changes": 0,
            "ownership_changes": 0,
            "nameserver_changes": 0,
            "status_changes": 0,
            "history_entries": 1,
            "privacy_protected": false,
            "dnssec_enabled": false,
            "has_registrant_country": false,
            "registrant_country": "",
            "nameserver_count": 2,
            "status_count": 3
        }
    },
    "authority_score": 40,
    "trust_score": 8,
    "domain_tags": {
        "primary_tag": "Uncertain",
        "primary_tag_score": 68,
        "primary_candidate": "Uncertain",
        "primary_candidate_score": 68,
        "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": 68,
                "score": 68,
                "match_percent": 68,
                "threshold_band": "strong"
            },
            {
                "code": "C",
                "label": "Caution",
                "tone": "caution",
                "description": "Signals are mixed or weak, so this domain should be treated carefully.",
                "reason": "Review carefully: low trust score. Showing the stored external intelligence snapshot. New search and review intelligence only runs after a visitor uses Refresh data manually.",
                "message": "The signal mix leans cautious and the site should be treated carefully until more evidence arrives.",
                "priority": 62,
                "score": 62,
                "match_percent": 62,
                "threshold_band": "strong"
            },
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good",
                "description": "Strong trust, stability, and low-risk signals were detected.",
                "reason": "Low spam indicators plus strong trust, quality, registry, and stability signals were detected. Showing the stored external intelligence snapshot. New search and review intelligence only runs after a visitor uses Refresh data manually.",
                "message": "A few positive trust signals were detected, but the evidence is still light.",
                "priority": 44,
                "score": 44,
                "match_percent": 44,
                "threshold_band": "light"
            }
        ],
        "tag_breakdown": [
            {
                "code": "Uncertain",
                "label": "Uncertain",
                "tone": "unknown",
                "description": "External checks stayed inconclusive, so the model avoided a harder verdict.",
                "reason": "The evidence is mixed and external checks stayed inconclusive, so the system kept an uncertainty buffer instead of a harder automated verdict.",
                "message": "The evidence is materially mixed or partially corroborated, so the model is avoiding a harder verdict.",
                "priority": 68,
                "score": 68,
                "match_percent": 68,
                "threshold_band": "strong"
            },
            {
                "code": "C",
                "label": "Caution",
                "tone": "caution",
                "description": "Signals are mixed or weak, so this domain should be treated carefully.",
                "reason": "Review carefully: low trust score. Showing the stored external intelligence snapshot. New search and review intelligence only runs after a visitor uses Refresh data manually.",
                "message": "The signal mix leans cautious and the site should be treated carefully until more evidence arrives.",
                "priority": 62,
                "score": 62,
                "match_percent": 62,
                "threshold_band": "strong"
            },
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good",
                "description": "Strong trust, stability, and low-risk signals were detected.",
                "reason": "Low spam indicators plus strong trust, quality, registry, and stability signals were detected. Showing the stored external intelligence snapshot. New search and review intelligence only runs after a visitor uses Refresh data manually.",
                "message": "A few positive trust signals were detected, but the evidence is still light.",
                "priority": 44,
                "score": 44,
                "match_percent": 44,
                "threshold_band": "light"
            },
            {
                "code": "Blocked",
                "label": "Partial evidence",
                "tone": "unknown",
                "description": "The crawler was blocked, so some conclusions are lower confidence.",
                "reason": "The crawler had partial visibility, so some conclusions are lower confidence.",
                "message": "",
                "priority": 6,
                "score": 6,
                "match_percent": 6,
                "threshold_band": "none"
            },
            {
                "code": "Crypto",
                "label": "Crypto drainer risk",
                "tone": "toxic",
                "description": "Wallet-connect or seed-phrase theft patterns were detected.",
                "reason": "Wallet-connect or seed-phrase theft patterns were detected.",
                "message": "No meaningful crypto-drainer signals were detected.",
                "priority": 0,
                "score": 0,
                "match_percent": 0,
                "threshold_band": "none"
            }
        ],
        "nsfw_score": 0,
        "trust_score": 9,
        "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": "cactusstudios.ca",
            "candidate_tag": "",
            "checked_at": "2026-03-19T16:18:35+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 \"cactusstudios.ca\" -site:cactusstudios.ca -site:www.cactusstudios.ca",
                    "site:bbb.org \"cactusstudios.ca\" -site:cactusstudios.ca -site:www.cactusstudios.ca"
                ],
                "focused_queries": [
                    "site:trustpilot.com \"cactusstudios.ca\" -site:cactusstudios.ca -site:www.cactusstudios.ca",
                    "site:bbb.org \"cactusstudios.ca\" -site:cactusstudios.ca -site:www.cactusstudios.ca"
                ],
                "relaxed_queries": [
                    "site:wikipedia.org \"cactusstudios.ca\"",
                    "site:en.wikipedia.org \"cactusstudios.ca\"",
                    "site:wikipedia.org \"cactusstudios\"",
                    "site:en.wikipedia.org \"cactusstudios\"",
                    "cactusstudios company profile",
                    "cactusstudios reviews",
                    "cactusstudios wikipedia",
                    "cactusstudios linkedin",
                    "cactusstudios 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://cactusstudios.ca/",
                        "host": "cactusstudios.ca",
                        "title": "cactusstudios.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": "cactusstudios.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://cactusstudios.ca/",
                        "host": "cactusstudios.ca",
                        "title": "cactusstudios.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": "cactusstudios.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": "johnbiehler.com - 3D printing, technology, travel, mobile, photography and more Skip to content Home About Contact CategoriesExpand 3D Printing Audio Gear Camera Gear Hacking Hardware Media Mobile My 3D Printers My Book Photography Reviews Technology Travel Video Videogames Toggle Menu Hardware | Maker | Media | Music | Technology | Video My Video Synth Setup: Part 4 – Portable Case with mixer ByJohn May 28, 2025May 30, 2025 After a lengthy delay, I’m back with an updated walkthrough of my portable video synth setup. As you may imagine, a video synth setup can be an involved, cable ridden mess. I really wanted something very portable, easy to setup and ideally minimal stuff to lug around. Despite having a ton of gear in my… Read More My Video Synth Setup: Part 4 – Portable Case with mixerContinue Mobile | Travel Tech Travel Tips for Canadians: Roaming Data ByJohn February 25, 2025February 27, 2025 I constantly see friends struggling with staying connected while travelling either for work or pleasure. I thought I’d share some tips that I’ve used for years to stay connected and save a ton of money while travelling. In this post, I’ll cover roaming data and is specifically meant for Canadians although some of the tips… Read More Tech Travel Tips for Canadians: Roaming DataContinue Travel Tech Travel Tips for Canadians: Currency Exchange ByJohn November 25, 2024February 25, 2025 Currency Exchange Another big thing when travelling is exchanging your money for the local currency. You can just use your bank or credit card while travelling (if supported in the country you’re travelling to) but expect to get dinged with service fees and high exchange rates. Taking cash out of an ATM while abroad also… Read More Tech Travel Tips for Canadians: Currency ExchangeContinue Technology | Video NFC is the new digital business card ByJohn March 8, 2024 Digital business cards are cheaper and infinitely more useful than paper business cards. This post will show you how to do it yourself. Read More NFC is the new digital business cardContinue Hardware | Maker | Music | Video My Video Synth Setup: Part 3 – The Eyesy ByJohn February 21, 2024August 15, 2025 This instalment features the Eyesy video synth from Critter & Guitari. A self contained audio & midi reactive video synth that’s easy to run. Read More My Video Synth Setup: Part 3 – The EyesyContinue Hardware | Maker | Music | Video My Video Synth Setup: Part 2 – Eurorack Video Modules ByJohn February 19, 2024August 15, 2025 In this instalment, I’m going to detail my currently small collection of eurorack modules that I incorporate into my video synth setup. Read More My Video Synth Setup: Part 2 – Eurorack Video ModulesContinue Hardware | Maker | Music | Video My Video Synth Setup: Part 1 – The Raspberry Pi Cluster ByJohn February 12, 2024August 15, 2025 Part 1 of my video synthesis gear walkthru. This instalment features the Raspberry Pi Cluster of 5 different apps & the gear I pair with it. Read More My Video Synth Setup: Part 1 – The Raspberry Pi ClusterContinue 3D Printing | Maker | Photography The National Portrait On Display ByJohn January 4, 2024February 7, 2024 A long awaited update on the fate of the 3D scanning/printing art project I worked on with Douglas Coupland. Read More The National Portrait On DisplayContinue Hardware | Media | Podcast | Technology | Videogames The 8 Bit Files Podcast is alive! ByJohn September 7, 2023March 1, 2024 For the last few months, my pal Dave & I have been making a podcast dedicated to people that are interested in retro computers & game consoles. Read More Th…",
                        "html": "<!doctype html> <html lang=\"en-US\" data-wp-dark-mode-preset=\"0\" class=\"no-js\" itemtype=\"https://schema.org/Blog\" itemscope> <head> <meta charset=\"UTF-8\"> <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, minimum-scale=1\"> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <!-- This site is optimized with the Yoast SEO plugin v27.2 - https://yoast.com/product/yoast-seo-wordpress/ --> <title>johnbiehler.com - 3D printing, technology, travel, mobile, photography and more</title> <meta name=\"description\" content=\"3D printing, technology, travel, mobile, photography and more\" /> <link rel=\"canonical\" href=\"https://johnbiehler.com/\" /> <link rel=\"next\" href=\"https://johnbiehler.com/page/2/\" /> <meta property=\"og:locale\" content=\"en_US\" /> <meta property=\"og:type\" content=\"website\" /> <meta property=\"og:title\" content=\"johnbiehler.com\" /> <meta property=\"og:description\" content=\"3D printing, technology, travel, mobile, photography and more\" /> <meta property=\"og:url\" content=\"https://johnbiehler.com/\" /> <meta property=\"og:site_name\" content=\"johnbiehler.com\" /> <script type=\"application/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"CollectionPage\",\"@id\":\"https://johnbiehler.com/\",\"url\":\"https://johnbiehler.com/\",\"name\":\"johnbiehler.com - 3D printing, technology, travel, mobile, photography and more\",\"isPartOf\":{\"@id\":\"https://johnbiehler.com/#website\"},\"description\":\"3D printing, technology, travel, mobile, photography and more\",\"breadcrumb\":{\"@id\":\"https://johnbiehler.com/#breadcrumb\"},\"inLanguage\":\"en-US\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://johnbiehler.com/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\"}]},{\"@type\":\"WebSite\",\"@id\":\"https://johnbiehler.com/#website\",\"url\":\"https://johnbiehler.com/\",\"name\":\"johnbiehler.com\",\"description\":\"3D printing, technology, travel, mobile, photography and more\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https://johnbiehler.com/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}</script> <!-- / Yoast SEO plugin. --> <link rel='dns-prefetch' href='//secure.gravatar.com' /> <link rel='dns-prefetch' href='//stats.wp.com' /> <link rel='dns-prefetch' href='//v0.wordpress.com' /> <link rel='dns-prefetch' href='//jetpack.wordpress.com' /> <link rel='dns-prefetch' href='//s0.wp.com' /> <link rel='dns-prefetch' href='//public-api.wordpress.com' /> <link rel='dns-prefetch' href='//0.gravatar.com' /> <link rel='dns-prefetch' href='//1.gravatar.com' /> <link rel='dns-prefetch' href='//2.gravatar.com' /> <link rel='dns-prefetch' href='//widgets.wp.com' /> <link rel='preconnect' href='//i0.wp.com' /> <link rel='preconnect' href='//c0.wp.com' /> <link rel=\"alternate\" type=\"application/rss+xml\" title=\"johnbiehler.com » Feed\" href=\"https://johnbiehler.com/feed/\" /> <link rel=\"alternate\" type=\"application/rss+xml\" title=\"johnbiehler.com » Comments Feed\" href=\"https://johnbiehler.com/comments/feed/\" /> <script>document.documentElement.classList.remove( 'no-js' );</script> <style id='wp-img-auto-sizes-contain-inline-css'> img:is([sizes=auto i],[sizes^=\"auto,\" i]){contain-intrinsic-size:3000px 1500px} /*# sourceURL=wp-img-auto-sizes-contain-inline-css */ </style> <link rel='stylesheet' id='cnss_font_awesome_css-css' href='https://johnbiehler.com/wp-content/plugins/easy-social-icons/css/font-awesome/css/all.min.css?ver=7.0.0' media='all' /> <link rel='stylesheet' id='cnss_font_awesome_v4_shims-css' href='https://johnbiehler.com/wp-content/plugins/easy-social-icons/css/font-awesome/css/v4-shims.min.css?ver=7.0.0' media='all' /> <link rel='stylesheet' id='cnss_css-css' href='https://johnbiehler.com/wp-content/plugins/easy-social-icons/css/cnss.css?ver=1.0' media='all' /> <link rel='stylesheet' id='cnss_share_css-css' href='https://johnbiehler.com/wp-content/plugins/easy-social-icons/css/share.css?ver=1.0' media='all' /> <link rel='stylesheet' id='the-neverending-homepage-css' href='https://c0.wp.com/p/jetpack/15.6/modules/infinite-scroll/infinity.css' media='all' /> <link rel='stylesheet' id='wp-dark-mode-css' href='https://johnbiehler.com/wp-content/plugins/wp-dark-mode/assets/css/app.min.css?ver=5.3.3' media='all' /> <style id='wp-dark-mode-inline-css'> html[data-wp-dark-mode-active], [data-wp-dark-mode-loading] { --wpdm-body-filter: brightness(100%) contrast(90%) grayscale(0%) sepia(10%); --wpdm-grayscale: 0%; --wpdm-img-brightness: 100%; --wpdm-img-grayscale: 0%; --wpdm-video-brightness: 100%; --wpdm-video-grayscale: 0%; --wpdm-large-font-sized: 1em; } .wp-dark-mode-active, [data-wp-dark-mode-active] { --wpdm-background-color: #232323; --wpdm-text-color: #f0f0f0; } /*# sourceURL=wp-dark-mode-inline-css */ </style> <style id='wp-emoji-styles-inline-css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none…",
                        "status_code": 200,
                        "final_url": "https://johnbiehler.com/"
                    }
                ],
                "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": 247,
                "candidates_considered": 1,
                "fetch_success_rate": 100,
                "avg_source_trust": 55,
                "avg_entity_score": 100
            },
            "provider_enrichment": {
                "providers": {
                    "safebrowsing": {
                        "status": "disabled"
                    },
                    "abuseipdb": {
                        "status": "ok",
                        "confidence": 58,
                        "ip": "3.33.251.168",
                        "abuse_confidence_score": 20,
                        "total_reports": 23,
                        "last_reported_at": "2026-03-15T14:03:24+00:00",
                        "country_code": "US",
                        "usage_type": "Content Delivery Network",
                        "isp": "Amazon Technologies Inc.",
                        "domain": "amazon.com",
                        "budget": {
                            "provider": "abuseipdb",
                            "window_key": "2026-03-19",
                            "used": 185,
                            "limit": 850,
                            "remaining": 665,
                            "updated_at": "2026-03-19T05:48:41+00:00"
                        },
                        "facts": [],
                        "highlights": [],
                        "citations": [
                            {
                                "title": "AbuseIPDB IP reputation check",
                                "url": "https://docs.abuseipdb.com/",
                                "host": "docs.abuseipdb.com",
                                "snippet": "Primary IP 3.33.251.168 scored 20/100 with 23 report(s).",
                                "source_type": "api_reputation"
                            }
                        ],
                        "cached": true
                    },
                    "ipinfo": {
                        "status": "ok",
                        "confidence": 54,
                        "ip": "3.33.251.168",
                        "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.251.168 geolocates to US.",
                                "source_type": "ip_enrichment"
                            }
                        ],
                        "cached": true
                    },
                    "censys": {
                        "status": "disabled"
                    },
                    "sslmate": {
                        "status": "error",
                        "error": "HTTP 429: {\"code\":\"rate_limited\",\"message\":\"You have exceeded the domain search rate limit for the SSLMate CT Search API. Please try again later, or upgrade your Cert Spotter plan by visiting .\"}"
                    }
                },
                "facts": [],
                "citations": [
                    {
                        "title": "AbuseIPDB IP reputation check",
                        "url": "https://docs.abuseipdb.com/",
                        "host": "docs.abuseipdb.com",
                        "snippet": "Primary IP 3.33.251.168 scored 20/100 with 23 report(s).",
                        "source_type": "api_reputation"
                    },
                    {
                        "title": "IPinfo IP enrichment",
                        "url": "https://ipinfo.io/developers",
                        "host": "ipinfo.io",
                        "snippet": "Primary IP 3.33.251.168 geolocates to US.",
                        "source_type": "ip_enrichment"
                    }
                ],
                "highlights": [
                    "IPinfo resolved the primary IP to US on AS16509."
                ],
                "resolved_ips": [
                    "3.33.251.168",
                    "15.197.225.128"
                ],
                "primary_ip": "3.33.251.168",
                "quality": {
                    "provider_diversity_score": 50,
                    "provider_confidence_score": 56,
                    "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": 25,
                "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": 50,
                "provider_confidence_score": 56,
                "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": "AbuseIPDB IP reputation check",
                    "url": "https://docs.abuseipdb.com/",
                    "host": "docs.abuseipdb.com",
                    "snippet": "Primary IP 3.33.251.168 scored 20/100 with 23 report(s).",
                    "source_type": "api_reputation"
                },
                {
                    "title": "IPinfo IP enrichment",
                    "url": "https://ipinfo.io/developers",
                    "host": "ipinfo.io",
                    "snippet": "Primary IP 3.33.251.168 geolocates to US.",
                    "source_type": "ip_enrichment"
                }
            ],
            "urlscan": {
                "domain": "cactusstudios.ca",
                "status": "error",
                "submitted_at": "2026-03-19T16:18:34+00:00",
                "completed_at": null,
                "last_checked_at": "2026-03-19T16:18:34+00:00",
                "last_error": "Rate limit for 'public' exceeded. Limit is 5000 per day. Reset in 27684 seconds.",
                "submitted_url": "https://cactusstudios.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": "page-request",
                "summary": "Running a standard intelligence pass because the current signals need third-party corroboration.",
                "cooldown": {
                    "active": false,
                    "empty_attempts": 0,
                    "next_allowed_at": "",
                    "reason": "",
                    "provider_retry_at": ""
                },
                "suffix": {
                    "tld": "ca",
                    "registered_suffix": "ca",
                    "class": "high_confidence",
                    "reserved": false
                },
                "signals": {
                    "trust_score": 0,
                    "quality_score": 57,
                    "safety_score": 0,
                    "fraud_score": 0,
                    "spam_score": 12,
                    "nsfw_score": 0,
                    "score_confidence": 0,
                    "risk_label": "low",
                    "crawl_blocked": false,
                    "last_http_status": 200,
                    "content_word_count": 11251,
                    "internal_links_count": 1,
                    "site_name": "",
                    "title": "johnbiehler.com - 3D printing, technology, travel, mobile, photography and more",
                    "is_tracked": false
                }
            },
            "cooldown": {
                "empty_attempts": 1,
                "next_allowed_at": "2026-03-26T16:18:35+00:00",
                "reason": "Recent intelligence runs produced no qualified third-party evidence, so retries are cooled down to save budget.",
                "provider_retry_at": "",
                "last_reason": "page-request"
            },
            "debug": {
                "top_supporting_facts": [],
                "top_positive_facts": [],
                "ignored_candidates": [],
                "budget_ms": 4200,
                "search_budget_ms": 1600,
                "review_budget_ms": 2600,
                "search_mode": "page-request",
                "query_cap": 2,
                "provider_cap": 1,
                "result_cap": 6,
                "review_document_cap": 4,
                "reason": "page-request",
                "priority": 80,
                "eligibility_decision": "run_normal",
                "provider_statuses": {
                    "safebrowsing": "disabled",
                    "abuseipdb": "ok",
                    "ipinfo": "ok",
                    "censys": "disabled",
                    "sslmate": "error"
                }
            },
            "last_good": {
                "checked_at": "2026-03-19T16:18:35+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": "AbuseIPDB IP reputation check",
                        "url": "https://docs.abuseipdb.com/",
                        "host": "docs.abuseipdb.com",
                        "snippet": "Primary IP 3.33.251.168 scored 20/100 with 23 report(s).",
                        "source_type": "api_reputation"
                    },
                    {
                        "title": "IPinfo IP enrichment",
                        "url": "https://ipinfo.io/developers",
                        "host": "ipinfo.io",
                        "snippet": "Primary IP 3.33.251.168 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": "9/100",
                "tone": "spam",
                "detail": "Confidence derived from authority, crawl quality, stability, and risk signals."
            },
            {
                "label": "Authority score",
                "value": "40/100",
                "tone": "caution",
                "detail": "A higher authority score usually means broader reputation and backlink confidence."
            },
            {
                "label": "Spam risk",
                "value": "9/100",
                "tone": "good",
                "detail": "Lower is better. This blends spam indicators with false-positive protections for legitimate sites."
            },
            {
                "label": "Quality score",
                "value": "57/100",
                "tone": "good",
                "detail": "Based on crawl quality, content completeness, and technical evidence."
            },
            {
                "label": "Safety score",
                "value": "42/100",
                "tone": "spam",
                "detail": "Higher is safer. Direct fraud signals can heavily cap this even when SEO signals look strong."
            },
            {
                "label": "Fraud score",
                "value": "0/100",
                "tone": "good",
                "detail": "Lower is better. This reflects phishing, drainer, fake-support, fake-shop, and malware signals."
            },
            {
                "label": "Infrastructure risk",
                "value": "0/100",
                "tone": "good",
                "detail": "Lower is better. This reflects the IP, registrar, and nameserver neighbourhood seen by the crawler."
            },
            {
                "label": "Evidence confidence",
                "value": "24/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": "11.2 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": "277",
                        "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": "76",
                        "tone": "caution",
                        "detail": "Search footprint helps distinguish real sites from thin shells."
                    },
                    {
                        "label": "Indexed pages",
                        "value": "52",
                        "tone": "caution",
                        "detail": "Larger index coverage usually means more evidence to classify from."
                    },
                    {
                        "label": "Brand strength",
                        "value": "48/100",
                        "tone": "caution",
                        "detail": "Stronger brand signals reduce false positives for legitimate sites."
                    },
                    {
                        "label": "Risk label",
                        "value": "LOW",
                        "tone": "good",
                        "detail": "This is the raw crawl / heuristic risk label feeding the tag model."
                    }
                ]
            },
            {
                "title": "Crawl, content & technicals",
                "items": [
                    {
                        "label": "HTTP status",
                        "value": "200",
                        "tone": "good",
                        "detail": "Healthy responses make classification more reliable."
                    },
                    {
                        "label": "HTTPS / speed",
                        "value": "HTTPS weak · 358 ms",
                        "tone": "spam",
                        "detail": "Slow or broken technical signals weaken confidence."
                    },
                    {
                        "label": "Content words",
                        "value": "11,251",
                        "tone": "good",
                        "detail": "Thin pages are harder to trust and easier to manipulate."
                    },
                    {
                        "label": "Schema / structure",
                        "value": "0 schema · meta · no H1",
                        "tone": "caution",
                        "detail": "Structured markup and basic on-page hygiene improve quality confidence."
                    },
                    {
                        "label": "Links on page",
                        "value": "1 internal · 122 external",
                        "tone": "caution",
                        "detail": "Link patterns help detect thin directories and promo pages."
                    },
                    {
                        "label": "Page speed / mobile",
                        "value": "94/100 · 65/100",
                        "tone": "good",
                        "detail": "Better technical quality generally reduces low-effort site patterns."
                    },
                    {
                        "label": "Crawl access",
                        "value": "Open",
                        "tone": "good",
                        "detail": "The crawler reached the site without an anti-bot challenge."
                    }
                ]
            },
            {
                "title": "External evidence & explainability",
                "items": [
                    {
                        "label": "Decision state",
                        "value": "Inconclusive",
                        "tone": "unknown",
                        "detail": "Public search did not yield usable third-party matches, so the system fell back to first-party inspection only."
                    },
                    {
                        "label": "Evidence quality",
                        "value": "Low",
                        "tone": "unknown",
                        "detail": "Blends source trust, domain matching, evidence diversity, and freshness."
                    },
                    {
                        "label": "Support vs contradiction",
                        "value": "0 / 0",
                        "tone": "unknown",
                        "detail": "Compares how much structured external evidence supports the candidate tag against evidence that contradicts it."
                    },
                    {
                        "label": "Qualified risk sources",
                        "value": "No",
                        "tone": "good",
                        "detail": "Risk tags only promote from external evidence when source diversity or source trust thresholds are met."
                    },
                    {
                        "label": "Uncertainty buffer",
                        "value": "Active",
                        "tone": "caution",
                        "detail": "Prevents thin or mixed external evidence from forcing a stronger tag than the evidence can justify."
                    }
                ]
            }
        ],
        "positives": [
            "Established domain age: 11.2 years.",
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness."
        ],
        "risks": [
            "Trust score is currently very low.",
            "External evidence was mixed or sparse, so the tag model keeps an uncertainty buffer instead of overcommitting."
        ]
    },
    "traffic_confidence": 40,
    "whois": {
        "current": {
            "id": 1406,
            "domain": "cactusstudios.ca",
            "source_type": "rdap",
            "rdap_url": "https://rdap.ca.fury.ca/rdap/domain/cactusstudios.ca",
            "registrar_name": "Go Daddy Domains Canada, Inc",
            "registrar_handle": "not applicable",
            "registrant_name": "",
            "registrant_org": "",
            "registrant_country": "",
            "registrant_email": "",
            "abuse_email": "",
            "created_date": "2015-01-21 19:55:51",
            "updated_date": "2025-12-16 20:24:26",
            "expires_date": "2027-01-21 19:55:51",
            "nameservers_json": "[\"ns11.domaincontrol.com\",\"ns12.domaincontrol.com\"]",
            "status_json": "[\"client delete prohibited\",\"client transfer prohibited\",\"client update prohibited\"]",
            "dnssec": "unsigned",
            "privacy_protected": 0,
            "content_hash": "a4b191bd0b1d84c3cf4b094a77115c05338d2ca546949d408e1fd5dfd1051030",
            "history_count": 1,
            "last_checked_at": "2026-03-15 17:15:32",
            "last_changed_at": "2026-03-15 17:15:32",
            "created_at": "2026-03-15 17:15:32",
            "updated_at": "2026-03-15 17:15:32"
        },
        "history": [
            {
                "id": 1484,
                "domain": "cactusstudios.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": "2015-01-21 19:55:51",
                "updated_date": "2025-12-16 20:24:26",
                "expires_date": "2027-01-21 19:55:51",
                "nameservers_json": "[\"ns11.domaincontrol.com\",\"ns12.domaincontrol.com\"]",
                "status_json": "[\"client delete prohibited\",\"client transfer prohibited\",\"client update prohibited\"]",
                "dnssec": "unsigned",
                "privacy_protected": 0,
                "content_hash": "a4b191bd0b1d84c3cf4b094a77115c05338d2ca546949d408e1fd5dfd1051030",
                "checked_at": "2026-03-15 17:15:32",
                "change_summary": "Initial WHOIS snapshot captured.",
                "created_at": "2026-03-15 17:15:32"
            }
        ],
        "signals": {
            "age_years": 11.2,
            "days_to_expiry": 277,
            "days_since_last_registry_update": 123,
            "stability_score": 100,
            "registrar_changes": 0,
            "ownership_changes": 0,
            "nameserver_changes": 0,
            "status_changes": 0,
            "history_entries": 1,
            "privacy_protected": false,
            "dnssec_enabled": false,
            "has_registrant_country": false,
            "registrant_country": "",
            "nameserver_count": 2,
            "status_count": 3
        }
    },
    "discovered_domain": {
        "id": 45376,
        "domain": "cactusstudios.ca",
        "first_seen_at": "2026-03-15 15:47:15",
        "last_crawled_at": "2026-03-15 17:15:32",
        "last_title": "johnbiehler.com - 3D printing, technology, travel, mobile, photography and more",
        "last_http_status": 200,
        "discovered_from_domain": "friff.co",
        "depth": 0,
        "backlinks_count": 1,
        "rating_cache": 46,
        "spam_score": 12,
        "risk_label": "low",
        "category_name": "Travel",
        "primary_country_code": "CA",
        "internal_links_count": 1,
        "external_links_count": 122,
        "social_profiles_count": 5,
        "content_word_count": 11251,
        "title_quality_score": 80,
        "has_meta_description": 1,
        "has_h1": 0,
        "language_code": "en-US",
        "response_time_ms": 358,
        "robots_status": 404,
        "sitemap_status": 404,
        "sitemap_total_urls": 0,
        "quality_score": 57,
        "site_name": "",
        "canonical_domain": "",
        "favicon_present": 0,
        "schema_org_count": 0,
        "noindex_detected": 0,
        "feed_links_count": 0,
        "https_working": 0,
        "estimated_authority_score": 0,
        "trust_score": 0,
        "nsfw_score": 0,
        "overall_rank_estimate": 0,
        "primary_tag": "",
        "tag_codes": "",
        "manual_verified_status": "",
        "manual_tag_codes": "",
        "manual_rating_delta": 0,
        "manual_authority_delta": 0,
        "manual_trust_delta": 0,
        "manual_note": null,
        "manual_adjusted_by": null,
        "manual_adjusted_at": null,
        "manual_lock_scores": 0,
        "manual_lock_flags": 0,
        "crawl_blocked": 0,
        "crawl_blocked_by": "",
        "crawl_blocked_reason": null,
        "safety_score": 0,
        "fraud_score": 0,
        "legitimacy_score": 0,
        "infrastructure_risk_score": 0,
        "score_confidence": 0,
        "tag_confidence": 0,
        "category_confidence": 0,
        "deep_crawl_pages": 0,
        "resolved_ip": "",
        "category_candidates_json": null,
        "page_signals_json": null,
        "score_reasons_json": null,
        "route_domain": "cactusstudios.ca",
        "display_domain": "cactusstudios.ca"
    },
    "explainability": {
        "summary": "cactusstudios.ca currently scores 14/100. Risk signals are the main constraint on the score right now. Evidence confidence is still limited, so the score can move materially after more evidence is collected. This is an estimated profile rather than a manually tracked one. Crawler access looks clean.",
        "badges": [
            {
                "label": "Profile",
                "value": "Estimated profile",
                "tone": "unknown",
                "detail": null
            },
            {
                "label": "Evidence confidence",
                "value": "Low confidence",
                "tone": "risk",
                "detail": "1/100"
            },
            {
                "label": "Traffic confidence",
                "value": "Moderate confidence",
                "tone": "caution",
                "detail": "40/100"
            },
            {
                "label": "Crawler access",
                "value": "Clean visibility",
                "tone": "good",
                "detail": null
            }
        ],
        "weighted_contributions": [
            {
                "label": "Quality system",
                "points": "+15.0",
                "tone": "caution",
                "detail": "Technical quality, crawl depth, page structure, and implementation hygiene. Current subsystem score: 44/100."
            },
            {
                "label": "Reputation system",
                "points": "+15.3",
                "tone": "caution",
                "detail": "Authority, search visibility, reach, engagement, and registry stability. Current subsystem score: 45/100."
            },
            {
                "label": "Safety system",
                "points": "+0.0",
                "tone": "risk",
                "detail": "Fraud, spam, and trust signals from infrastructure, crawl, and registry evidence. Current subsystem score: 0/100."
            },
            {
                "label": "Risk clamp",
                "points": "-16.0",
                "tone": "risk",
                "detail": "High-risk signals forced the final score lower than the weighted base score."
            }
        ],
        "evidence_cards": [
            {
                "label": "Authority and trust",
                "value": "40/100 · trust 8/100",
                "tone": "risk",
                "detail": "118 monthly visitors, 76 organic keywords, brand completeness 48/100, engagement 78/100."
            },
            {
                "label": "Backlink and search evidence",
                "value": "1 referring domains",
                "tone": "good",
                "detail": "1 backlinks across 1 referring domains. Diversity 92/100; spam penalty 0."
            },
            {
                "label": "Registry and domain stability",
                "value": "11.2 years old",
                "tone": "good",
                "detail": "Stability 100/100 · age 11.2 years · registrar Go Daddy Domains Canada, Inc · expires in 277 days."
            },
            {
                "label": "Safety and fraud posture",
                "value": "Safety 0/100 · fraud 0/100",
                "tone": "risk",
                "detail": "Primary tag Uncertain · safety 0/100 · fraud 0/100."
            }
        ],
        "positives": [
            "Established domain age: 11.2 years.",
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness.",
            "Registry history looks stable, which supports legitimacy and trust.",
            "The domain has been registered for years, which usually improves trust confidence.",
            "Backlink diversity looks broad enough to strengthen authority confidence."
        ],
        "risks": [
            "Trust score is currently very low.",
            "External evidence was mixed or sparse, so the tag model keeps an uncertainty buffer instead of overcommitting.",
            "Safety signals are weak, which materially drags the final score down.",
            "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-03-15 17:15:32",
                "tone": "risk",
                "detail": "Crawl and page content sample. Age: 1mo ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-03-15 17:15:32",
                "tone": "risk",
                "detail": "Registry profile and stability signals. Age: 1mo ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-19 15:10:28",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-19 15:10:28",
                "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": 30,
        "fraud_clamp_penalty": 16,
        "final_score": 14
    },
    "insight_snapshot": {
        "version": 1,
        "generated_at": "2026-04-19T15:10:28+00:00",
        "domain": "cactusstudios.ca",
        "display_name": "johnbiehler.com",
        "is_tracked": false,
        "is_estimated": true,
        "overall_score": 14,
        "authority_score": 40,
        "trust_score": 8,
        "safety_score": 0,
        "fraud_score": 0,
        "confidence_score": 1,
        "traffic_confidence": 40,
        "last_crawled_at": "2026-03-15 17:15:32",
        "crawl_blocked": false,
        "summary": "cactusstudios.ca currently scores 14/100. Risk signals are the main constraint on the score right now. Evidence confidence is still limited, so the score can move materially after more evidence is collected. This is an estimated profile rather than a manually tracked one. Crawler access looks clean.",
        "badges": [
            {
                "label": "Profile",
                "value": "Estimated profile",
                "tone": "unknown",
                "detail": null
            },
            {
                "label": "Evidence confidence",
                "value": "Low confidence",
                "tone": "risk",
                "detail": "1/100"
            },
            {
                "label": "Traffic confidence",
                "value": "Moderate confidence",
                "tone": "caution",
                "detail": "40/100"
            },
            {
                "label": "Crawler access",
                "value": "Clean visibility",
                "tone": "good",
                "detail": null
            }
        ],
        "top_positive_signals": [
            "Established domain age: 11.2 years.",
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness.",
            "Registry history looks stable, which supports legitimacy and trust.",
            "The domain has been registered for years, which usually improves trust confidence."
        ],
        "top_risk_signals": [
            "Trust score is currently very low.",
            "External evidence was mixed or sparse, so the tag model keeps an uncertainty buffer instead of overcommitting.",
            "Safety signals are weak, which materially drags the final score down.",
            "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-03-15 17:15:32",
                "tone": "risk",
                "detail": "Crawl and page content sample. Age: 1mo ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-03-15 17:15:32",
                "tone": "risk",
                "detail": "Registry profile and stability signals. Age: 1mo ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-19 15:10:28",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-19 15:10:28",
                "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-19T19:25:35+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/cactusstudios.ca/refresh",
        "isGuestCooldown": false,
        "cooldownSeconds": 0
    },
    "urlscan_report": {
        "domain": "cactusstudios.ca",
        "status": "error",
        "submitted_at": "2026-03-19T16:18:34+00:00",
        "completed_at": null,
        "last_checked_at": "2026-03-19T16:18:34+00:00",
        "last_error": "Rate limit for 'public' exceeded. Limit is 5000 per day. Reset in 27684 seconds.",
        "submitted_url": "https://cactusstudios.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
    }
}