{
    "ready": true,
    "site": {
        "id": 0,
        "domain": "hliimatta.me",
        "display_name": "hliimatta's home on the interwebs",
        "primary_country_code": "",
        "category_name": "Legal"
    },
    "metrics": {
        "global_rank": 43452,
        "country_rank": 23639,
        "category_rank": 107,
        "daily_pageviews_per_visitor": 3.63,
        "daily_time_on_site_seconds": 314,
        "bounce_rate": 37.08,
        "search_visits_percent": 30.92,
        "total_sites_linking_in": 1,
        "monthly_unique_visitors": 76,
        "recorded_at": "2026-03-20 17:51:19"
    },
    "audit": {
        "score": 70
    },
    "traffic_sources": {
        "direct_percent": 31.38,
        "search_percent": 28.32,
        "social_percent": 7.9,
        "referral_percent": 14.66,
        "email_percent": 7.26,
        "paid_percent": 10.48
    },
    "seo_profile": {
        "backlinks_total": 1,
        "referring_domains": 1,
        "dofollow_backlinks_percent": 0,
        "organic_keywords": 9,
        "indexed_pages": 7,
        "page_speed_score": 100,
        "mobile_friendliness_score": 67,
        "authority_score": 14,
        "spam_risk_score": 37
    },
    "crawl_report": {
        "robots_status": 200,
        "sitemap_status": 200,
        "sitemap_total_urls": 0,
        "crawl_blocked": false,
        "crawl_blocked_by": "",
        "crawl_blocked_reason": "",
        "notes": [
            "Meta description is missing.",
            "No H1 heading was detected."
        ],
        "created_at": "2026-03-20 17:51:19"
    },
    "keywords": [
        {
            "keyword": "hliimatta's home on the interwebs",
            "position": 30,
            "search_engine": "Estimated",
            "checked_at": "2026-04-17 16:52:26",
            "is_estimated": true
        },
        {
            "keyword": "hliimatta's home on the interwebs legal",
            "position": 32,
            "search_engine": "Estimated",
            "checked_at": "2026-04-17 16:52:26",
            "is_estimated": true
        },
        {
            "keyword": "hliimatta's home on the interwebs reviews",
            "position": 34,
            "search_engine": "Estimated",
            "checked_at": "2026-04-17 16:52:26",
            "is_estimated": true
        },
        {
            "keyword": "hliimatta",
            "position": 36,
            "search_engine": "Estimated",
            "checked_at": "2026-04-17 16:52:26",
            "is_estimated": true
        },
        {
            "keyword": "the",
            "position": 38,
            "search_engine": "Estimated",
            "checked_at": "2026-04-17 16:52:26",
            "is_estimated": true
        },
        {
            "keyword": "interwebs",
            "position": 40,
            "search_engine": "Estimated",
            "checked_at": "2026-04-17 16:52:26",
            "is_estimated": true
        },
        {
            "keyword": "about",
            "position": 42,
            "search_engine": "Estimated",
            "checked_at": "2026-04-17 16:52:26",
            "is_estimated": true
        },
        {
            "keyword": "webring",
            "position": 44,
            "search_engine": "Estimated",
            "checked_at": "2026-04-17 16:52:26",
            "is_estimated": true
        }
    ],
    "rating": {
        "overall": 64,
        "label": "Healthy",
        "breakdown": [
            {
                "label": "Technical foundation",
                "score": 14,
                "max": 18
            },
            {
                "label": "Authority & trust",
                "score": 4,
                "max": 30
            },
            {
                "label": "Reach & market presence",
                "score": 3,
                "max": 18
            },
            {
                "label": "Search visibility",
                "score": 2,
                "max": 12
            },
            {
                "label": "Engagement & retention",
                "score": 8,
                "max": 10
            },
            {
                "label": "Channels & diversification",
                "score": 4,
                "max": 6
            },
            {
                "label": "Registry stability",
                "score": 3,
                "max": 6
            },
            {
                "label": "Quality system",
                "score": 78,
                "max": 100
            },
            {
                "label": "Reputation system",
                "score": 29,
                "max": 100
            },
            {
                "label": "Safety system",
                "score": 100,
                "max": 100
            },
            {
                "label": "Evidence confidence",
                "score": 99,
                "max": 100
            }
        ],
        "authority_score": 14,
        "quality_score": 78,
        "reputation_score": 29,
        "safety_score": 100,
        "confidence_score": 99,
        "fraud_score": 0,
        "authority_signals": {
            "backlinks": 1,
            "referring_domains": 1,
            "organic_keywords": 9,
            "indexed_pages": 7,
            "monthly_visitors": 76,
            "global_rank": 43452,
            "engagement_score": 76,
            "crawl_quality_score": 90,
            "brand_completeness_score": 44,
            "link_diversity_score": 92,
            "technical_reliability_score": 91,
            "whois_score": 45,
            "whois_age_years": 0,
            "whois_stability_score": 100,
            "spam_penalty": 3
        },
        "whois_signals": {
            "age_years": 0,
            "days_to_expiry": null,
            "days_since_last_registry_update": null,
            "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": 0,
            "status_count": 0
        }
    },
    "authority_score": 15,
    "trust_score": 36,
    "domain_tags": {
        "primary_tag": "T",
        "primary_tag_score": 76,
        "primary_candidate": "T",
        "primary_candidate_score": 76,
        "tag_codes": "T",
        "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": 76,
                "score": 76,
                "match_percent": 76,
                "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": 76,
                "score": 76,
                "match_percent": 76,
                "threshold_band": "strong"
            },
            {
                "code": "Uncertain",
                "label": "Uncertain",
                "tone": "unknown",
                "description": "External checks stayed inconclusive, so the model avoided a harder verdict.",
                "reason": "",
                "message": "The evidence does not currently look notably uncertain.",
                "priority": 18,
                "score": 18,
                "match_percent": 18,
                "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"
            },
            {
                "code": "D",
                "label": "Dangerous",
                "tone": "toxic",
                "description": "Strong signs of phishing, malware, or other harmful behaviour were detected.",
                "reason": "Multiple high-risk signals pushed this domain into the dangerous range.",
                "message": "No meaningful dangerous-signal match was detected.",
                "priority": 0,
                "score": 0,
                "match_percent": 0,
                "threshold_band": "none"
            }
        ],
        "nsfw_score": 0,
        "trust_score": 37,
        "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 (76% 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 · 76%",
                "tone": "good",
                "detail": "The highest raw tag match from the heuristic engine before visibility thresholds and manual overrides."
            },
            {
                "label": "Trust score",
                "value": "37/100",
                "tone": "spam",
                "detail": "Confidence derived from authority, crawl quality, stability, and risk signals."
            },
            {
                "label": "Authority score",
                "value": "15/100",
                "tone": "spam",
                "detail": "A higher authority score usually means broader reputation and backlink confidence."
            },
            {
                "label": "Spam risk",
                "value": "21/100",
                "tone": "good",
                "detail": "Lower is better. This blends spam indicators with false-positive protections for legitimate sites."
            },
            {
                "label": "Quality score",
                "value": "72/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": "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": "99/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": "—",
                        "tone": "unknown",
                        "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 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": "9",
                        "tone": "unknown",
                        "detail": "Search footprint helps distinguish real sites from thin shells."
                    },
                    {
                        "label": "Indexed pages",
                        "value": "7",
                        "tone": "unknown",
                        "detail": "Larger index coverage usually means more evidence to classify from."
                    },
                    {
                        "label": "Brand strength",
                        "value": "44/100",
                        "tone": "caution",
                        "detail": "Stronger brand signals reduce false positives for legitimate sites."
                    },
                    {
                        "label": "Risk label",
                        "value": "GOOD",
                        "tone": "unknown",
                        "detail": "This is the raw crawl / heuristic risk label feeding the tag model."
                    }
                ]
            },
            {
                "title": "Crawl, content & technicals",
                "items": [
                    {
                        "label": "HTTP status",
                        "value": "200",
                        "tone": "good",
                        "detail": "Healthy responses make classification more reliable."
                    },
                    {
                        "label": "HTTPS / speed",
                        "value": "HTTPS OK · 101 ms",
                        "tone": "good",
                        "detail": "Slow or broken technical signals weaken confidence."
                    },
                    {
                        "label": "Content words",
                        "value": "615",
                        "tone": "good",
                        "detail": "Thin pages are harder to trust and easier to manipulate."
                    },
                    {
                        "label": "Schema / structure",
                        "value": "0 schema · no meta · no H1",
                        "tone": "unknown",
                        "detail": "Structured markup and basic on-page hygiene improve quality confidence."
                    },
                    {
                        "label": "Links on page",
                        "value": "7 internal · 4 external",
                        "tone": "good",
                        "detail": "Link patterns help detect thin directories and promo pages."
                    },
                    {
                        "label": "Page speed / mobile",
                        "value": "100/100 · 67/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": [
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness."
        ],
        "risks": []
    },
    "traffic_confidence": 12,
    "whois": {
        "current": {
            "id": 50472,
            "domain": "hliimatta.me",
            "source_type": "whois_text",
            "rdap_url": "",
            "registrar_name": "",
            "registrar_handle": "",
            "registrant_name": "",
            "registrant_org": "",
            "registrant_country": "",
            "registrant_email": "",
            "abuse_email": "",
            "created_date": null,
            "updated_date": null,
            "expires_date": null,
            "nameservers_json": "[]",
            "status_json": "[]",
            "dnssec": "unknown",
            "privacy_protected": 0,
            "content_hash": "f7e17c57c5fdd24df1793ece6bff99716369356b90b29c4725ac3ba12a76b72c",
            "history_count": 1,
            "last_checked_at": "2026-03-20 17:51:18",
            "last_changed_at": "2026-03-20 17:51:18",
            "created_at": "2026-03-20 17:51:19",
            "updated_at": "2026-03-20 17:51:19"
        },
        "history": [
            {
                "id": 51503,
                "domain": "hliimatta.me",
                "source_type": "whois_text",
                "registrar_name": "",
                "registrar_handle": "",
                "registrant_name": "",
                "registrant_org": "",
                "registrant_country": "",
                "registrant_email": "",
                "abuse_email": "",
                "created_date": null,
                "updated_date": null,
                "expires_date": null,
                "nameservers_json": "[]",
                "status_json": "[]",
                "dnssec": "unknown",
                "privacy_protected": 0,
                "content_hash": "f7e17c57c5fdd24df1793ece6bff99716369356b90b29c4725ac3ba12a76b72c",
                "checked_at": "2026-03-20 17:51:18",
                "change_summary": "Initial WHOIS snapshot captured.",
                "created_at": "2026-03-20 17:51:18"
            }
        ],
        "signals": {
            "age_years": 0,
            "days_to_expiry": null,
            "days_since_last_registry_update": null,
            "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": 0,
            "status_count": 0
        }
    },
    "discovered_domain": {
        "id": 95987,
        "domain": "hliimatta.me",
        "first_seen_at": "2026-03-15 21:47:24",
        "last_crawled_at": "2026-03-20 17:51:19",
        "last_title": "hliimatta's home on the interwebs | hliimatta.me",
        "last_http_status": 200,
        "discovered_from_domain": "512kb.club",
        "depth": 0,
        "backlinks_count": 1,
        "rating_cache": 53,
        "spam_score": 24,
        "risk_label": "good",
        "category_name": "Legal",
        "primary_country_code": "",
        "internal_links_count": 7,
        "external_links_count": 4,
        "social_profiles_count": 1,
        "content_word_count": 615,
        "title_quality_score": 81,
        "has_meta_description": 0,
        "has_h1": 0,
        "language_code": "en",
        "response_time_ms": 101,
        "robots_status": 200,
        "sitemap_status": 200,
        "sitemap_total_urls": 0,
        "quality_score": 72,
        "site_name": "",
        "canonical_domain": "",
        "favicon_present": 1,
        "schema_org_count": 0,
        "noindex_detected": 0,
        "feed_links_count": 0,
        "https_working": 1,
        "estimated_authority_score": 15,
        "trust_score": 70,
        "nsfw_score": 0,
        "overall_rank_estimate": 28769,
        "primary_tag": "T",
        "tag_codes": "T",
        "manual_verified_status": "",
        "manual_tag_codes": "",
        "manual_rating_delta": 0,
        "manual_authority_delta": 0,
        "manual_trust_delta": 0,
        "manual_note": null,
        "manual_adjusted_by": null,
        "manual_adjusted_at": null,
        "manual_lock_scores": 0,
        "manual_lock_flags": 0,
        "crawl_blocked": 0,
        "crawl_blocked_by": "",
        "crawl_blocked_reason": null,
        "safety_score": 100,
        "fraud_score": 0,
        "legitimacy_score": 36,
        "infrastructure_risk_score": 0,
        "score_confidence": 99,
        "tag_confidence": 71,
        "category_confidence": 22,
        "deep_crawl_pages": 50,
        "resolved_ip": "161.35.70.28",
        "category_candidates_json": "[{\"category\":\"Legal\",\"score\":17},{\"category\":\"Developer Tools: Code Hosting\",\"score\":6},{\"category\":\"Technology: Hosting & Infrastructure\",\"score\":6},{\"category\":\"Business: Corporate & Professional Services\",\"score\":6}]",
        "page_signals_json": "[{\"path\":\"/about\",\"status\":200,\"title\":\"About | hliimatta.me\",\"word_count\":102,\"summary_text\":\"About | hliimatta.me About | hliimatta.me Home Notes Photos About hello Hi! I’m @hliimatta. This is my little corner of the web where I post about coding, handmade projects, and photography. You'll also find some of my photos here and on Pixelfed or Flickr—sometimes just snapshots, sometimes experiments. Feel free to poke around or find me online as @hliimatta. about this site Small selfmade static site generator that generates a site from a bunch of Markdown-files. Theme built with the Bulma CSS framework with a very minimal amount of custom css. No javascript, no cookies ← IndieWeb Webring → &copy;2022-2026 hliimatta mail mastodon github hliimatta\",\"classification_terms\":[\"about\",\"webring\"],\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/contact\",\"status\":200,\"title\":\"404 — page not found\",\"word_count\":132,\"summary_text\":\"404 — page not found 404 — page not found @font-face { font-family: \\\"JetBrains Mono\\\"; font-style: normal; font-weight: 100 800; font-display: swap; src: url(\\\"/fonts/jetbrains-mono-regular.woff2\\\") format(\\\"woff2\\\"); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } body { background: #1a1a1e; color: #e0e0e0; font-family: \\\"JetBrains Mono\\\", monospace; font-size: 0.9rem; line-height: 1.6; display: flex; justify-content: center; align-items: center; min-height: 100vh; padding: 1.5rem; } .error-page { text-align: center; max-width: 480px; } .error-code { font-size: 3rem; font-weight: 600; color: #e0e0e0; margin-bottom: 0.5rem; } .error-message { font-size: 1rem; color: seagreen; margin-bottom: 1.5rem; } .error-detail { font-size: 0.8rem; color: #a0a0a0; margin-bottom: 2rem; } a { color: seagr\",\"classification_terms\":[\"contact\"],\"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\":\"/privacy\",\"status\":200,\"title\":\"404 — page not found\",\"word_count\":132,\"summary_text\":\"404 — page not found 404 — page not found @font-face { font-family: \\\"JetBrains Mono\\\"; font-style: normal; font-weight: 100 800; font-display: swap; src: url(\\\"/fonts/jetbrains-mono-regular.woff2\\\") format(\\\"woff2\\\"); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } body { background: #1a1a1e; color: #e0e0e0; font-family: \\\"JetBrains Mono\\\", monospace; font-size: 0.9rem; line-height: 1.6; display: flex; justify-content: center; align-items: center; min-height: 100vh; padding: 1.5rem; } .error-page { text-align: center; max-width: 480px; } .error-code { font-size: 3rem; font-weight: 600; color: #e0e0e0; margin-bottom: 0.5rem; } .error-message { font-size: 1rem; color: seagreen; margin-bottom: 1.5rem; } .error-detail { font-size: 0.8rem; color: #a0a0a0; margin-bottom: 2rem; } a { color: seagr\",\"classification_terms\":[\"privacy\"],\"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\":\"/terms\",\"status\":200,\"title\":\"404 — page not found\",\"word_count\":132,\"summary_text\":\"404 — page not found 404 — page not found @font-face { font-family: \\\"JetBrains Mono\\\"; font-style: normal; font-weight: 100 800; font-display: swap; src: url(\\\"/fonts/jetbrains-mono-regular.woff2\\\") format(\\\"woff2\\\"); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } body { background: #1a1a1e; color: #e0e0e0; font-family: \\\"JetBrains Mono\\\", monospace; font-size: 0.9rem; line-height: 1.6; display: flex; justify-content: center; align-items: center; min-height: 100vh; padding: 1.5rem; } .error-page { text-align: center; max-width: 480px; } .error-code { font-size: 3rem; font-weight: 600; color: #e0e0e0; margin-bottom: 0.5rem; } .error-message { font-size: 1rem; color: seagreen; margin-bottom: 1.5rem; } .error-detail { font-size: 0.8rem; color: #a0a0a0; margin-bottom: 2rem; } a { color: seagr\",\"classification_terms\":[\"terms\"],\"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\":\"/refund-policy\",\"status\":200,\"title\":\"404 — page not found\",\"word_count\":132,\"summary_text\":\"404 — page not found 404 — page not found @font-face { font-family: \\\"JetBrains Mono\\\"; font-style: normal; font-weight: 100 800; font-display: swap; src: url(\\\"/fonts/jetbrains-mono-regular.woff2\\\") format(\\\"woff2\\\"); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } body { background: #1a1a1e; color: #e0e0e0; font-family: \\\"JetBrains Mono\\\", monospace; font-size: 0.9rem; line-height: 1.6; display: flex; justify-content: center; align-items: center; min-height: 100vh; padding: 1.5rem; } .error-page { text-align: center; max-width: 480px; } .error-code { font-size: 3rem; font-weight: 600; color: #e0e0e0; margin-bottom: 0.5rem; } .error-message { font-size: 1rem; color: seagreen; margin-bottom: 1.5rem; } .error-detail { font-size: 0.8rem; color: #a0a0a0; margin-bottom: 2rem; } a { color: seagr\",\"classification_terms\":[\"refund-policy\",\"refund\"],\"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\":\"/returns\",\"status\":200,\"title\":\"404 — page not found\",\"word_count\":132,\"summary_text\":\"404 — page not found 404 — page not found @font-face { font-family: \\\"JetBrains Mono\\\"; font-style: normal; font-weight: 100 800; font-display: swap; src: url(\\\"/fonts/jetbrains-mono-regular.woff2\\\") format(\\\"woff2\\\"); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } body { background: #1a1a1e; color: #e0e0e0; font-family: \\\"JetBrains Mono\\\", monospace; font-size: 0.9rem; line-height: 1.6; display: flex; justify-content: center; align-items: center; min-height: 100vh; padding: 1.5rem; } .error-page { text-align: center; max-width: 480px; } .error-code { font-size: 3rem; font-weight: 600; color: #e0e0e0; margin-bottom: 0.5rem; } .error-message { font-size: 1rem; color: seagreen; margin-bottom: 1.5rem; } .error-detail { font-size: 0.8rem; color: #a0a0a0; margin-bottom: 2rem; } a { color: seagr\",\"classification_terms\":[\"returns\"],\"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\":\"/support\",\"status\":200,\"title\":\"404 — page not found\",\"word_count\":132,\"summary_text\":\"404 — page not found 404 — page not found @font-face { font-family: \\\"JetBrains Mono\\\"; font-style: normal; font-weight: 100 800; font-display: swap; src: url(\\\"/fonts/jetbrains-mono-regular.woff2\\\") format(\\\"woff2\\\"); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } body { background: #1a1a1e; color: #e0e0e0; font-family: \\\"JetBrains Mono\\\", monospace; font-size: 0.9rem; line-height: 1.6; display: flex; justify-content: center; align-items: center; min-height: 100vh; padding: 1.5rem; } .error-page { text-align: center; max-width: 480px; } .error-code { font-size: 3rem; font-weight: 600; color: #e0e0e0; margin-bottom: 0.5rem; } .error-message { font-size: 1rem; color: seagreen; margin-bottom: 1.5rem; } .error-detail { font-size: 0.8rem; color: #a0a0a0; margin-bottom: 2rem; } a { color: seagr\",\"classification_terms\":[\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/login\",\"status\":200,\"title\":\"404 — page not found\",\"word_count\":132,\"summary_text\":\"404 — page not found 404 — page not found @font-face { font-family: \\\"JetBrains Mono\\\"; font-style: normal; font-weight: 100 800; font-display: swap; src: url(\\\"/fonts/jetbrains-mono-regular.woff2\\\") format(\\\"woff2\\\"); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } body { background: #1a1a1e; color: #e0e0e0; font-family: \\\"JetBrains Mono\\\", monospace; font-size: 0.9rem; line-height: 1.6; display: flex; justify-content: center; align-items: center; min-height: 100vh; padding: 1.5rem; } .error-page { text-align: center; max-width: 480px; } .error-code { font-size: 3rem; font-weight: 600; color: #e0e0e0; margin-bottom: 0.5rem; } .error-message { font-size: 1rem; color: seagreen; margin-bottom: 1.5rem; } .error-detail { font-size: 0.8rem; color: #a0a0a0; margin-bottom: 2rem; } a { color: seagr\",\"classification_terms\":[\"login\"],\"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\":\"/account\",\"status\":200,\"title\":\"404 — page not found\",\"word_count\":132,\"summary_text\":\"404 — page not found 404 — page not found @font-face { font-family: \\\"JetBrains Mono\\\"; font-style: normal; font-weight: 100 800; font-display: swap; src: url(\\\"/fonts/jetbrains-mono-regular.woff2\\\") format(\\\"woff2\\\"); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } body { background: #1a1a1e; color: #e0e0e0; font-family: \\\"JetBrains Mono\\\", monospace; font-size: 0.9rem; line-height: 1.6; display: flex; justify-content: center; align-items: center; min-height: 100vh; padding: 1.5rem; } .error-page { text-align: center; max-width: 480px; } .error-code { font-size: 3rem; font-weight: 600; color: #e0e0e0; margin-bottom: 0.5rem; } .error-message { font-size: 1rem; color: seagreen; margin-bottom: 1.5rem; } .error-detail { font-size: 0.8rem; color: #a0a0a0; margin-bottom: 2rem; } a { color: seagr\",\"classification_terms\":[\"account\"],\"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\":\"/checkout\",\"status\":200,\"title\":\"404 — page not found\",\"word_count\":132,\"summary_text\":\"404 — page not found 404 — page not found @font-face { font-family: \\\"JetBrains Mono\\\"; font-style: normal; font-weight: 100 800; font-display: swap; src: url(\\\"/fonts/jetbrains-mono-regular.woff2\\\") format(\\\"woff2\\\"); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } body { background: #1a1a1e; color: #e0e0e0; font-family: \\\"JetBrains Mono\\\", monospace; font-size: 0.9rem; line-height: 1.6; display: flex; justify-content: center; align-items: center; min-height: 100vh; padding: 1.5rem; } .error-page { text-align: center; max-width: 480px; } .error-code { font-size: 3rem; font-weight: 600; color: #e0e0e0; margin-bottom: 0.5rem; } .error-message { font-size: 1rem; color: seagreen; margin-bottom: 1.5rem; } .error-detail { font-size: 0.8rem; color: #a0a0a0; margin-bottom: 2rem; } a { color: seagr\",\"classification_terms\":[\"checkout\"],\"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\":\"/cart\",\"status\":200,\"title\":\"404 — page not found\",\"word_count\":132,\"summary_text\":\"404 — page not found 404 — page not found @font-face { font-family: \\\"JetBrains Mono\\\"; font-style: normal; font-weight: 100 800; font-display: swap; src: url(\\\"/fonts/jetbrains-mono-regular.woff2\\\") format(\\\"woff2\\\"); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } body { background: #1a1a1e; color: #e0e0e0; font-family: \\\"JetBrains Mono\\\", monospace; font-size: 0.9rem; line-height: 1.6; display: flex; justify-content: center; align-items: center; min-height: 100vh; padding: 1.5rem; } .error-page { text-align: center; max-width: 480px; } .error-code { font-size: 3rem; font-weight: 600; color: #e0e0e0; margin-bottom: 0.5rem; } .error-message { font-size: 1rem; color: seagreen; margin-bottom: 1.5rem; } .error-detail { font-size: 0.8rem; color: #a0a0a0; margin-bottom: 2rem; } a { color: seagr\",\"classification_terms\":[\"cart\"],\"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\":\"/wallet\",\"status\":200,\"title\":\"404 — page not found\",\"word_count\":132,\"summary_text\":\"404 — page not found 404 — page not found @font-face { font-family: \\\"JetBrains Mono\\\"; font-style: normal; font-weight: 100 800; font-display: swap; src: url(\\\"/fonts/jetbrains-mono-regular.woff2\\\") format(\\\"woff2\\\"); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } body { background: #1a1a1e; color: #e0e0e0; font-family: \\\"JetBrains Mono\\\", monospace; font-size: 0.9rem; line-height: 1.6; display: flex; justify-content: center; align-items: center; min-height: 100vh; padding: 1.5rem; } .error-page { text-align: center; max-width: 480px; } .error-code { font-size: 3rem; font-weight: 600; color: #e0e0e0; margin-bottom: 0.5rem; } .error-message { font-size: 1rem; color: seagreen; margin-bottom: 1.5rem; } .error-detail { font-size: 0.8rem; color: #a0a0a0; margin-bottom: 2rem; } a { color: seagr\",\"classification_terms\":[\"wallet\"],\"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\":\"/help\",\"status\":200,\"title\":\"404 — page not found\",\"word_count\":132,\"summary_text\":\"404 — page not found 404 — page not found @font-face { font-family: \\\"JetBrains Mono\\\"; font-style: normal; font-weight: 100 800; font-display: swap; src: url(\\\"/fonts/jetbrains-mono-regular.woff2\\\") format(\\\"woff2\\\"); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } body { background: #1a1a1e; color: #e0e0e0; font-family: \\\"JetBrains Mono\\\", monospace; font-size: 0.9rem; line-height: 1.6; display: flex; justify-content: center; align-items: center; min-height: 100vh; padding: 1.5rem; } .error-page { text-align: center; max-width: 480px; } .error-code { font-size: 3rem; font-weight: 600; color: #e0e0e0; margin-bottom: 0.5rem; } .error-message { font-size: 1rem; color: seagreen; margin-bottom: 1.5rem; } .error-detail { font-size: 0.8rem; color: #a0a0a0; margin-bottom: 2rem; } a { color: seagr\",\"classification_terms\":[\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/docs\",\"status\":200,\"title\":\"404 — page not found\",\"word_count\":132,\"summary_text\":\"404 — page not found 404 — page not found @font-face { font-family: \\\"JetBrains Mono\\\"; font-style: normal; font-weight: 100 800; font-display: swap; src: url(\\\"/fonts/jetbrains-mono-regular.woff2\\\") format(\\\"woff2\\\"); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } body { background: #1a1a1e; color: #e0e0e0; font-family: \\\"JetBrains Mono\\\", monospace; font-size: 0.9rem; line-height: 1.6; display: flex; justify-content: center; align-items: center; min-height: 100vh; padding: 1.5rem; } .error-page { text-align: center; max-width: 480px; } .error-code { font-size: 3rem; font-weight: 600; color: #e0e0e0; margin-bottom: 0.5rem; } .error-message { font-size: 1rem; color: seagreen; margin-bottom: 1.5rem; } .error-detail { font-size: 0.8rem; color: #a0a0a0; margin-bottom: 2rem; } a { color: seagr\",\"classification_terms\":[\"docs\"],\"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\":\"/api\",\"status\":200,\"title\":\"404 — page not found\",\"word_count\":132,\"summary_text\":\"404 — page not found 404 — page not found @font-face { font-family: \\\"JetBrains Mono\\\"; font-style: normal; font-weight: 100 800; font-display: swap; src: url(\\\"/fonts/jetbrains-mono-regular.woff2\\\") format(\\\"woff2\\\"); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } body { background: #1a1a1e; color: #e0e0e0; font-family: \\\"JetBrains Mono\\\", monospace; font-size: 0.9rem; line-height: 1.6; display: flex; justify-content: center; align-items: center; min-height: 100vh; padding: 1.5rem; } .error-page { text-align: center; max-width: 480px; } .error-code { font-size: 3rem; font-weight: 600; color: #e0e0e0; margin-bottom: 0.5rem; } .error-message { font-size: 1rem; color: seagreen; margin-bottom: 1.5rem; } .error-detail { font-size: 0.8rem; color: #a0a0a0; margin-bottom: 2rem; } a { color: seagr\",\"classification_terms\":[\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/faq\",\"status\":200,\"title\":\"404 — page not found\",\"word_count\":132,\"summary_text\":\"404 — page not found 404 — page not found @font-face { font-family: \\\"JetBrains Mono\\\"; font-style: normal; font-weight: 100 800; font-display: swap; src: url(\\\"/fonts/jetbrains-mono-regular.woff2\\\") format(\\\"woff2\\\"); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } body { background: #1a1a1e; color: #e0e0e0; font-family: \\\"JetBrains Mono\\\", monospace; font-size: 0.9rem; line-height: 1.6; display: flex; justify-content: center; align-items: center; min-height: 100vh; padding: 1.5rem; } .error-page { text-align: center; max-width: 480px; } .error-code { font-size: 3rem; font-weight: 600; color: #e0e0e0; margin-bottom: 0.5rem; } .error-message { font-size: 1rem; color: seagreen; margin-bottom: 1.5rem; } .error-detail { font-size: 0.8rem; color: #a0a0a0; margin-bottom: 2rem; } a { color: seagr\",\"classification_terms\":[\"faq\"],\"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\":\"/company\",\"status\":200,\"title\":\"404 — page not found\",\"word_count\":132,\"summary_text\":\"404 — page not found 404 — page not found @font-face { font-family: \\\"JetBrains Mono\\\"; font-style: normal; font-weight: 100 800; font-display: swap; src: url(\\\"/fonts/jetbrains-mono-regular.woff2\\\") format(\\\"woff2\\\"); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } body { background: #1a1a1e; color: #e0e0e0; font-family: \\\"JetBrains Mono\\\", monospace; font-size: 0.9rem; line-height: 1.6; display: flex; justify-content: center; align-items: center; min-height: 100vh; padding: 1.5rem; } .error-page { text-align: center; max-width: 480px; } .error-code { font-size: 3rem; font-weight: 600; color: #e0e0e0; margin-bottom: 0.5rem; } .error-message { font-size: 1rem; color: seagreen; margin-bottom: 1.5rem; } .error-detail { font-size: 0.8rem; color: #a0a0a0; margin-bottom: 2rem; } a { color: seagr\",\"classification_terms\":[\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/shipping\",\"status\":200,\"title\":\"404 — page not found\",\"word_count\":132,\"summary_text\":\"404 — page not found 404 — page not found @font-face { font-family: \\\"JetBrains Mono\\\"; font-style: normal; font-weight: 100 800; font-display: swap; src: url(\\\"/fonts/jetbrains-mono-regular.woff2\\\") format(\\\"woff2\\\"); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } body { background: #1a1a1e; color: #e0e0e0; font-family: \\\"JetBrains Mono\\\", monospace; font-size: 0.9rem; line-height: 1.6; display: flex; justify-content: center; align-items: center; min-height: 100vh; padding: 1.5rem; } .error-page { text-align: center; max-width: 480px; } .error-code { font-size: 3rem; font-weight: 600; color: #e0e0e0; margin-bottom: 0.5rem; } .error-message { font-size: 1rem; color: seagreen; margin-bottom: 1.5rem; } .error-detail { font-size: 0.8rem; color: #a0a0a0; margin-bottom: 2rem; } a { color: seagr\",\"classification_terms\":[\"shipping\"],\"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\":\"/pricing\",\"status\":200,\"title\":\"404 — page not found\",\"word_count\":132,\"summary_text\":\"404 — page not found 404 — page not found @font-face { font-family: \\\"JetBrains Mono\\\"; font-style: normal; font-weight: 100 800; font-display: swap; src: url(\\\"/fonts/jetbrains-mono-regular.woff2\\\") format(\\\"woff2\\\"); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } body { background: #1a1a1e; color: #e0e0e0; font-family: \\\"JetBrains Mono\\\", monospace; font-size: 0.9rem; line-height: 1.6; display: flex; justify-content: center; align-items: center; min-height: 100vh; padding: 1.5rem; } .error-page { text-align: center; max-width: 480px; } .error-code { font-size: 3rem; font-weight: 600; color: #e0e0e0; margin-bottom: 0.5rem; } .error-message { font-size: 1rem; color: seagreen; margin-bottom: 1.5rem; } .error-detail { font-size: 0.8rem; color: #a0a0a0; margin-bottom: 2rem; } a { color: seagr\",\"classification_terms\":[\"pricing\"],\"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\":\"/legal\",\"status\":200,\"title\":\"404 — page not found\",\"word_count\":132,\"summary_text\":\"404 — page not found 404 — page not found @font-face { font-family: \\\"JetBrains Mono\\\"; font-style: normal; font-weight: 100 800; font-display: swap; src: url(\\\"/fonts/jetbrains-mono-regular.woff2\\\") format(\\\"woff2\\\"); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } body { background: #1a1a1e; color: #e0e0e0; font-family: \\\"JetBrains Mono\\\", monospace; font-size: 0.9rem; line-height: 1.6; display: flex; justify-content: center; align-items: center; min-height: 100vh; padding: 1.5rem; } .error-page { text-align: center; max-width: 480px; } .error-code { font-size: 3rem; font-weight: 600; color: #e0e0e0; margin-bottom: 0.5rem; } .error-message { font-size: 1rem; color: seagreen; margin-bottom: 1.5rem; } .error-detail { font-size: 0.8rem; color: #a0a0a0; margin-bottom: 2rem; } a { color: seagr\",\"classification_terms\":[\"legal\"],\"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\":\"/notes\",\"status\":200,\"title\":\"Notes | hliimatta.me\",\"word_count\":1182,\"summary_text\":\"Notes | hliimatta.me Notes | hliimatta.me Home Notes Photos About For a long time, I’ve had a strange problem. I know the web inside out. I can set up servers, configure reverse proxies, wire up CI pipelines, optimize builds, tweak performance, design systems, automate workflows — all of it. And yet, my own website sits there, half-updated. Not because I don’t have anything to say. But because publishing feels heavier than it should. Every time I want to update something, there’s friction. A build step. A deploy step. A context switch. A small cognitive tax. And friction kills momentum. So instead of complaining about platforms, algorithms, and the current state of the web, I decided to fix the one thing I actually control: my own publishing workflow. I built myself a tool. Nothing revolutionary. Nothing loud.\",\"classification_terms\":[\"notes\",\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":1},{\"path\":\"/photos\",\"status\":200,\"title\":\"Photos | hliimatta.me\",\"word_count\":17,\"summary_text\":\"Photos | hliimatta.me Photos | hliimatta.me Home Notes Photos About ← IndieWeb Webring → &copy;2022-2026 hliimatta mail mastodon github hliimatta\",\"classification_terms\":[\"photos\",\"about\",\"webring\"],\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/note/20260221063004\",\"status\":200,\"title\":\"Own your space on the web | hliimatta.me\",\"word_count\":370,\"summary_text\":\"Own your space on the web | hliimatta.me Own your space on the web | hliimatta.me Home Notes Photos About For a long time, I’ve had a strange problem. I know the web inside out. I can set up servers, configure reverse proxies, wire up CI pipelines, optimize builds, tweak performance, design systems, automate workflows — all of it. And yet, my own website sits there, half-updated. Not because I don’t have anything to say. But because publishing feels heavier than it should. Every time I want to update something, there’s friction. A build step. A deploy step. A context switch. A small cognitive tax. And friction kills momentum. So instead of complaining about platforms, algorithms, and the current state of the web, I decided to fix the one thing I actually control: my own publishing workflow. I built myself a tool. Nothing revoluti\",\"classification_terms\":[\"note/20260221063004\",\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/note/20250925050206\",\"status\":200,\"title\":\"Joined to Ocean throne | hliimatta.me\",\"word_count\":130,\"summary_text\":\"Joined to Ocean throne | hliimatta.me Joined to Ocean throne | hliimatta.me Home Notes Photos About I’ve joined Ocean Throne as their guitarist. I went to try out with the band, and after one rehearsal it was pretty clear this was going to work. The songs felt right, the playing felt solid, and nothing felt forced. It just made sense. Playing death metal again feels really good. I didn’t fully realize how much I’d missed it until we started jamming. There’s a certain weight and intensity in this style that you don’t really get anywhere else. A couple of months ago we shot new band photos for the current lineup, and I’ve also been working on the band’s new website at https://oceanthrone.com. September 21, 2025 hliimatta ← IndieWeb Webring → &copy;2022-2026 hliimatta mail mastodon github hliimatta\",\"classification_terms\":[\"note/20250925050206\",\"about\",\"webring\"],\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/note/20250603043354\",\"status\":200,\"title\":\"hliimatta's home on the interwebs | hliimatta.me\",\"word_count\":157,\"summary_text\":\"hliimatta's home on the interwebs | hliimatta.me hliimatta's home on the interwebs | hliimatta.me Home Notes Photos About Recently, I've been trying to remember one thing: whenever I perform a repetitive task on the computer, I should write a script for it. Just a small one. I often think, 'I'll remember this', but just as often I forget. The manual steps get forgotten, changed or go wrong. Yet it's easy to leave a script undone because I think, 'I can't do it now' or 'it's not that complicated'. But that little bit of laziness always pays off later. I've found that trying to script things forces you to understand what you're actually doing. And the next time it's all there, you don't have to think or guess because you can just run the script and move on. The goal: if the same thing is done twice, it will be scripted. June 03, 2025 hliim\",\"classification_terms\":[\"note/20250603043354\",\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/now\",\"status\":200,\"title\":\"Now | hliimatta.me\",\"word_count\":36,\"summary_text\":\"Now | hliimatta.me Now | hliimatta.me Home Notes Photos About Sun, 21 Sep 2025 02:52:34 GMT now This page is a snapshot of what I'm currently focusing on. listening ← IndieWeb Webring → &copy;2022-2026 hliimatta mail mastodon github hliimatta\",\"classification_terms\":[\"now\",\"about\",\"webring\"],\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/note/20250520012751\",\"status\":200,\"title\":\"hliimatta's home on the interwebs | hliimatta.me\",\"word_count\":107,\"summary_text\":\"hliimatta's home on the interwebs | hliimatta.me hliimatta's home on the interwebs | hliimatta.me Home Notes Photos About After many years with Airsonic, I’ve switched to Navidrome. Airsonic worked, but it felt outdated and the Subsonic API was unreliable. I kept running into errors when trying to fetch my latest albums for the /now-page. Eventually, it just became too frustrating. Navidrome feels modern, fast, and much more stable. Setup was smooth and everything works as expected. Quick Docker setup: docker run -d -v /path/to/music:/music -v /path/to/data:/data -p 4533:4533 deluan/navidrome Then open http://localhost:4533 and start listening. More at https://www.navidrome.org https://github.com/navidrome/navidrome https://hub.docker.com/r/deluan/navidrome May 20, 2025 hliimatta #self-hosting mastodon ← IndieWeb Webring → &copy;2022-202\",\"classification_terms\":[\"note/20250520012751\",\"about\",\"api\",\"webring\"],\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/tags/self-hosting\",\"status\":200,\"title\":\"self-hosting | hliimatta.me\",\"word_count\":104,\"summary_text\":\"self-hosting | hliimatta.me self-hosting | hliimatta.me Home Notes Photos About self-hosting After many years with Airsonic, I’ve switched to Navidrome. Airsonic worked, but it felt outdated and the Subsonic API was unreliable. I kept running into errors when trying to fetch my latest albums for the /now-page. Eventually, it just became too frustrating. Navidrome feels modern, fast, and much more stable. Setup was smooth and everything works as expected. Quick Docker setup: docker run -d -v /path/to/music:/music -v /path/to/data:/data -p 4533:4533 deluan/navidrome Then open http://localhost:4533 and start listening. More at https://www.navidrome.org https://github.com/navidrome/navidrome https://hub.docker.com/r/deluan/navidrome May 20, 2025 hliimatta #self-hosting mastodon ← IndieWeb Webring → &copy;2022-2026 hliima\",\"classification_terms\":[\"tags/self-hosting\",\"about\",\"api\",\"webring\"],\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/note/20250516015440\",\"status\":200,\"title\":\"hliimatta's home on the interwebs | hliimatta.me\",\"word_count\":137,\"summary_text\":\"hliimatta's home on the interwebs | hliimatta.me hliimatta's home on the interwebs | hliimatta.me Home Notes Photos About For years, I have listened to music almost exclusively as complete albums, from start to finish, without skipping tracks. The albums have always felt like complete works of art that shouldn't be broken up. However, this habit has also made my listening experience rather one-sided. Recently, though, I've embraced randomness. I've been listening without a plan, on shuffle. It has been a pleasant surprise. Music feels more alive when I don't know what's coming next. You might be hit full force by an old song, or stopped in your tracks by a new discovery. I'm not dismissing albums, but I now allow myself to do things differently sometimes. To listen more freely. May 16, 2025 hliimatta ← IndieWeb Webring → &copy;2022-2026\",\"classification_terms\":[\"note/20250516015440\",\"about\",\"webring\"],\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/note/20250427183500\",\"status\":200,\"title\":\"hliimatta's home on the interwebs | hliimatta.me\",\"word_count\":63,\"summary_text\":\"hliimatta's home on the interwebs | hliimatta.me hliimatta's home on the interwebs | hliimatta.me Home Notes Photos About Gave the site a little makeover — should look a bit nicer now. Also added a Photos section with some random shots just for fun. Still very much a work in progress, but that’s part of the fun! April 27, 2025 hliimatta ← IndieWeb Webring → &copy;2022-2026 hliimatta mail mastodon github hliimatta\",\"classification_terms\":[\"note/20250427183500\",\"about\",\"webring\"],\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/note/20250423122500\",\"status\":200,\"title\":\"hliimatta's home on the interwebs | hliimatta.me\",\"word_count\":71,\"summary_text\":\"hliimatta's home on the interwebs | hliimatta.me hliimatta's home on the interwebs | hliimatta.me Home Notes Photos About Seems like my unplanned break from Mastodon (and the rest of social media) has quietly come to an end — just like it quietly began. No big story, it just… happened. And now I’m back. I think. Might even update my homepage too, who knows! April 23, 2025 hliimatta mastodon ← IndieWeb Webring → &copy;2022-2026 hliimatta mail mastodon github hliimatta\",\"classification_terms\":[\"note/20250423122500\",\"about\",\"webring\"],\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/note/20240121065107\",\"status\":200,\"title\":\"hliimatta's home on the interwebs | hliimatta.me\",\"word_count\":59,\"summary_text\":\"hliimatta's home on the interwebs | hliimatta.me hliimatta's home on the interwebs | hliimatta.me Home Notes Photos About I have made some updates to the site's style, but there may still be room for improvement. Additionally, I have switched from using Hugo to a custom static page generator for content aggregation. January 21, 2024 hliimatta #indieweb ← IndieWeb Webring → &copy;2022-2026 hliimatta mail mastodon github hliimatta\",\"classification_terms\":[\"note/20240121065107\",\"about\",\"webring\"],\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/tags/indieweb\",\"status\":200,\"title\":\"indieweb | hliimatta.me\",\"word_count\":189,\"summary_text\":\"indieweb | hliimatta.me indieweb | hliimatta.me Home Notes Photos About indieweb I have made some updates to the site's style, but there may still be room for improvement. Additionally, I have switched from using Hugo to a custom static page generator for content aggregation. January 21, 2024 hliimatta #indieweb The new micropub server seems to be working well. With a bit more fine-tuning it could be ready for release. May 10, 2023 hliimatta #indieweb #programming #diy I did a rewrite of the micropub server, which is still a work in progress. The previous version was written in PHP, but the new version is written in Crystal. March 14, 2023 hliimatta #programming #indieweb I spent a couple of days learning about micropub. January 04, 2023 hliimatta #indieweb Recently, I lost my Instagram account. It was frustratin\",\"classification_terms\":[\"tags/indieweb\",\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/note/20230626194200\",\"status\":200,\"title\":\"hliimatta's home on the interwebs | hliimatta.me\",\"word_count\":69,\"summary_text\":\"hliimatta's home on the interwebs | hliimatta.me hliimatta's home on the interwebs | hliimatta.me Home Notes Photos About I made a small command line tool for time tracking with absence.io. I mainly use a terminal and a text editor when I’m working so now there is no need for browser when I need to change my status. https://github.com/hliimatta/absn June 26, 2023 hliimatta #programming #crystal #diy mastodon ← IndieWeb Webring → &copy;2022-2026 hliimatta mail mastodon github hliimatta\",\"classification_terms\":[\"note/20230626194200\",\"about\",\"webring\"],\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/tags/programming\",\"status\":200,\"title\":\"programming | hliimatta.me\",\"word_count\":163,\"summary_text\":\"programming | hliimatta.me programming | hliimatta.me Home Notes Photos About programming I made a small command line tool for time tracking with absence.io. I mainly use a terminal and a text editor when I’m working so now there is no need for browser when I need to change my status. https://github.com/hliimatta/absn June 26, 2023 hliimatta #programming #crystal #diy mastodon The new micropub server seems to be working well. With a bit more fine-tuning it could be ready for release. May 10, 2023 hliimatta #indieweb #programming #diy I did a rewrite of the micropub server, which is still a work in progress. The previous version was written in PHP, but the new version is written in Crystal. March 14, 2023 hliimatta #programming #indieweb A few months ago I tried Nim because I wanted to learn a new language, but it di\",\"classification_terms\":[\"tags/programming\",\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/tags/crystal\",\"status\":200,\"title\":\"crystal | hliimatta.me\",\"word_count\":66,\"summary_text\":\"crystal | hliimatta.me crystal | hliimatta.me Home Notes Photos About crystal I made a small command line tool for time tracking with absence.io. I mainly use a terminal and a text editor when I’m working so now there is no need for browser when I need to change my status. https://github.com/hliimatta/absn June 26, 2023 hliimatta #programming #crystal #diy mastodon ← IndieWeb Webring → &copy;2022-2026 hliimatta mail mastodon github hliimatta\",\"classification_terms\":[\"tags/crystal\",\"about\",\"webring\"],\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/tags/diy\",\"status\":200,\"title\":\"diy | hliimatta.me\",\"word_count\":254,\"summary_text\":\"diy | hliimatta.me diy | hliimatta.me Home Notes Photos About diy Another puukko finished! Stainless steel blade and a handle made from stabilized burl. The shape of the handle is finally starting to feel like what I’ve been aiming for all along—getting closer to that perfect fit. February 24, 2025 hliimatta #photography #diy I made some leather covers for notebooks. The covers are big enough for passport-sized notebooks – so you could use ones like the Traveler's Notebooks. September 20, 2024 hliimatta #photography #diy mastodon My son didn't want me to change the neck on my old guitar, because he thought the original neck was fine. I had no choice but to make a new guitar. Neck: maple with rosewood skunk stripe Body: swamp ash, hollow body Hardware: random secondhand hardware Pickups: Tonerider Blues Alnic\",\"classification_terms\":[\"tags/diy\",\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/note/20230510150300\",\"status\":200,\"title\":\"hliimatta's home on the interwebs | hliimatta.me\",\"word_count\":48,\"summary_text\":\"hliimatta's home on the interwebs | hliimatta.me hliimatta's home on the interwebs | hliimatta.me Home Notes Photos About The new micropub server seems to be working well. With a bit more fine-tuning it could be ready for release. May 10, 2023 hliimatta #indieweb #programming #diy ← IndieWeb Webring → &copy;2022-2026 hliimatta mail mastodon github hliimatta\",\"classification_terms\":[\"note/20230510150300\",\"about\",\"webring\"],\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/note/20230314120000\",\"status\":200,\"title\":\"hliimatta's home on the interwebs | hliimatta.me\",\"word_count\":57,\"summary_text\":\"hliimatta's home on the interwebs | hliimatta.me hliimatta's home on the interwebs | hliimatta.me Home Notes Photos About I did a rewrite of the micropub server, which is still a work in progress. The previous version was written in PHP, but the new version is written in Crystal. March 14, 2023 hliimatta #programming #indieweb ← IndieWeb Webring → &copy;2022-2026 hliimatta mail mastodon github hliimatta\",\"classification_terms\":[\"note/20230314120000\",\"about\",\"webring\"],\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/note/20230308103152\",\"status\":200,\"title\":\"hliimatta's home on the interwebs | hliimatta.me\",\"word_count\":55,\"summary_text\":\"hliimatta's home on the interwebs | hliimatta.me hliimatta's home on the interwebs | hliimatta.me Home Notes Photos About A few months ago I tried Nim because I wanted to learn a new language, but it didn't work for me. But I immediately fell in love with Crystal. March 08, 2023 hliimatta #programming ← IndieWeb Webring → &copy;2022-2026 hliimatta mail mastodon github hliimatta\",\"classification_terms\":[\"note/20230308103152\",\"about\",\"webring\"],\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/note/20230308070857\",\"status\":200,\"title\":\"hliimatta's home on the interwebs | hliimatta.me\",\"word_count\":33,\"summary_text\":\"hliimatta's home on the interwebs | hliimatta.me hliimatta's home on the interwebs | hliimatta.me Home Notes Photos About Winter still trying to hold on. -28℃. March 08, 2023 hliimatta #winter ← IndieWeb Webring → &copy;2022-2026 hliimatta mail mastodon github hliimatta\",\"classification_terms\":[\"note/20230308070857\",\"about\",\"webring\"],\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/tags/winter\",\"status\":200,\"title\":\"winter | hliimatta.me\",\"word_count\":41,\"summary_text\":\"winter | hliimatta.me winter | hliimatta.me Home Notes Photos About winter Winter still trying to hold on. -28℃. March 08, 2023 hliimatta #winter Permanent snow for the winter 2022-2023 December 01, 2022 hliimatta #winter ← IndieWeb Webring → &copy;2022-2026 hliimatta mail mastodon github hliimatta\",\"classification_terms\":[\"tags/winter\",\"about\",\"webring\"],\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/note/20230104172800\",\"status\":200,\"title\":\"hliimatta's home on the interwebs | hliimatta.me\",\"word_count\":35,\"summary_text\":\"hliimatta's home on the interwebs | hliimatta.me hliimatta's home on the interwebs | hliimatta.me Home Notes Photos About I spent a couple of days learning about micropub. January 04, 2023 hliimatta #indieweb ← IndieWeb Webring → &copy;2022-2026 hliimatta mail mastodon github hliimatta\",\"classification_terms\":[\"note/20230104172800\",\"about\",\"webring\"],\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/note/20221201090000\",\"status\":200,\"title\":\"hliimatta's home on the interwebs | hliimatta.me\",\"word_count\":32,\"summary_text\":\"hliimatta's home on the interwebs | hliimatta.me hliimatta's home on the interwebs | hliimatta.me Home Notes Photos About Permanent snow for the winter 2022-2023 December 01, 2022 hliimatta #winter ← IndieWeb Webring → &copy;2022-2026 hliimatta mail mastodon github hliimatta\",\"classification_terms\":[\"note/20221201090000\",\"about\",\"webring\"],\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/note/20221129110937\",\"status\":200,\"title\":\"New website | hliimatta.me\",\"word_count\":74,\"summary_text\":\"New website | hliimatta.me New website | hliimatta.me Home Notes Photos About Recently, I lost my Instagram account. It was frustrating and disappointing. I had built up a significant following and enjoyed connecting with my followers. However, I decided to move on and start using a website to share my content. I will share my content also on Mastodon, Pixelfed, Github, and Flickr. November 29, 2022 hliimatta #indieweb ← IndieWeb Webring → &copy;2022-2026 hliimatta mail mastodon github hliimatta\",\"classification_terms\":[\"note/20221129110937\",\"about\",\"webring\"],\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/photo/20250430045200\",\"status\":200,\"title\":\"hliimatta's home on the interwebs | hliimatta.me\",\"word_count\":47,\"summary_text\":\"hliimatta's home on the interwebs | hliimatta.me hliimatta's home on the interwebs | hliimatta.me Home Notes Photos About Another look through the Tamron 90mm Macro. This time: a Higonokami knife — minimal, worn, and full of quiet character. April 30, 2025 hliimatta #photography mastodon ← IndieWeb Webring → &copy;2022-2026 hliimatta mail mastodon github hliimatta\",\"classification_terms\":[\"photo/20250430045200\",\"about\",\"webring\"],\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/photo/20250429042000\",\"status\":200,\"title\":\"hliimatta's home on the interwebs | hliimatta.me\",\"word_count\":58,\"summary_text\":\"hliimatta's home on the interwebs | hliimatta.me hliimatta's home on the interwebs | hliimatta.me Home Notes Photos About Took some time to revisit an old favorite — the Tamron 90mm Macro. This shot of a skull ring reminded me how much beauty there is in the small, textured details. April 29, 2025 hliimatta #photography mastodon ← IndieWeb Webring → &copy;2022-2026 hliimatta mail mastodon github hliimatta\",\"classification_terms\":[\"photo/20250429042000\",\"about\",\"webring\"],\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/photo/20250224060000\",\"status\":200,\"title\":\"hliimatta's home on the interwebs | hliimatta.me\",\"word_count\":63,\"summary_text\":\"hliimatta's home on the interwebs | hliimatta.me hliimatta's home on the interwebs | hliimatta.me Home Notes Photos About Another puukko finished! Stainless steel blade and a handle made from stabilized burl. The shape of the handle is finally starting to feel like what I’ve been aiming for all along—getting closer to that perfect fit. February 24, 2025 hliimatta #photography #diy ← IndieWeb Webring → &copy;2022-2026 hliimatta mail mastodon github hliimatta\",\"classification_terms\":[\"photo/20250224060000\",\"about\",\"webring\"],\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/photo/20240920122025\",\"status\":200,\"title\":\"hliimatta's home on the interwebs | hliimatta.me\",\"word_count\":53,\"summary_text\":\"hliimatta's home on the interwebs | hliimatta.me hliimatta's home on the interwebs | hliimatta.me Home Notes Photos About I made some leather covers for notebooks. The covers are big enough for passport-sized notebooks – so you could use ones like the Traveler's Notebooks. September 20, 2024 hliimatta #photography #diy mastodon ← IndieWeb Webring → &copy;2022-2026 hliimatta mail mastodon github hliimatta\",\"classification_terms\":[\"photo/20240920122025\",\"about\",\"webring\"],\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/photo/20240331142700\",\"status\":200,\"title\":\"hliimatta's home on the interwebs | hliimatta.me\",\"word_count\":81,\"summary_text\":\"hliimatta's home on the interwebs | hliimatta.me hliimatta's home on the interwebs | hliimatta.me Home Notes Photos About My son didn't want me to change the neck on my old guitar, because he thought the original neck was fine. I had no choice but to make a new guitar. Neck: maple with rosewood skunk stripe Body: swamp ash, hollow body Hardware: random secondhand hardware Pickups: Tonerider Blues Alnico II Finish: Shellac March 31, 2024 hliimatta #photography #diy mastodon ← IndieWeb Webring → &copy;2022-2026 hliimatta mail mastodon github hliimatta\",\"classification_terms\":[\"photo/20240331142700\",\"about\",\"webring\"],\"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\":[\"rarecode.dev\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2}]",
        "score_reasons_json": "[]",
        "route_domain": "hliimatta.me",
        "display_domain": "hliimatta.me"
    },
    "explainability": {
        "summary": "hliimatta.me 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": "99/100"
            },
            {
                "label": "Traffic confidence",
                "value": "Low confidence",
                "tone": "risk",
                "detail": "12/100"
            },
            {
                "label": "Crawler access",
                "value": "Clean visibility",
                "tone": "good",
                "detail": null
            }
        ],
        "weighted_contributions": [
            {
                "label": "Quality system",
                "points": "+26.5",
                "tone": "good",
                "detail": "Technical quality, crawl depth, page structure, and implementation hygiene. Current subsystem score: 78/100."
            },
            {
                "label": "Reputation system",
                "points": "+9.9",
                "tone": "risk",
                "detail": "Authority, search visibility, reach, engagement, and registry stability. Current subsystem score: 29/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": "-4.0",
                "tone": "risk",
                "detail": "Safety thresholds capped the final score until the risk profile improves."
            }
        ],
        "evidence_cards": [
            {
                "label": "Authority and trust",
                "value": "15/100 · trust 36/100",
                "tone": "risk",
                "detail": "76 monthly visitors, 9 organic keywords, brand completeness 44/100, engagement 76/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": "0.0 years old",
                "tone": "good",
                "detail": "Stability 100/100 · age 0.0 years."
            },
            {
                "label": "Safety and fraud posture",
                "value": "Safety 100/100 · fraud 0/100",
                "tone": "good",
                "detail": "Primary tag T · safety 100/100 · fraud 0/100."
            }
        ],
        "positives": [
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness.",
            "Registry history looks stable, which supports legitimacy and trust.",
            "HTTPS is working, so the site clears a basic transport-security check.",
            "Backlink diversity looks broad enough to strengthen authority confidence."
        ],
        "risks": [
            "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-20 17:51:19",
                "tone": "risk",
                "detail": "Crawl and page content sample. Age: 27d ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-03-20 17:51:18",
                "tone": "risk",
                "detail": "Registry profile and stability signals. Age: 27d ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-17 16:52:26",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-17 16:52:26",
                "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": 68,
        "fraud_clamp_penalty": 4,
        "final_score": 64
    },
    "insight_snapshot": {
        "version": 1,
        "generated_at": "2026-04-17T16:52:26+00:00",
        "domain": "hliimatta.me",
        "display_name": "hliimatta's home on the interwebs",
        "is_tracked": false,
        "is_estimated": true,
        "overall_score": 64,
        "authority_score": 15,
        "trust_score": 36,
        "safety_score": 100,
        "fraud_score": 0,
        "confidence_score": 99,
        "traffic_confidence": 12,
        "last_crawled_at": "2026-03-20 17:51:19",
        "crawl_blocked": false,
        "summary": "hliimatta.me 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": "99/100"
            },
            {
                "label": "Traffic confidence",
                "value": "Low confidence",
                "tone": "risk",
                "detail": "12/100"
            },
            {
                "label": "Crawler access",
                "value": "Clean visibility",
                "tone": "good",
                "detail": null
            }
        ],
        "top_positive_signals": [
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness.",
            "Registry history looks stable, which supports legitimacy and trust.",
            "HTTPS is working, so the site clears a basic transport-security check.",
            "Backlink diversity looks broad enough to strengthen authority confidence."
        ],
        "top_risk_signals": [
            "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-20 17:51:19",
                "tone": "risk",
                "detail": "Crawl and page content sample. Age: 27d ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-03-20 17:51:18",
                "tone": "risk",
                "detail": "Registry profile and stability signals. Age: 27d ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-17 16:52:26",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-17 16:52:26",
                "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"
            }
        ]
    },
    "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-17T21:00:53+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/hliimatta.me/refresh",
        "isGuestCooldown": false,
        "cooldownSeconds": 0
    },
    "urlscan_report": {
        "domain": "hliimatta.me",
        "status": "idle",
        "submitted_at": null,
        "completed_at": null,
        "last_checked_at": null,
        "last_error": "",
        "submitted_url": "https://hliimatta.me/",
        "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
    }
}