{
    "ready": true,
    "site": {
        "id": 0,
        "domain": "arcomul.nl",
        "display_name": "Arco Mul",
        "primary_country_code": "NL",
        "category_name": "Art & Design: Illustration & Digital Art"
    },
    "metrics": {
        "global_rank": 36098,
        "country_rank": 596,
        "category_rank": 14,
        "daily_pageviews_per_visitor": 3.72,
        "daily_time_on_site_seconds": 296,
        "bounce_rate": 36.16,
        "search_visits_percent": 38.89,
        "total_sites_linking_in": 1,
        "monthly_unique_visitors": 72,
        "recorded_at": "2026-03-19 01:57:23"
    },
    "audit": {
        "score": 80
    },
    "traffic_sources": {
        "direct_percent": 26.92,
        "search_percent": 35.85,
        "social_percent": 8.89,
        "referral_percent": 12.82,
        "email_percent": 6.35,
        "paid_percent": 9.17
    },
    "seo_profile": {
        "backlinks_total": 1,
        "referring_domains": 1,
        "dofollow_backlinks_percent": 100,
        "organic_keywords": 65,
        "indexed_pages": 31,
        "page_speed_score": 81,
        "mobile_friendliness_score": 79,
        "authority_score": 44,
        "spam_risk_score": 37
    },
    "crawl_report": {
        "robots_status": 200,
        "sitemap_status": 200,
        "sitemap_total_urls": 31,
        "crawl_blocked": false,
        "crawl_blocked_by": "",
        "crawl_blocked_reason": "",
        "notes": [],
        "created_at": "2026-03-19 01:57:23"
    },
    "keywords": [
        {
            "keyword": "Arco Mul",
            "position": 20,
            "search_engine": "Estimated",
            "checked_at": "2026-04-13 14:50:52",
            "is_estimated": true
        },
        {
            "keyword": "Arco Mul art & design: illustration & digital art",
            "position": 22,
            "search_engine": "Estimated",
            "checked_at": "2026-04-13 14:50:52",
            "is_estimated": true
        },
        {
            "keyword": "Arco Mul reviews",
            "position": 24,
            "search_engine": "Estimated",
            "checked_at": "2026-04-13 14:50:52",
            "is_estimated": true
        },
        {
            "keyword": "arco",
            "position": 26,
            "search_engine": "Estimated",
            "checked_at": "2026-04-13 14:50:52",
            "is_estimated": true
        },
        {
            "keyword": "mul",
            "position": 28,
            "search_engine": "Estimated",
            "checked_at": "2026-04-13 14:50:52",
            "is_estimated": true
        },
        {
            "keyword": "arcomul",
            "position": 30,
            "search_engine": "Estimated",
            "checked_at": "2026-04-13 14:50:52",
            "is_estimated": true
        },
        {
            "keyword": "posts/tech/combining-component-variants-in-storybook",
            "position": 32,
            "search_engine": "Estimated",
            "checked_at": "2026-04-13 14:50:52",
            "is_estimated": true
        },
        {
            "keyword": "help",
            "position": 34,
            "search_engine": "Estimated",
            "checked_at": "2026-04-13 14:50:52",
            "is_estimated": true
        }
    ],
    "rating": {
        "overall": 64,
        "label": "Healthy",
        "breakdown": [
            {
                "label": "Technical foundation",
                "score": 16,
                "max": 18
            },
            {
                "label": "Authority & trust",
                "score": 13,
                "max": 30
            },
            {
                "label": "Reach & market presence",
                "score": 3,
                "max": 18
            },
            {
                "label": "Search visibility",
                "score": 3,
                "max": 12
            },
            {
                "label": "Engagement & retention",
                "score": 8,
                "max": 10
            },
            {
                "label": "Channels & diversification",
                "score": 4,
                "max": 6
            },
            {
                "label": "Registry stability",
                "score": 6,
                "max": 6
            },
            {
                "label": "Quality system",
                "score": 89,
                "max": 100
            },
            {
                "label": "Reputation system",
                "score": 45,
                "max": 100
            },
            {
                "label": "Safety system",
                "score": 100,
                "max": 100
            },
            {
                "label": "Evidence confidence",
                "score": 100,
                "max": 100
            },
            {
                "label": "External intelligence",
                "score": 50,
                "max": 100
            }
        ],
        "authority_score": 44,
        "quality_score": 89,
        "reputation_score": 45,
        "safety_score": 100,
        "confidence_score": 100,
        "fraud_score": 1,
        "authority_signals": {
            "backlinks": 1,
            "referring_domains": 1,
            "organic_keywords": 65,
            "indexed_pages": 31,
            "monthly_visitors": 72,
            "global_rank": 36098,
            "engagement_score": 77,
            "crawl_quality_score": 90,
            "brand_completeness_score": 52,
            "link_diversity_score": 92,
            "technical_reliability_score": 79,
            "whois_score": 74,
            "whois_age_years": 16.8,
            "whois_stability_score": 100,
            "spam_penalty": 3
        },
        "whois_signals": {
            "age_years": 16.8,
            "days_to_expiry": null,
            "days_since_last_registry_update": 116,
            "stability_score": 100,
            "registrar_changes": 0,
            "ownership_changes": 0,
            "nameserver_changes": 0,
            "status_changes": 0,
            "history_entries": 1,
            "privacy_protected": true,
            "dnssec_enabled": true,
            "has_registrant_country": false,
            "registrant_country": "",
            "nameserver_count": 2,
            "status_count": 1
        }
    },
    "authority_score": 44,
    "trust_score": 55,
    "domain_tags": {
        "primary_tag": "T",
        "primary_tag_score": 75,
        "primary_candidate": "T",
        "primary_candidate_score": 75,
        "tag_codes": "T,Uncertain",
        "tags": [
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good",
                "description": "Strong trust, stability, and low-risk signals were detected.",
                "reason": "Low spam indicators plus strong trust, quality, registry, and stability signals were detected.",
                "message": "The site shows a reasonably trustworthy and stable profile.",
                "priority": 75,
                "score": 75,
                "match_percent": 75,
                "threshold_band": "strong"
            },
            {
                "code": "Uncertain",
                "label": "Uncertain",
                "tone": "unknown",
                "description": "External checks stayed inconclusive, so the model avoided a harder verdict.",
                "reason": "The evidence is mixed or only partially corroborated, so the system avoided 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"
            }
        ],
        "tag_breakdown": [
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good",
                "description": "Strong trust, stability, and low-risk signals were detected.",
                "reason": "Low spam indicators plus strong trust, quality, registry, and stability signals were detected.",
                "message": "The site shows a reasonably trustworthy and stable profile.",
                "priority": 75,
                "score": 75,
                "match_percent": 75,
                "threshold_band": "strong"
            },
            {
                "code": "Uncertain",
                "label": "Uncertain",
                "tone": "unknown",
                "description": "External checks stayed inconclusive, so the model avoided a harder verdict.",
                "reason": "The evidence is mixed or only partially corroborated, so the system avoided 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": "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": 7,
                "score": 7,
                "match_percent": 7,
                "threshold_band": "none"
            },
            {
                "code": "C",
                "label": "Caution",
                "tone": "caution",
                "description": "Signals are mixed or weak, so this domain should be treated carefully.",
                "reason": "Review carefully: mixed trust signals.",
                "message": "The current crawl does not show a meaningful caution match.",
                "priority": 0,
                "score": 0,
                "match_percent": 0,
                "threshold_band": "none"
            },
            {
                "code": "Crypto",
                "label": "Crypto drainer risk",
                "tone": "toxic",
                "description": "Wallet-connect or seed-phrase theft patterns were detected.",
                "reason": "Wallet-connect or seed-phrase theft patterns were detected.",
                "message": "No meaningful crypto-drainer signals were detected.",
                "priority": 0,
                "score": 0,
                "match_percent": 0,
                "threshold_band": "none"
            }
        ],
        "nsfw_score": 0,
        "trust_score": 58,
        "manual": {
            "has_changes": false,
            "verified_status": "",
            "tag_codes": "",
            "rating_delta": 0,
            "authority_delta": 0,
            "trust_delta": 0,
            "note": "",
            "adjusted_by": 0,
            "adjusted_at": "",
            "lock_scores": false,
            "lock_flags": false
        },
        "summary": "Trusted (75% match) because low spam indicators plus strong trust, quality, registry, and stability signals were detected.",
        "external_intel": [],
        "external_decision": [],
        "signal_scores": [
            {
                "label": "Strongest tag heuristic",
                "value": "T · 75%",
                "tone": "good",
                "detail": "The highest raw tag match from the heuristic engine before visibility thresholds and manual overrides."
            },
            {
                "label": "Trust score",
                "value": "58/100",
                "tone": "caution",
                "detail": "Confidence derived from authority, crawl quality, stability, and risk signals."
            },
            {
                "label": "Authority score",
                "value": "46/100",
                "tone": "caution",
                "detail": "A higher authority score usually means broader reputation and backlink confidence."
            },
            {
                "label": "Spam risk",
                "value": "20/100",
                "tone": "good",
                "detail": "Lower is better. This blends spam indicators with false-positive protections for legitimate sites."
            },
            {
                "label": "Quality score",
                "value": "76/100",
                "tone": "good",
                "detail": "Based on crawl quality, content completeness, and technical evidence."
            },
            {
                "label": "Safety score",
                "value": "100/100",
                "tone": "good",
                "detail": "Higher is safer. Direct fraud signals can heavily cap this even when SEO signals look strong."
            },
            {
                "label": "Fraud score",
                "value": "1/100",
                "tone": "good",
                "detail": "Lower is better. This reflects phishing, drainer, fake-support, fake-shop, and malware signals."
            },
            {
                "label": "Infrastructure risk",
                "value": "7/100",
                "tone": "good",
                "detail": "Lower is better. This reflects the IP, registrar, and nameserver neighbourhood seen by the crawler."
            },
            {
                "label": "Evidence confidence",
                "value": "100/100",
                "tone": "good",
                "detail": "Higher means the crawler had enough pages and registry evidence to make a stronger call."
            },
            {
                "label": "External evidence",
                "value": "Low",
                "tone": "unknown",
                "detail": "Quality of the structured search and review evidence cluster."
            },
            {
                "label": "External decision",
                "value": "Inconclusive",
                "tone": "unknown",
                "detail": "How third-party evidence compares with the current candidate tag."
            },
            {
                "label": "NSFW score",
                "value": "0/100",
                "tone": "good",
                "detail": "Context-aware adult-content detection with medical / educational false-positive reduction."
            },
            {
                "label": "Registry stability",
                "value": "100/100",
                "tone": "good",
                "detail": "Based on age, expiry runway, and the amount of ownership / registrar churn."
            }
        ],
        "signal_sections": [
            {
                "title": "Registry & ownership",
                "items": [
                    {
                        "label": "Domain age",
                        "value": "16.8 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": "—",
                        "tone": "unknown",
                        "detail": "Very short renewal windows can be a weak trust signal."
                    },
                    {
                        "label": "Registrar / ownership changes",
                        "value": "0 / 0",
                        "tone": "good",
                        "detail": "Frequent ownership churn can weaken trust."
                    },
                    {
                        "label": "Nameserver changes",
                        "value": "0",
                        "tone": "good",
                        "detail": "Repeated infrastructure changes can indicate instability."
                    },
                    {
                        "label": "DNSSEC / privacy",
                        "value": "DNSSEC on · privacy on",
                        "tone": "good",
                        "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": "65",
                        "tone": "caution",
                        "detail": "Search footprint helps distinguish real sites from thin shells."
                    },
                    {
                        "label": "Indexed pages",
                        "value": "31",
                        "tone": "caution",
                        "detail": "Larger index coverage usually means more evidence to classify from."
                    },
                    {
                        "label": "Brand strength",
                        "value": "52/100",
                        "tone": "good",
                        "detail": "Stronger brand signals reduce false positives for legitimate sites."
                    },
                    {
                        "label": "Risk label",
                        "value": "GOOD",
                        "tone": "unknown",
                        "detail": "This is the raw crawl / heuristic risk label feeding the tag model."
                    }
                ]
            },
            {
                "title": "Crawl, content & technicals",
                "items": [
                    {
                        "label": "HTTP status",
                        "value": "200",
                        "tone": "good",
                        "detail": "Healthy responses make classification more reliable."
                    },
                    {
                        "label": "HTTPS / speed",
                        "value": "HTTPS OK · 921 ms",
                        "tone": "good",
                        "detail": "Slow or broken technical signals weaken confidence."
                    },
                    {
                        "label": "Content words",
                        "value": "99",
                        "tone": "spam",
                        "detail": "Thin pages are harder to trust and easier to manipulate."
                    },
                    {
                        "label": "Schema / structure",
                        "value": "0 schema · meta · H1",
                        "tone": "caution",
                        "detail": "Structured markup and basic on-page hygiene improve quality confidence."
                    },
                    {
                        "label": "Links on page",
                        "value": "12 internal · 4 external",
                        "tone": "good",
                        "detail": "Link patterns help detect thin directories and promo pages."
                    },
                    {
                        "label": "Page speed / mobile",
                        "value": "81/100 · 79/100",
                        "tone": "good",
                        "detail": "Better technical quality generally reduces low-effort site patterns."
                    },
                    {
                        "label": "Crawl access",
                        "value": "Open",
                        "tone": "good",
                        "detail": "The crawler reached the site without an anti-bot challenge."
                    }
                ]
            },
            {
                "title": "External evidence & explainability",
                "items": [
                    {
                        "label": "Decision state",
                        "value": "Inconclusive",
                        "tone": "unknown",
                        "detail": "Structured third-party evidence is still too thin, mixed, or unqualified to force a harder verdict."
                    },
                    {
                        "label": "Evidence quality",
                        "value": "Low",
                        "tone": "unknown",
                        "detail": "Blends source trust, domain matching, evidence diversity, and freshness."
                    },
                    {
                        "label": "Support vs contradiction",
                        "value": "0 / 0",
                        "tone": "unknown",
                        "detail": "Compares how much structured external evidence supports the candidate tag against evidence that contradicts it."
                    },
                    {
                        "label": "Qualified risk sources",
                        "value": "No",
                        "tone": "good",
                        "detail": "Risk tags only promote from external evidence when source diversity or source trust thresholds are met."
                    },
                    {
                        "label": "Uncertainty buffer",
                        "value": "Clear",
                        "tone": "good",
                        "detail": "Prevents thin or mixed external evidence from forcing a stronger tag than the evidence can justify."
                    }
                ]
            }
        ],
        "positives": [
            "Established domain age: 16.8 years.",
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness.",
            "DNSSEC is enabled."
        ],
        "risks": []
    },
    "traffic_confidence": 47,
    "whois": {
        "current": {
            "id": 28226,
            "domain": "arcomul.nl",
            "source_type": "rdap",
            "rdap_url": "https://rdap.sidn.nl/domain/arcomul.nl",
            "registrar_name": "OVH",
            "registrar_handle": "0000",
            "registrant_name": "REDACTED FOR PRIVACY",
            "registrant_org": "",
            "registrant_country": "",
            "registrant_email": "me@arcomul.nl",
            "abuse_email": "",
            "created_date": "2009-06-16 13:25:07",
            "updated_date": "2025-12-18 07:51:42",
            "expires_date": null,
            "nameservers_json": "[\"dns10.ovh.net\",\"ns10.ovh.net\"]",
            "status_json": "[\"active\"]",
            "dnssec": "signed",
            "privacy_protected": 1,
            "content_hash": "486966686f8b4c1434646e3550d3ad1246ad3a75142bc36245ed021f28451b15",
            "history_count": 1,
            "last_checked_at": "2026-03-19 01:57:22",
            "last_changed_at": "2026-03-19 01:57:22",
            "created_at": "2026-03-19 01:57:22",
            "updated_at": "2026-03-19 01:57:22"
        },
        "history": [
            {
                "id": 28910,
                "domain": "arcomul.nl",
                "source_type": "rdap",
                "registrar_name": "OVH",
                "registrar_handle": "0000",
                "registrant_name": "REDACTED FOR PRIVACY",
                "registrant_org": "",
                "registrant_country": "",
                "registrant_email": "me@arcomul.nl",
                "abuse_email": "",
                "created_date": "2009-06-16 13:25:07",
                "updated_date": "2025-12-18 07:51:42",
                "expires_date": null,
                "nameservers_json": "[\"dns10.ovh.net\",\"ns10.ovh.net\"]",
                "status_json": "[\"active\"]",
                "dnssec": "signed",
                "privacy_protected": 1,
                "content_hash": "486966686f8b4c1434646e3550d3ad1246ad3a75142bc36245ed021f28451b15",
                "checked_at": "2026-03-19 01:57:22",
                "change_summary": "Initial WHOIS snapshot captured.",
                "created_at": "2026-03-19 01:57:22"
            }
        ],
        "signals": {
            "age_years": 16.8,
            "days_to_expiry": null,
            "days_since_last_registry_update": 116,
            "stability_score": 100,
            "registrar_changes": 0,
            "ownership_changes": 0,
            "nameserver_changes": 0,
            "status_changes": 0,
            "history_entries": 1,
            "privacy_protected": true,
            "dnssec_enabled": true,
            "has_registrant_country": false,
            "registrant_country": "",
            "nameserver_count": 2,
            "status_count": 1
        }
    },
    "discovered_domain": {
        "id": 80983,
        "domain": "arcomul.nl",
        "first_seen_at": "2026-03-15 20:24:53",
        "last_crawled_at": "2026-03-19 01:57:23",
        "last_title": "Arco Mul",
        "last_http_status": 200,
        "discovered_from_domain": "personalsit.es",
        "depth": 0,
        "backlinks_count": 1,
        "rating_cache": 52,
        "spam_score": 28,
        "risk_label": "good",
        "category_name": "Art & Design: Illustration & Digital Art",
        "primary_country_code": "NL",
        "internal_links_count": 12,
        "external_links_count": 4,
        "social_profiles_count": 2,
        "content_word_count": 99,
        "title_quality_score": 65,
        "has_meta_description": 1,
        "has_h1": 1,
        "language_code": "en",
        "response_time_ms": 921,
        "robots_status": 200,
        "sitemap_status": 200,
        "sitemap_total_urls": 31,
        "quality_score": 76,
        "site_name": "",
        "canonical_domain": "",
        "favicon_present": 0,
        "schema_org_count": 0,
        "noindex_detected": 0,
        "feed_links_count": 0,
        "https_working": 1,
        "estimated_authority_score": 35,
        "trust_score": 80,
        "nsfw_score": 0,
        "overall_rank_estimate": 16198,
        "primary_tag": "Uncertain",
        "tag_codes": "Uncertain",
        "manual_verified_status": "",
        "manual_tag_codes": "",
        "manual_rating_delta": 0,
        "manual_authority_delta": 0,
        "manual_trust_delta": 0,
        "manual_note": null,
        "manual_adjusted_by": null,
        "manual_adjusted_at": null,
        "manual_lock_scores": 0,
        "manual_lock_flags": 0,
        "crawl_blocked": 0,
        "crawl_blocked_by": "",
        "crawl_blocked_reason": null,
        "safety_score": 100,
        "fraud_score": 1,
        "legitimacy_score": 44,
        "infrastructure_risk_score": 7,
        "score_confidence": 100,
        "tag_confidence": 72,
        "category_confidence": 18,
        "deep_crawl_pages": 18,
        "resolved_ip": "104.198.14.52",
        "category_candidates_json": "[{\"category\":\"Art & Design: Illustration & Digital Art\",\"score\":6},{\"category\":\"Developer Tools: Code Hosting\",\"score\":6},{\"category\":\"Developer Tools: APIs & Documentation\",\"score\":6}]",
        "page_signals_json": "[{\"path\":\"/posts/tech/combining-component-variants-in-storybook/\",\"status\":200,\"title\":\"Combining component variants in Storybook\",\"word_count\":406,\"summary_text\":\"Combining component variants in Storybook Combining component variants in Storybook October 21, 2025 Combining component variants in a Storybook Vue story Reducing the number of Storybook stories improves the overview when browsing your product or design system documentation. When using tools like Chromatic, it reduces the number of snapshots and helps avoid the need to upgrade to a more expensive plan. By using a relatively easy-to-setup Storybook decorator, you can render different variants of a component while keeping the simple structure where one story defines one component: // utils/decorators.ts import type { DecoratorFunction } from &#34;storybook/internal/csf&#34;; /** * Renders multiple variants of a Story component in a column, * given predefined args for each variant. * * Usage: * const meta = { * ... * decorators: [cr\",\"classification_terms\":[\"posts/tech/combining-component-variants-in-storybook\",\"help\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"plausible.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/posts/tech/generated-svg-illustration/\",\"status\":200,\"title\":\"Generated SVG Illustration\",\"word_count\":253,\"summary_text\":\"Generated SVG Illustration Generated SVG Illustration May 5, 2024 Generated SVG Illustration The Institute for Logic, Language and Computation (ILLC) in Amsterdam asked for an illustration to accompany their article about diversity at the university and their institute. To illustrate this I wanted to show a diverse group of people, who become more and more diverse from the left to the right in the illustration. To achieve diversity in the illustration I needed many variations of these characters. Something which would be a time-consuming task to do by hand. I never let a reason to program pass, so I went the automated way. My goal was to create a grid of SVG illustrations of people to which particular colour scheme would be randomly applied. I started by illustrating some characters in Figma and exported them as SVG\",\"classification_terms\":[\"posts/tech/generated-svg-illustration\",\"about\",\"company\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"plausible.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/posts/tech/creating-a-paper-map-effect/\",\"status\":200,\"title\":\"Creating a paper map effect\",\"word_count\":453,\"summary_text\":\"Creating a paper map effect Creating a paper map effect December 22, 2023 Creating a paper map effect Somehow, the existence of &lsquo;web components&rsquo; a.k.a. custom elements has been under my radar for the past years. I knew they existed, but always wrote them off as not being supported in modern browsers. Turns out, this is not true at all. Since some years already, web components have been in use all over the web. To get to know the concepts and APIs I took upon building a little components for the Cologne hiking website I have been setting up: tageswanderungen.koeln. The final effect I&rsquo;m aiming for looks like this: Which can be initiated using the following HTML: &lt;map-effect src=&#34;map.jpg&#34;&gt; &lt;img src=&#34;map.jpg&#34; /&gt; &lt;/map-effect&gt; &lt;script src=&#34;map-effect.js&#34;&gt;&l\",\"classification_terms\":[\"posts/tech/creating-a-paper-map-effect\",\"support\",\"api\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"plausible.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/posts/tech/css-container-query-demo/\",\"status\":200,\"title\":\"Exploring CSS Container Queries\",\"word_count\":292,\"summary_text\":\"Exploring CSS Container Queries Exploring CSS Container Queries April 10, 2023 Exploring CSS Container Queries CSS Container Queries are now widely supported in modern browsers! Here&rsquo;s a summary and little demo. CSS Container Queries what? CSS Container Queries are a pretty new feature that allows developers to apply styles to elements based on their container&rsquo;s dimensions rather than the viewport size. This approach is different from normal media queries which apply styling based on the screen size. A benefit of this is that container queries allow for more effective use of media queries within the scope of the element itself. There is no need for overarching code to manage the styling of an element based on the viewport width. The element can manage this itself, making it more reusable. And reusability is a\",\"classification_terms\":[\"posts/tech/css-container-query-demo\",\"support\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"plausible.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/posts/tech/\",\"status\":200,\"title\":\"Posts\",\"word_count\":163,\"summary_text\":\"Posts Posts Posts Things I write 🖋️ Combining component variants in Storybook An example on how to combine different variants of a componenent in a single Storybook Vue story using decorators Oct 2025 Generated SVG Illustration Using SVG to create a randomized illustration to display the variety of diversity May 2024 Creating a paper map effect Let&#39;s explore web components by building a component which creates a slightly interactive map effect Dec 2023 Exploring CSS Container Queries Building a expandable illustration using CSS Container Queries Apr 2023 Hugo shortcode to preview HTML/CSS snippets As alternative to embedding a Codepen: a Hugo shortcode which shows two panels with HTML and CSS, and a preview panel Jan 2023 Card folding out of page CSS effect Let&#39;s make an effect where a c\",\"classification_terms\":[\"posts/tech\",\"about\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"plausible.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/lijn-tekening-van-een-gebouw\",\"status\":200,\"title\":\"Lijntekening van een gebouw\",\"word_count\":170,\"summary_text\":\"Lijntekening van een gebouw Lijntekening van een gebouw Lijntekening van een gebouw Zonder er erg van bewust te zijn lopen we dag in dag uit het pand in. Elke dag zien we het wel. Tot er verhuisd wordt. En plots is het gebouw uit je leven verdwenen. Met deze lijntekeningen kan er toch elke dag even teruggekeken worden. Net zo functioneel als eerbetoon aan het bouwwerk waar je nu in woont. Laat mij weten van welk pand je graag een lijntekening van zou willen. Dan stap ik op de fiets of pak het OV en ga een uurtje schetsen op locatie. Thuis werk ik de tekening af met inkt en krijg jij dit origineel opgestuurd. Leuk voor jezelf, leuk als kado. Kosten zijn rond de 60 euro, maar is zeker over te overleggen. Interesse? Bereik me op me@arcomul.nl Admiralen Gracht, Amsterdam Amstelkade, Wilnis Boshuizenlaan, Amsterdam Espere\",\"classification_terms\":[\"lijn-tekening-van-een-gebouw\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"plausible.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/p/gember-bier/\",\"status\":200,\"title\":\"Gember bier\",\"word_count\":443,\"summary_text\":\"Gember bier Gember bier Zelf gemberbier maken Gemberbier maken bestaat uit twee stappen. Een gember bug starten, en vervolgens met deze gember bug gemberbier maken. Onderstaande is wat ik gebruik qua hoeveelheden, ik ben hier zeker niet precies in, dus wijk er gerust van af. Van ervaring leer je het meest! :-) Benodigdheden Glazen pot van ongeveer een liter Groot stuk bio gember &lsquo;Natuurlijk&rsquo; suiker (zolang er maar geen chemische stoffen in zitten), suiker met voedingstoffen is beter, maar witte suiker zou ook moeten werken Glazenfles (+/- 1L) Gember bug Vul de pot met water, niet helemaal tot de rand, hou wat lucht over Voeg ongeveer 1 eetlepel suiker toe per liter water Snij ongeveer 1 a 2 eetlepel aan gember (per liter water) in plakken en voeg dit toe aan het water Laat dit brouwsel een\",\"classification_terms\":[\"p/gember-bier\",\"about\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"plausible.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/p/tempeh/\",\"status\":200,\"title\":\"Making Tempeh\",\"word_count\":165,\"summary_text\":\"Making Tempeh Making Tempeh Making Tempeh Tempeh is a great addition to plant-based meals. Especially when marinated well. Here&rsquo;s a short description of the way I like to make my tempeh. See also how to marinate it well below. For tempeh spores see: fermentationculture.eu Cook 150-200 grams of soy beans and a spoon of vinegar for 50 minutes Dry the beans on a plate next to an open window, stir them every few minutes Add one teaspoon of tempeh spores and stir well Pour the soybeans into breathable container (I use an Asian steaming basket filled with baking paper) Let the beans sit for 36 hours in a temperature of 30 degrees Enjoy your Tempeh! 😊 Marinating tempeh To marinate tempeh use the following ingredients: 1 Tablespoon of oil A gush of soy sauce 1 Teaspoon of mustard 1 Teaspoon of tomato past\",\"classification_terms\":[\"p/tempeh\",\"about\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"plausible.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/p/yoghurt/\",\"status\":200,\"title\":\"https://www.arcomul.nl/p/soy-yoghurt/\",\"word_count\":1,\"summary_text\":\"https://www.arcomul.nl/p/soy-yoghurt/ https://www.arcomul.nl/p/soy-yoghurt/\",\"classification_terms\":[\"p/yoghurt\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/p/hiking-trevelez-pico-de-fuentefria/\",\"status\":200,\"title\":\"TrevelÃ©z - Pico de Fuentefria Day Hike\",\"word_count\":184,\"summary_text\":\"TrevelÃ©z - Pico de Fuentefria Day Hike Treveléz - Pico de Fuentefria Day Hike Day hike: Treveléz - Pico de Fuentefria A great hike to explore the Sierra Nevada region next to Granada, with it&rsquo;s grassy mountains, and incredible views. Route Overview Start: Trevélez (1,476 m) Summit: Pico de Fuentefría (2,294 m) Optional Return: Peñabón (2,012 m) Distance: 13 km (full route) / 9 km (returning at Peñabón) Elevation Gain: ~1,000 m (full route) / ~700 m (returning at Peñabón) Estimated Time: 5–6 hours (full route) / 3–4 hours (returning at Peñabón) Difficulty: Moderate Download the GPX route Route The hike begins in Trevélez, climbing on a rocky path through pastures and a foresty area, giving a great view from above of the different barios of Treveléz. At Peñabón (2,012m), you can turn back for a shorter 9km route. Continuing\",\"classification_terms\":[\"p/hiking-trevelez-pico-de-fuentefria\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"plausible.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/p/cagliari-day-hike/\",\"status\":200,\"title\":\"Cagliari Day Hike\",\"word_count\":255,\"summary_text\":\"Cagliari Day Hike Cagliari Day Hike Day hike in Cagliari Hiking to Bruncu Mariangela and back (4 hours) Spending yours days in Cagliari and looking to make a small hike? Hiking to Bruncu Mariangela close to Capitana is a not too hard hike which is easy reachable by bus and will results in an amazing view. Be aware that this is a rather simple and short hike. Not even a full day. If you are looking for a full day hike, or even multiple days I&rsquo;d suggest to go to the Sette Fratelli mountains. Although I haven&rsquo;t been there myself, I bet the hike and view is more amazing. That being said, this is a fun short hike. How to get there Use Google Maps or another service to figure out your best route to S.P. Villasimius in Capitana, laying just besides Cagliari. In our case we took the following route: Fro\",\"classification_terms\":[\"p/cagliari-day-hike\",\"api\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"plausible.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/p/african-milk-tree/\",\"status\":200,\"title\":\"How to branch an African Milk Tree\",\"word_count\":256,\"summary_text\":\"How to branch an African Milk Tree How to branch an African Milk Tree How to branch an African Milk Tree The African Milk Tree (Euphorbia Trigona) can have the tendency to shoot up to the sky, not letting itself divert from its straight path upwards. I’ve had this problem, and it doesn’t result in a very beautiful plant. Scared of the plant continuing for meters into the air, I decided to do something about it. Branching an African Milk Tree Funnily the internet is a bit split on this topic. Some say the plant needs to have the best conditions it can get (enough nutrition, light and the right soil) for the plant to start branching. Others say the plant should be stressed a bit, put it in a dark corner of the house for a while, or give it very little water. On my search for a solution I came accross this Reddit comment, the\",\"classification_terms\":[\"p/african-milk-tree\",\"about\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"plausible.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/posts\",\"status\":200,\"title\":\"Posts\",\"word_count\":163,\"summary_text\":\"Posts Posts Posts Things I write 🖋️ Combining component variants in Storybook An example on how to combine different variants of a componenent in a single Storybook Vue story using decorators Oct 2025 Generated SVG Illustration Using SVG to create a randomized illustration to display the variety of diversity May 2024 Creating a paper map effect Let&#39;s explore web components by building a component which creates a slightly interactive map effect Dec 2023 Exploring CSS Container Queries Building a expandable illustration using CSS Container Queries Apr 2023 Hugo shortcode to preview HTML/CSS snippets As alternative to embedding a Codepen: a Hugo shortcode which shows two panels with HTML and CSS, and a preview panel Jan 2023 Card folding out of page CSS effect Let&#39;s make an effect where a c\",\"classification_terms\":[\"posts\",\"about\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"plausible.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/posts/tech/hugo-shortcode-html-css-snippet-preview/\",\"status\":200,\"title\":\"Hugo shortcode to preview HTML/CSS snippets\",\"word_count\":399,\"summary_text\":\"Hugo shortcode to preview HTML/CSS snippets Hugo shortcode to preview HTML/CSS snippets January 17, 2023 Hugo shortcode to preview HTML/CSS snippets As part of a previous post about a fancy CSS shadow effect, I required a way to demonstrate some HTML/CSS on the page, and also render it. I have a Codepen with the same CSS effect, but embedding it was no option, as I configured strict SCP rules for my website. Besides loading an external website to showcase some HTML/CSS is in theory a bit of an overkill regarding performance. So I created the following Hugo shortcode which generates a Codepen-like snippet preview without loading any external data. The source of the shortcode can be found here: github.com/ArcoMul/hugo-shortcode-html-css-preview. Usage The shortcode can be initiated in the following format: {{&lt; snippet &gt;}} &lt;st\",\"classification_terms\":[\"posts/tech/hugo-shortcode-html-css-snippet-preview\",\"about\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"plausible.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/posts/tech/card-folding-out-of-page-css-effect/\",\"status\":200,\"title\":\"Card folding out of page CSS effect\",\"word_count\":661,\"summary_text\":\"Card folding out of page CSS effect Card folding out of page CSS effect January 3, 2023 Card folding out of page CSS effect As part of my front-end work at Project Cece I got to make a CSS effect where a card seems to fold out of the background. This effect needs a shadow which gradually disappears under the element. To create this effect we will use CSS filter property, drop-shadow() filter-function, and the clip-path CSS property. The end result will look like this: We start with a container element which defines the size of the whole card: &lt;div class=&#34;card-container&#34;&gt; &lt;/div&gt; In the container we add an element which is going to contain the shadow, and another element which will hold the card contents, but will also cover the created custom shadow shape. &lt;div class=&#34;card-container&#34;&gt; &lt;div\",\"classification_terms\":[\"posts/tech/card-folding-out-of-page-css-effect\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"plausible.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/posts/tech/setting-up-https-for-self-hosted-sentry/\",\"status\":200,\"title\":\"Setting up HTTPS for self-hosted Sentry\",\"word_count\":321,\"summary_text\":\"Setting up HTTPS for self-hosted Sentry Setting up HTTPS for self-hosted Sentry December 15, 2022 Setting up HTTPS for self-hosted Sentry Sentry, a very powerful error-tracking tool, can easily be self-hosted. Their self-hosted Github repo and documentation explain this very well. To add HTTPS support to the instance isn&rsquo;t explained in detail though. In this post I give a brief description of how HTTPS using Traefik and Let&rsquo;s Encrypt can be added quite easily. Traefik Traefik is a reverse-proxy, meaning it is the door to your application, Sentry in our case. Traefik routes incoming requests to specific applications based on routing rules. As Sentry comes with Nginx, and Nginx is also a reverse-proxy, we are going to disable Nginx. Enabling HTTPS Follow these steps to enable HTTPS for your self-hosted Sentry: Install\",\"classification_terms\":[\"posts/tech/setting-up-https-for-self-hosted-sentry\",\"support\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"plausible.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/lijn-tekening-van-een-gebouw/amsterdam\",\"status\":200,\"title\":\"Tekening van een huis in Amsterdam\",\"word_count\":124,\"summary_text\":\"Tekening van een huis in Amsterdam Tekening van een huis in Amsterdam Tekening van een huis in Amsterdam Er staan prachtige panden in Amsterdam. Soms omdat ze simpelweg een mooie oude stijl hebben, en soms omdat een huis over de jaren heen karakteristieke elementen heeft verworven. Door de speelsheid van de lijnen kan een tekening zo&rsquo;n gebouw in Amsterdam echt tot zijn recht laten komen. Interesse om jouw huis, of dat van een vriend, te laten tekenen? Ik werk in de gehele omgeving van Amsterdam. Laat het weten dan kom ik een keer langs fietsen. Bekijk hier hoe ik te werk ga Admiralen Gracht, Amsterdam Amstelkade, Wilnis Boshuizenlaan, Amsterdam Esperenk, Espen Hoofdweg, Amsterdam Klemko, Soest Lange Muiderweg, Weesp Nassaukade, Amsterdam Ringdijk Tweede Bedijking, Mijdrecht Taling, Mijdrecht Veerstraat, Amsterdam 🌑 ☀️\",\"classification_terms\":[\"lijn-tekening-van-een-gebouw/amsterdam\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"plausible.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/lijn-tekening-van-een-gebouw/\",\"status\":200,\"title\":\"Lijntekening van een gebouw\",\"word_count\":170,\"summary_text\":\"Lijntekening van een gebouw Lijntekening van een gebouw Lijntekening van een gebouw Zonder er erg van bewust te zijn lopen we dag in dag uit het pand in. Elke dag zien we het wel. Tot er verhuisd wordt. En plots is het gebouw uit je leven verdwenen. Met deze lijntekeningen kan er toch elke dag even teruggekeken worden. Net zo functioneel als eerbetoon aan het bouwwerk waar je nu in woont. Laat mij weten van welk pand je graag een lijntekening van zou willen. Dan stap ik op de fiets of pak het OV en ga een uurtje schetsen op locatie. Thuis werk ik de tekening af met inkt en krijg jij dit origineel opgestuurd. Leuk voor jezelf, leuk als kado. Kosten zijn rond de 60 euro, maar is zeker over te overleggen. Interesse? Bereik me op me@arcomul.nl Admiralen Gracht, Amsterdam Amstelkade, Wilnis Boshuizenlaan, Amsterdam Espere\",\"classification_terms\":[\"lijn-tekening-van-een-gebouw\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"plausible.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":3}]",
        "score_reasons_json": "[]",
        "route_domain": "arcomul.nl",
        "display_domain": "arcomul.nl"
    },
    "explainability": {
        "summary": "arcomul.nl currently scores 64/100. The score is being shaped by a mixed signal profile rather than one dominant factor. Evidence confidence is strong enough for a relatively stable read. This is an estimated profile rather than a manually tracked one. Crawler access looks clean.",
        "badges": [
            {
                "label": "Profile",
                "value": "Estimated profile",
                "tone": "unknown",
                "detail": null
            },
            {
                "label": "Evidence confidence",
                "value": "High confidence",
                "tone": "good",
                "detail": "100/100"
            },
            {
                "label": "Traffic confidence",
                "value": "Moderate confidence",
                "tone": "caution",
                "detail": "47/100"
            },
            {
                "label": "Crawler access",
                "value": "Clean visibility",
                "tone": "good",
                "detail": null
            }
        ],
        "weighted_contributions": [
            {
                "label": "Quality system",
                "points": "+30.3",
                "tone": "good",
                "detail": "Technical quality, crawl depth, page structure, and implementation hygiene. Current subsystem score: 89/100."
            },
            {
                "label": "Reputation system",
                "points": "+15.3",
                "tone": "caution",
                "detail": "Authority, search visibility, reach, engagement, and registry stability. Current subsystem score: 45/100."
            },
            {
                "label": "Safety system",
                "points": "+32.0",
                "tone": "good",
                "detail": "Fraud, spam, and trust signals from infrastructure, crawl, and registry evidence. Current subsystem score: 100/100."
            },
            {
                "label": "Risk clamp",
                "points": "-14.0",
                "tone": "risk",
                "detail": "Safety thresholds capped the final score until the risk profile improves."
            }
        ],
        "evidence_cards": [
            {
                "label": "Authority and trust",
                "value": "44/100 · trust 55/100",
                "tone": "caution",
                "detail": "72 monthly visitors, 65 organic keywords, brand completeness 52/100, engagement 77/100."
            },
            {
                "label": "Backlink and search evidence",
                "value": "1 referring domains",
                "tone": "good",
                "detail": "1 backlinks across 1 referring domains. Diversity 92/100; spam penalty 3."
            },
            {
                "label": "Registry and domain stability",
                "value": "16.8 years old",
                "tone": "good",
                "detail": "Stability 100/100 · age 16.8 years · registrar OVH."
            },
            {
                "label": "Safety and fraud posture",
                "value": "Safety 100/100 · fraud 1/100",
                "tone": "good",
                "detail": "Primary tag T · safety 100/100 · fraud 1/100."
            }
        ],
        "positives": [
            "Established domain age: 16.8 years.",
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness.",
            "DNSSEC is enabled.",
            "Registry history looks stable, which supports legitimacy and trust.",
            "The domain has been registered for years, which usually improves trust confidence."
        ],
        "risks": [],
        "freshness": [
            {
                "label": "Crawl evidence",
                "value": "2026-03-19 01:57:23",
                "tone": "risk",
                "detail": "Crawl and page content sample. Age: 25d ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-03-19 01:57:22",
                "tone": "risk",
                "detail": "Registry profile and stability signals. Age: 25d ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-13 14:50:52",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-13 14:50:52",
                "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": 78,
        "fraud_clamp_penalty": 14,
        "final_score": 64
    },
    "insight_snapshot": {
        "version": 1,
        "generated_at": "2026-04-13T14:50:52+00:00",
        "domain": "arcomul.nl",
        "display_name": "Arco Mul",
        "is_tracked": false,
        "is_estimated": true,
        "overall_score": 64,
        "authority_score": 44,
        "trust_score": 55,
        "safety_score": 100,
        "fraud_score": 1,
        "confidence_score": 100,
        "traffic_confidence": 47,
        "last_crawled_at": "2026-03-19 01:57:23",
        "crawl_blocked": false,
        "summary": "arcomul.nl currently scores 64/100. The score is being shaped by a mixed signal profile rather than one dominant factor. Evidence confidence is strong enough for a relatively stable read. This is an estimated profile rather than a manually tracked one. Crawler access looks clean.",
        "badges": [
            {
                "label": "Profile",
                "value": "Estimated profile",
                "tone": "unknown",
                "detail": null
            },
            {
                "label": "Evidence confidence",
                "value": "High confidence",
                "tone": "good",
                "detail": "100/100"
            },
            {
                "label": "Traffic confidence",
                "value": "Moderate confidence",
                "tone": "caution",
                "detail": "47/100"
            },
            {
                "label": "Crawler access",
                "value": "Clean visibility",
                "tone": "good",
                "detail": null
            }
        ],
        "top_positive_signals": [
            "Established domain age: 16.8 years.",
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness.",
            "DNSSEC is enabled.",
            "Registry history looks stable, which supports legitimacy and trust."
        ],
        "top_risk_signals": [],
        "freshness": [
            {
                "label": "Crawl evidence",
                "value": "2026-03-19 01:57:23",
                "tone": "risk",
                "detail": "Crawl and page content sample. Age: 25d ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-03-19 01:57:22",
                "tone": "risk",
                "detail": "Registry profile and stability signals. Age: 25d ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-13 14:50:52",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-13 14:50:52",
                "tone": "good",
                "detail": "Estimated trend derived from current profile and crawl signals. Age: 0s ago."
            },
            {
                "label": "Audience geography",
                "value": "Not captured yet",
                "tone": "unknown",
                "detail": "Audience mix is estimated from available signals rather than first-party audience logs."
            }
        ],
        "top_tags": [
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good"
            },
            {
                "code": "Uncertain",
                "label": "Uncertain",
                "tone": "unknown"
            }
        ]
    },
    "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-13T16:21:43+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/arcomul.nl/refresh",
        "isGuestCooldown": false,
        "cooldownSeconds": 0
    },
    "urlscan_report": {
        "domain": "arcomul.nl",
        "status": "idle",
        "submitted_at": null,
        "completed_at": null,
        "last_checked_at": null,
        "last_error": "",
        "submitted_url": "https://arcomul.nl/",
        "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
    }
}