{
    "ready": true,
    "site": {
        "id": 0,
        "domain": "ache.one",
        "display_name": "ache",
        "primary_country_code": "",
        "category_name": "Personal"
    },
    "metrics": {
        "global_rank": 7744,
        "country_rank": 3929,
        "category_rank": 6,
        "daily_pageviews_per_visitor": 3.85,
        "daily_time_on_site_seconds": 311,
        "bounce_rate": 32.44,
        "search_visits_percent": 41.12,
        "total_sites_linking_in": 2,
        "monthly_unique_visitors": 171,
        "recorded_at": "2026-04-02 20:32:50"
    },
    "audit": {
        "score": 89
    },
    "traffic_sources": {
        "direct_percent": 28.42,
        "search_percent": 37.44,
        "social_percent": 4.91,
        "referral_percent": 13.23,
        "email_percent": 6.88,
        "paid_percent": 9.12
    },
    "seo_profile": {
        "backlinks_total": 2,
        "referring_domains": 2,
        "dofollow_backlinks_percent": 100,
        "organic_keywords": 77,
        "indexed_pages": 79,
        "page_speed_score": 100,
        "mobile_friendliness_score": 87,
        "authority_score": 48,
        "spam_risk_score": 15
    },
    "crawl_report": {
        "robots_status": 200,
        "sitemap_status": 200,
        "sitemap_total_urls": 79,
        "crawl_blocked": false,
        "crawl_blocked_by": "",
        "crawl_blocked_reason": "",
        "notes": [],
        "created_at": "2026-04-02 20:32:50"
    },
    "keywords": [
        {
            "keyword": "ache",
            "position": 19,
            "search_engine": "Estimated",
            "checked_at": "2026-04-17 09:22:15",
            "is_estimated": true
        },
        {
            "keyword": "ache personal",
            "position": 21,
            "search_engine": "Estimated",
            "checked_at": "2026-04-17 09:22:15",
            "is_estimated": true
        },
        {
            "keyword": "ache reviews",
            "position": 23,
            "search_engine": "Estimated",
            "checked_at": "2026-04-17 09:22:15",
            "is_estimated": true
        },
        {
            "keyword": "one",
            "position": 25,
            "search_engine": "Estimated",
            "checked_at": "2026-04-17 09:22:15",
            "is_estimated": true
        },
        {
            "keyword": "personal",
            "position": 27,
            "search_engine": "Estimated",
            "checked_at": "2026-04-17 09:22:15",
            "is_estimated": true
        },
        {
            "keyword": "blog",
            "position": 29,
            "search_engine": "Estimated",
            "checked_at": "2026-04-17 09:22:15",
            "is_estimated": true
        },
        {
            "keyword": "legal",
            "position": 31,
            "search_engine": "Estimated",
            "checked_at": "2026-04-17 09:22:15",
            "is_estimated": true
        },
        {
            "keyword": "api",
            "position": 33,
            "search_engine": "Estimated",
            "checked_at": "2026-04-17 09:22:15",
            "is_estimated": true
        }
    ],
    "rating": {
        "overall": 64,
        "label": "Healthy",
        "breakdown": [
            {
                "label": "Technical foundation",
                "score": 17,
                "max": 18
            },
            {
                "label": "Authority & trust",
                "score": 15,
                "max": 30
            },
            {
                "label": "Reach & market presence",
                "score": 3,
                "max": 18
            },
            {
                "label": "Search visibility",
                "score": 3,
                "max": 12
            },
            {
                "label": "Engagement & retention",
                "score": 8,
                "max": 10
            },
            {
                "label": "Channels & diversification",
                "score": 4,
                "max": 6
            },
            {
                "label": "Registry stability",
                "score": 6,
                "max": 6
            },
            {
                "label": "Quality system",
                "score": 94,
                "max": 100
            },
            {
                "label": "Reputation system",
                "score": 48,
                "max": 100
            },
            {
                "label": "Safety system",
                "score": 100,
                "max": 100
            },
            {
                "label": "Evidence confidence",
                "score": 94,
                "max": 100
            },
            {
                "label": "External intelligence",
                "score": 50,
                "max": 100
            }
        ],
        "authority_score": 50,
        "quality_score": 94,
        "reputation_score": 48,
        "safety_score": 100,
        "confidence_score": 94,
        "fraud_score": 0,
        "authority_signals": {
            "backlinks": 2,
            "referring_domains": 2,
            "organic_keywords": 77,
            "indexed_pages": 79,
            "monthly_visitors": 171,
            "global_rank": 7744,
            "engagement_score": 79,
            "crawl_quality_score": 100,
            "brand_completeness_score": 60,
            "link_diversity_score": 93,
            "technical_reliability_score": 96,
            "whois_score": 65,
            "whois_age_years": 10.9,
            "whois_stability_score": 94,
            "spam_penalty": 0
        },
        "whois_signals": {
            "age_years": 10.9,
            "days_to_expiry": 39,
            "days_since_last_registry_update": 183,
            "stability_score": 94,
            "registrar_changes": 0,
            "ownership_changes": 0,
            "nameserver_changes": 0,
            "status_changes": 0,
            "history_entries": 1,
            "privacy_protected": false,
            "dnssec_enabled": true,
            "has_registrant_country": false,
            "registrant_country": "",
            "nameserver_count": 2,
            "status_count": 2
        }
    },
    "authority_score": 50,
    "trust_score": 80,
    "domain_tags": {
        "primary_tag": "T",
        "primary_tag_score": 86,
        "primary_candidate": "T",
        "primary_candidate_score": 86,
        "tag_codes": "T,Uncertain",
        "tags": [
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good",
                "description": "Strong trust, stability, and low-risk signals were detected.",
                "reason": "Low spam indicators plus strong trust, quality, registry, and stability signals were detected. Showing the stored external intelligence snapshot. New search and review intelligence only runs after a visitor uses Refresh data manually.",
                "message": "The site shows a reasonably trustworthy and stable profile.",
                "priority": 86,
                "score": 86,
                "match_percent": 86,
                "threshold_band": "strong"
            },
            {
                "code": "Uncertain",
                "label": "Uncertain",
                "tone": "unknown",
                "description": "External checks stayed inconclusive, so the model avoided a harder verdict.",
                "reason": "External checks stayed inconclusive, so the system kept an uncertainty buffer.",
                "message": "The evidence is materially mixed or partially corroborated, so the model is avoiding a harder verdict.",
                "priority": 68,
                "score": 68,
                "match_percent": 68,
                "threshold_band": "strong"
            }
        ],
        "tag_breakdown": [
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good",
                "description": "Strong trust, stability, and low-risk signals were detected.",
                "reason": "Low spam indicators plus strong trust, quality, registry, and stability signals were detected. Showing the stored external intelligence snapshot. New search and review intelligence only runs after a visitor uses Refresh data manually.",
                "message": "The site shows a reasonably trustworthy and stable profile.",
                "priority": 86,
                "score": 86,
                "match_percent": 86,
                "threshold_band": "strong"
            },
            {
                "code": "Uncertain",
                "label": "Uncertain",
                "tone": "unknown",
                "description": "External checks stayed inconclusive, so the model avoided a harder verdict.",
                "reason": "External checks stayed inconclusive, so the system kept an uncertainty buffer.",
                "message": "The evidence is materially mixed or partially corroborated, so the model is avoiding a harder verdict.",
                "priority": 68,
                "score": 68,
                "match_percent": 68,
                "threshold_band": "strong"
            },
            {
                "code": "C",
                "label": "Caution",
                "tone": "caution",
                "description": "Signals are mixed or weak, so this domain should be treated carefully.",
                "reason": "Review carefully: mixed trust signals. Showing the stored external intelligence snapshot. New search and review intelligence only runs after a visitor uses Refresh data manually.",
                "message": "The current crawl does not show a meaningful caution match.",
                "priority": 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. Showing the stored external intelligence snapshot. New search and review intelligence only runs after a visitor uses Refresh data manually.",
                "message": "No meaningful dangerous-signal match was detected.",
                "priority": 0,
                "score": 0,
                "match_percent": 0,
                "threshold_band": "none"
            }
        ],
        "nsfw_score": 0,
        "trust_score": 84,
        "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 (86% match) because low spam indicators plus strong trust, quality, registry, and stability signals were detected. showing the stored external intelligence snapshot. new search and review intelligence only runs after a visitor uses refresh data manually.",
        "external_intel": {
            "domain": "ache.one",
            "candidate_tag": "",
            "checked_at": "2026-03-18T23:56:14+00:00",
            "status": "fresh",
            "snapshot_version": 5,
            "summary": "Showing the stored external intelligence snapshot. New search and review intelligence only runs after a visitor uses Refresh data manually.",
            "search_intelligence": {
                "queries": [
                    "\"ache.one\" -site:ache.one -site:www.ache.one",
                    "\"ache.one\" official site -site:ache.one -site:www.ache.one",
                    "\"ache.one\" wikipedia -site:ache.one -site:www.ache.one",
                    "\"ache.one\" reviews OR complaints -site:ache.one -site:www.ache.one",
                    "\"ache.one\" reputation OR scam OR legit OR safe -site:ache.one -site:www.ache.one",
                    "\"ache.one\" BBB OR LinkedIn OR Crunchbase OR \"Companies House\" OR wikipedia -site:ache.one -site:www.ache.one",
                    "ache website -site:ache.one -site:www.ache.one",
                    "ache company -site:ache.one -site:www.ache.one",
                    "ache wikipedia -site:ache.one -site:www.ache.one",
                    "ache reviews -site:ache.one -site:www.ache.one",
                    "ache complaints -site:ache.one -site:www.ache.one",
                    "ache trustpilot -site:ache.one -site:www.ache.one"
                ],
                "providers": [
                    "duckduckgo"
                ],
                "provider_result_counts": {
                    "duckduckgo": 0
                },
                "results_found": 1,
                "external_results_found": 0,
                "used_direct_fallback": true,
                "results": [
                    {
                        "provider": "direct-domain-fallback",
                        "url": "https://ache.one/",
                        "host": "ache.one",
                        "title": "ache.one",
                        "snippet": "First-party fallback captured directly from the domain when public search engines returned no usable results.",
                        "is_direct_fallback": true,
                        "source_meta": {
                            "host": "ache.one",
                            "source_type": "official_site",
                            "label": "General web result",
                            "trust_weight": 55,
                            "evidence_weight": 26,
                            "noise_penalty": 0,
                            "requires_exact_domain_match": true,
                            "supports_positive_verdicts": false,
                            "supports_negative_verdicts": true,
                            "freshness_ttl_days": 21
                        },
                        "entity": {
                            "score": 100,
                            "exactness": "exact_domain",
                            "reasons": [
                                "The result host matches the exact domain.",
                                "The exact domain is mentioned in the page snippet or document text.",
                                "The result URL contains the exact domain string."
                            ]
                        },
                        "query": "direct-fallback",
                        "rank": 1
                    }
                ],
                "source_mix": {
                    "official_site": 1
                },
                "entity_coverage_score": 100,
                "high_trust_result_count": 0,
                "exact_match_result_count": 1,
                "high_entity_result_count": 1,
                "query_hit_count": 1,
                "query_count": 12,
                "deadline_hit": true
            },
            "review_intelligence": {
                "documents_fetched": 1,
                "external_documents_fetched": 0,
                "documents": [
                    {
                        "provider": "direct-domain-fallback",
                        "url": "https://ache.one/",
                        "host": "ache.one",
                        "title": "ache.one",
                        "snippet": "First-party fallback captured directly from the domain when public search engines returned no usable results.",
                        "is_direct_fallback": true,
                        "source_meta": {
                            "host": "ache.one",
                            "source_type": "official_site",
                            "label": "General web result",
                            "trust_weight": 55,
                            "evidence_weight": 26,
                            "noise_penalty": 0,
                            "requires_exact_domain_match": true,
                            "supports_positive_verdicts": false,
                            "supports_negative_verdicts": true,
                            "freshness_ttl_days": 21
                        },
                        "entity": {
                            "score": 100,
                            "exactness": "exact_domain",
                            "reasons": [
                                "The result host matches the exact domain.",
                                "The exact domain is mentioned in the page snippet or document text.",
                                "The result URL contains the exact domain string."
                            ]
                        },
                        "query": "direct-fallback",
                        "rank": 1,
                        "body": "ache: Personal blogAcheEternal student in computer science.Self-taught developer,now engineer.GNU\\Linux, C, C++, Python, Math, self-hosted, decentralisation, P2P, ...ache/git/README/LICENSEA Vanity VNC server (or Joke over RFB) VNC is a well-known protocol for remote desktop sharing. This blog post is the story of a web project that led to the creation of a \"vainity\" VNC.Rail and advertising Let's talk trains and advertising ! The idea is to analyse a few advertisements for trains around the world. But it's mainly a pretext for showing you how recent artificial intelligence technologies can be used to improve an article. 🤖Study of modern image formats What's the state of modern image formats and which one should I choose on the web now ? In this article, let's study modern image formats (AVIF, HEIF, WebP, WebP2 et JPEG XL) as precisly as possible. 🖼️The quirks of the C language C is a language with a simple syntax. The only complexity of this language come from the fact that it acts in a machine-like way. However, a part of the C syntax is almost never taught. Let's tackle these mysterious cases! 🧞fr",
                        "html": "<!DOCTYPE html><html lang=en><head><meta charset=utf-8><title>ache: Personal blog</title><meta name=viewport content=\"width=device-width,initial-scale=1\"><meta name=fediverse:creator content=@ache@mastodon.xyz><link rel=canonical href=https://ache.one/en><link href=/s/css/style.css rel=stylesheet><noscript><link href=/s/css/katex.css rel=stylesheet></noscript><script src=/s/js/main.js defer></script><meta name=description content=\"Personal blog about programming, free software and self-hosting. Let's try to make the world a better place. \"><link rel=alternate type=application/rss+xml href=/rss.xml><link rel=icon href=/favicon.ico sizes=any><link rel=icon href=/favicon.svg type=image/svg+xml></head><body><nav tabindex=0 id=harr class=hide_arrow role=button aria-labe=\"switch on/off panel\"><svg xmlns=http://www.w3.org/2000/svg width=20 aria-label=hidden viewBox=\"-100 10 800 1100\"><g id=glob><path id=lt fill=#4169e1 stroke=#4169e1 stroke-width=5 d=\"M627 992q0-13-10-23L224 576l393-393q10-10 10-23t-10-23l-50-50q-10-10-23-10t-23 10L55 553q-10 10-10 23t10 23l466 466q10 10 23 10t23-10l50-50q10-10 10-23z\" opacity=.4><animate id=grow attributeName=stroke-width begin=0s;wait.end dur=0.5s values=5;75;5 /><animate id=wait attributeName=stroke-width begin=grow.end dur=1.5s values=5;5 /></path></g></svg></nav><aside id=side-bar><a href=/en/ class=button><svg xmlns=http://www.w3.org/2000/svg id=logo-ache width=100 height=100 aria-label=\"ache: My own logo\"><path d=\"M6.25 37.5h37.5V50h-12.5V12.5h37.5V50h-12.5V37.5h25V25h-25V0h-12.5v25h-25v50h62.5V37.5h12.5v50h-12.5V100h-12.5V87.5h-37.5V100h-12.5V87.5H6.25z\"/></svg></a><h2 id=ache><a href=/en/ >Ache</a></h2><div id=desc><div id=desc_intro>Eternal student in computer science.<br><span class=about>Self-taught developer,<br><span class=type_wrap><span class=type>now engineer.</span></span></span></div><br><span class=about>GNU\\Linux, C, C++, Python, Math, self-hosted, decentralisation, P2P, ...<br></span><br></div><nav><ul><li class=sommaire_blien><a href=/en title=Home>ache</a></li><li class=sommaire_blien><a href=http://git.ache.one/ title=\"Personnel git repository\">/git</a></li><li class=sommaire_blien><a href=/en/notes title=Notes>/README</a></li><li class=sommaire_blien><a href=/en/legal title=\"Legal notice\">/LICENSE</a></li></ul></nav><nav id=ontheweb><ul><li class=about_bar><a rel=me href=https://mastodon.xyz/@ache title=\"\"><svg xmlns=http://www.w3.org/2000/svg width=20 height=20 fill=#fff aria-label=Mastodon viewBox=\"80 85 350 340\"><linearGradient id=b y2=1><stop offset=0 stop-color=#6364ff /><stop offset=1 stop-color=#563acc /></linearGradient><path fill=url(#b) d=\"M317 381q-124 28-123-39 69 15 149 2 67-13 72-80 3-101-3-116-19-49-72-58-98-10-162 0-56 10-75 58-12 31-3 147 3 32 9 53 13 46 70 69 83 23 138-9\"/><path d=\"M360 293h-36v-93q-1-26-29-23-20 3-20 34v47h-36v-47q0-31-20-34-30-3-30 28v88h-36v-91q1-51 44-60 33-5 51 21l9 15 9-15q16-26 51-21 43 9 43 60\"/></svg></a></li><li class=about_bar><a href=https://git.ache.one title=\"Personnel git repository\"><svg xmlns=http://www.w3.org/2000/svg width=20 height=20 aria-label=Git viewBox=\"60 60 390 390\"><path fill=#f05133 d=\"M440.8 238.9 273 71.2a24.7 24.7 0 0 0-35 0l-34.8 34.9 44.2 44.1a29.4 29.4 0 0 1 37.2 37.5l42.5 42.5a29.4 29.4 0 1 1-17.6 16.6l-39.7-39.7v104.5a29.4 29.4 0 1 1-24.2-.9V205.3a29.4 29.4 0 0 1-16-38.6l-43.5-43.5-115 115a24.7 24.7 0 0 0 0 34.9L239 440.8a24.7 24.7 0 0 0 35 0l166.9-167a24.7 24.7 0 0 0 0-34.9\"/></svg></a></li><li class=about_bar><a href=/en/rss.xml title=\"Flux RSS\"><svg xmlns=http://www.w3.org/2000/svg width=20 height=20 aria-label=\"RSS feed icon\" viewBox=\"0 0 8 8\"><circle cx=2 cy=6 r=1 fill=#fa0 /><path fill=#fa0 d=\"M1 4a3 3 0 0 1 3 3h1a4 4 0 0 0-4-4z\"/><path fill=#fa0 d=\"M1 2a5 5 0 0 1 5 5h1a6 6 0 0 0-6-6z\"/></svg></a></li></ul></nav></aside><div class=decal_panel><div class=marge></div><article class=post id=a-vanity-vnc-server-(or-joke-over-rfb)_intro><h1 id=a-vanity-vnc-server-or-joke-over-rfb><a tabindex=0 class=anchor href=/articles/a-vanity-vnc-server>A Vanity VNC server (or Joke over RFB)</a></h1><p><img src=/articles/res/vnc_vanity-alt.svg alt=\"VNC logo modified to read also Vanity\" height=150 width=150> VNC is a well-known protocol for remote desktop sharing. This blog post is the story of a web project that led to the creation of a \"vainity\" VNC.</p><a href=/articles/a-vanity-vnc-server></a></article><div class=sidenotes></div></div><div class=decal_panel><div class=marge></div><article class=post id=rail-and-advertising_intro><h1 id=rail-and-advertising><a tabindex=0 class=anchor href=/articles/rail-and-advertising>Rail and advertising</a></h1><p><img src=/articles/res/train-speed-inv.svg alt=\"Illustration of a fast-moving train\" height=150 width=150> Let's talk trains and advertising ! The idea is to analyse a few advertisements for trains around the world. But it's mainly a pretext for showing you how recent artificial intelligence technologies can be used to improve an article. 🤖</p><a href=/articles/rail-and-advertising></a></article><div class=sidenotes></div></div><div class=decal_panel><div class=marge></div><article class=post id=study-of-modern-image-formats_intro><h1 id=stud…",
                        "status_code": 200,
                        "final_url": "https://ache.one/"
                    }
                ],
                "facts": [],
                "ignored_candidates": [],
                "blocked_candidates": 0,
                "source_diversity": 0,
                "host_coverage": 1,
                "source_type_coverage": 1,
                "exact_match_documents": 1,
                "external_exact_match_documents": 0,
                "elapsed_ms": 213,
                "candidates_considered": 1,
                "fetch_success_rate": 100,
                "avg_source_trust": 55,
                "avg_entity_score": 100
            },
            "evidence": {
                "scores": {
                    "legit": 0,
                    "safe": 0,
                    "trusted": 0,
                    "caution": 0,
                    "scam": 0,
                    "dangerous": 0,
                    "spam": 0,
                    "nsfw": 0
                },
                "counts": {
                    "official_presence": 0,
                    "business_profiles": 0,
                    "positive_reviews": 0,
                    "negative_reviews": 0,
                    "scam_reports": 0,
                    "dangerous_reports": 0,
                    "spam_reports": 0,
                    "adult_reports": 0
                },
                "tag_support": [],
                "top_supporting_facts": [],
                "top_positive_facts": []
            },
            "quality": {
                "source_diversity_score": 0,
                "entity_coverage_score": 100,
                "freshness_score": 18,
                "confidence": 24,
                "documents_fetched": 1,
                "external_documents_fetched": 0,
                "fact_count": 0,
                "avg_source_trust": 55,
                "avg_entity_score": 100,
                "fetch_success_rate": 100,
                "exact_match_score": 0,
                "query_coverage_score": 100,
                "host_coverage_score": 20,
                "source_type_coverage_score": 25,
                "qualified_evidence_score": 0,
                "exact_match_documents": 0,
                "blocked_candidates": 0,
                "used_direct_fallback": true,
                "external_results_found": 0
            },
            "decision": {
                "state": "insufficient",
                "uncertainty": true,
                "candidate_support": 0,
                "candidate_contradiction": 0,
                "supports": {
                    "dangerous": false,
                    "scam": false,
                    "spam": false,
                    "nsfw": false,
                    "trusted": false
                },
                "evidence_quality": "low",
                "state_label": "Inconclusive",
                "state_reason": "Public search did not yield usable third-party matches, so the system fell back to first-party inspection only."
            },
            "signals": {
                "scores": {
                    "legit": 0,
                    "safe": 0,
                    "trusted": 0,
                    "caution": 0,
                    "scam": 0,
                    "dangerous": 0,
                    "spam": 0,
                    "nsfw": 0
                },
                "counts": {
                    "official_presence": 0,
                    "business_profiles": 0,
                    "positive_reviews": 0,
                    "negative_reviews": 0,
                    "scam_reports": 0,
                    "dangerous_reports": 0,
                    "spam_reports": 0,
                    "adult_reports": 0
                },
                "candidate_support": 0,
                "candidate_contradiction": 0,
                "highlights": [
                    "External evidence remained inconclusive because diversity, exact matching, or confidence was still too weak."
                ]
            },
            "citations": [],
            "debug": {
                "top_supporting_facts": [],
                "top_positive_facts": [],
                "ignored_candidates": [],
                "budget_ms": 3000,
                "search_budget_ms": 3000,
                "review_budget_ms": 1500,
                "search_mode": "post-processing",
                "query_cap": 12,
                "provider_cap": 2,
                "reason": "post-processing",
                "priority": 92
            },
            "last_good": {
                "checked_at": "2026-03-18T23:56:14+00:00",
                "summary": "External checks ran, but the verified result set was still too sparse to harden the verdict.",
                "decision": {
                    "state": "insufficient",
                    "uncertainty": true,
                    "candidate_support": 0,
                    "candidate_contradiction": 0,
                    "supports": {
                        "dangerous": false,
                        "scam": false,
                        "spam": false,
                        "nsfw": false,
                        "trusted": false
                    },
                    "evidence_quality": "low",
                    "state_label": "Inconclusive",
                    "state_reason": "Public search did not yield usable third-party matches, so the system fell back to first-party inspection only."
                },
                "signals": {
                    "scores": {
                        "legit": 0,
                        "safe": 0,
                        "trusted": 0,
                        "caution": 0,
                        "scam": 0,
                        "dangerous": 0,
                        "spam": 0,
                        "nsfw": 0
                    },
                    "counts": {
                        "official_presence": 0,
                        "business_profiles": 0,
                        "positive_reviews": 0,
                        "negative_reviews": 0,
                        "scam_reports": 0,
                        "dangerous_reports": 0,
                        "spam_reports": 0,
                        "adult_reports": 0
                    },
                    "candidate_support": 0,
                    "candidate_contradiction": 0,
                    "highlights": [
                        "External evidence remained inconclusive because diversity, exact matching, or confidence was still too weak."
                    ]
                },
                "citations": []
            }
        },
        "external_decision": {
            "state": "insufficient",
            "uncertainty": true,
            "candidate_support": 0,
            "candidate_contradiction": 0,
            "supports": {
                "dangerous": false,
                "scam": false,
                "spam": false,
                "nsfw": false,
                "trusted": false
            },
            "evidence_quality": "low",
            "state_label": "Inconclusive",
            "state_reason": "Public search did not yield usable third-party matches, so the system fell back to first-party inspection only."
        },
        "signal_scores": [
            {
                "label": "Strongest tag heuristic",
                "value": "T · 86%",
                "tone": "good",
                "detail": "The highest raw tag match from the heuristic engine before visibility thresholds and manual overrides."
            },
            {
                "label": "Trust score",
                "value": "84/100",
                "tone": "good",
                "detail": "Confidence derived from authority, crawl quality, stability, and risk signals."
            },
            {
                "label": "Authority score",
                "value": "52/100",
                "tone": "caution",
                "detail": "A higher authority score usually means broader reputation and backlink confidence."
            },
            {
                "label": "Spam risk",
                "value": "0/100",
                "tone": "good",
                "detail": "Lower is better. This blends spam indicators with false-positive protections for legitimate sites."
            },
            {
                "label": "Quality score",
                "value": "84/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": "94/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": "10.9 years",
                        "tone": "good",
                        "detail": "Older domains generally carry more historical trust than very new ones."
                    },
                    {
                        "label": "Stability score",
                        "value": "94/100",
                        "tone": "good",
                        "detail": "Penalised by registrar, ownership, and nameserver churn."
                    },
                    {
                        "label": "Days to expiry",
                        "value": "39",
                        "tone": "caution",
                        "detail": "Very short renewal windows can be a weak trust signal."
                    },
                    {
                        "label": "Registrar / ownership changes",
                        "value": "0 / 0",
                        "tone": "good",
                        "detail": "Frequent ownership churn can weaken trust."
                    },
                    {
                        "label": "Nameserver changes",
                        "value": "0",
                        "tone": "good",
                        "detail": "Repeated infrastructure changes can indicate instability."
                    },
                    {
                        "label": "DNSSEC / privacy",
                        "value": "DNSSEC on · privacy off",
                        "tone": "good",
                        "detail": "DNSSEC strengthens DNS trust; privacy is neutral on its own."
                    }
                ]
            },
            {
                "title": "Reputation & search evidence",
                "items": [
                    {
                        "label": "Backlinks",
                        "value": "2",
                        "tone": "unknown",
                        "detail": "Broader backlink evidence usually improves confidence."
                    },
                    {
                        "label": "Referring domains",
                        "value": "2",
                        "tone": "unknown",
                        "detail": "Unique linking domains are more useful than raw link volume."
                    },
                    {
                        "label": "Organic keywords",
                        "value": "77",
                        "tone": "caution",
                        "detail": "Search footprint helps distinguish real sites from thin shells."
                    },
                    {
                        "label": "Indexed pages",
                        "value": "79",
                        "tone": "caution",
                        "detail": "Larger index coverage usually means more evidence to classify from."
                    },
                    {
                        "label": "Brand strength",
                        "value": "60/100",
                        "tone": "good",
                        "detail": "Stronger brand signals reduce false positives for legitimate sites."
                    },
                    {
                        "label": "Risk label",
                        "value": "GOOD",
                        "tone": "unknown",
                        "detail": "This is the raw crawl / heuristic risk label feeding the tag model."
                    }
                ]
            },
            {
                "title": "Crawl, content & technicals",
                "items": [
                    {
                        "label": "HTTP status",
                        "value": "200",
                        "tone": "good",
                        "detail": "Healthy responses make classification more reliable."
                    },
                    {
                        "label": "HTTPS / speed",
                        "value": "HTTPS OK · 195 ms",
                        "tone": "good",
                        "detail": "Slow or broken technical signals weaken confidence."
                    },
                    {
                        "label": "Content words",
                        "value": "183",
                        "tone": "caution",
                        "detail": "Thin pages are harder to trust and easier to manipulate."
                    },
                    {
                        "label": "Schema / structure",
                        "value": "0 schema · meta · H1",
                        "tone": "caution",
                        "detail": "Structured markup and basic on-page hygiene improve quality confidence."
                    },
                    {
                        "label": "Links on page",
                        "value": "10 internal · 1 external",
                        "tone": "good",
                        "detail": "Link patterns help detect thin directories and promo pages."
                    },
                    {
                        "label": "Page speed / mobile",
                        "value": "100/100 · 87/100",
                        "tone": "good",
                        "detail": "Better technical quality generally reduces low-effort site patterns."
                    },
                    {
                        "label": "Crawl access",
                        "value": "Open",
                        "tone": "good",
                        "detail": "The crawler reached the site without an anti-bot challenge."
                    }
                ]
            },
            {
                "title": "External evidence & explainability",
                "items": [
                    {
                        "label": "Decision state",
                        "value": "Inconclusive",
                        "tone": "unknown",
                        "detail": "Public search did not yield usable third-party matches, so the system fell back to first-party inspection only."
                    },
                    {
                        "label": "Evidence quality",
                        "value": "Low",
                        "tone": "unknown",
                        "detail": "Blends source trust, domain matching, evidence diversity, and freshness."
                    },
                    {
                        "label": "Support vs contradiction",
                        "value": "0 / 0",
                        "tone": "unknown",
                        "detail": "Compares how much structured external evidence supports the candidate tag against evidence that contradicts it."
                    },
                    {
                        "label": "Qualified risk sources",
                        "value": "No",
                        "tone": "good",
                        "detail": "Risk tags only promote from external evidence when source diversity or source trust thresholds are met."
                    },
                    {
                        "label": "Uncertainty buffer",
                        "value": "Active",
                        "tone": "caution",
                        "detail": "Prevents thin or mixed external evidence from forcing a stronger tag than the evidence can justify."
                    }
                ]
            }
        ],
        "positives": [
            "Established domain age: 10.9 years.",
            "Healthy crawl quality and on-page completeness.",
            "DNSSEC is enabled."
        ],
        "risks": [
            "External evidence was mixed or sparse, so the tag model keeps an uncertainty buffer instead of overcommitting."
        ]
    },
    "traffic_confidence": 70,
    "whois": {
        "current": {
            "id": 25605,
            "domain": "ache.one",
            "source_type": "rdap",
            "rdap_url": "https://rdap.nic.one/domain/ache.one",
            "registrar_name": "OVH sas",
            "registrar_handle": "433",
            "registrant_name": "",
            "registrant_org": "",
            "registrant_country": "",
            "registrant_email": "",
            "abuse_email": "abuse@ovh.net",
            "created_date": "2015-05-26 15:31:09",
            "updated_date": "2025-10-15 15:34:41",
            "expires_date": "2026-05-26 15:31:09",
            "nameservers_json": "[\"dns13.ovh.net\",\"ns13.ovh.net\"]",
            "status_json": "[\"client delete prohibited\",\"client transfer prohibited\"]",
            "dnssec": "signed",
            "privacy_protected": 0,
            "content_hash": "dd224ece613de2a702ffdb67771032c4de1d79d44452276db2c8d38b104f485d",
            "history_count": 1,
            "last_checked_at": "2026-04-02 20:32:40",
            "last_changed_at": "2026-03-18 23:40:39",
            "created_at": "2026-03-18 23:40:39",
            "updated_at": "2026-04-02 20:32:40"
        },
        "history": [
            {
                "id": 26193,
                "domain": "ache.one",
                "source_type": "rdap",
                "registrar_name": "OVH sas",
                "registrar_handle": "433",
                "registrant_name": "",
                "registrant_org": "",
                "registrant_country": "",
                "registrant_email": "",
                "abuse_email": "abuse@ovh.net",
                "created_date": "2015-05-26 15:31:09",
                "updated_date": "2025-10-15 15:34:41",
                "expires_date": "2026-05-26 15:31:09",
                "nameservers_json": "[\"dns13.ovh.net\",\"ns13.ovh.net\"]",
                "status_json": "[\"client delete prohibited\",\"client transfer prohibited\"]",
                "dnssec": "signed",
                "privacy_protected": 0,
                "content_hash": "dd224ece613de2a702ffdb67771032c4de1d79d44452276db2c8d38b104f485d",
                "checked_at": "2026-03-18 23:40:39",
                "change_summary": "Initial WHOIS snapshot captured.",
                "created_at": "2026-03-18 23:40:39"
            }
        ],
        "signals": {
            "age_years": 10.9,
            "days_to_expiry": 39,
            "days_since_last_registry_update": 183,
            "stability_score": 94,
            "registrar_changes": 0,
            "ownership_changes": 0,
            "nameserver_changes": 0,
            "status_changes": 0,
            "history_entries": 1,
            "privacy_protected": false,
            "dnssec_enabled": true,
            "has_registrant_country": false,
            "registrant_country": "",
            "nameserver_count": 2,
            "status_count": 2
        }
    },
    "discovered_domain": {
        "id": 68627,
        "domain": "ache.one",
        "first_seen_at": "2026-03-15 18:57:04",
        "last_crawled_at": "2026-04-02 20:32:50",
        "last_title": "ache: Personal blog",
        "last_http_status": 200,
        "discovered_from_domain": "250kb.club",
        "depth": 0,
        "backlinks_count": 2,
        "rating_cache": 51,
        "spam_score": 0,
        "risk_label": "good",
        "category_name": "Personal",
        "primary_country_code": "",
        "internal_links_count": 10,
        "external_links_count": 1,
        "social_profiles_count": 0,
        "content_word_count": 183,
        "title_quality_score": 79,
        "has_meta_description": 1,
        "has_h1": 1,
        "language_code": "en",
        "response_time_ms": 195,
        "robots_status": 200,
        "sitemap_status": 200,
        "sitemap_total_urls": 79,
        "quality_score": 84,
        "site_name": "",
        "canonical_domain": "",
        "favicon_present": 1,
        "schema_org_count": 0,
        "noindex_detected": 0,
        "feed_links_count": 1,
        "https_working": 1,
        "estimated_authority_score": 39,
        "trust_score": 90,
        "nsfw_score": 0,
        "overall_rank_estimate": 2615835,
        "primary_tag": "C",
        "tag_codes": "C,T,Uncertain",
        "manual_verified_status": "",
        "manual_tag_codes": "",
        "manual_rating_delta": 0,
        "manual_authority_delta": 0,
        "manual_trust_delta": 0,
        "manual_note": null,
        "manual_adjusted_by": null,
        "manual_adjusted_at": null,
        "manual_lock_scores": 0,
        "manual_lock_flags": 0,
        "crawl_blocked": 0,
        "crawl_blocked_by": "",
        "crawl_blocked_reason": null,
        "safety_score": 100,
        "fraud_score": 0,
        "legitimacy_score": 49,
        "infrastructure_risk_score": 0,
        "score_confidence": 94,
        "tag_confidence": 72,
        "category_confidence": 20,
        "deep_crawl_pages": 11,
        "resolved_ip": "145.239.86.0",
        "category_candidates_json": "[{\"category\":\"Personal\",\"score\":22},{\"category\":\"Legal\",\"score\":17},{\"category\":\"Technology\",\"score\":17},{\"category\":\"Travel\",\"score\":11}]",
        "page_signals_json": "[{\"path\":\"/legal\",\"status\":200,\"title\":\"Mentions légales\",\"word_count\":690,\"summary_text\":\"Mentions légales Mentions légalesAcheÉternel étudiant en Math-Info.Autodidacte passionné,désormais ingénieur.GNU\\\\Linux, C, C++, Python, maths, auto-hébergement, décentralisation, P2P, commun, ...ache/git/README/LICENSEMentions légalesJe suis (très relativement) connu sur le web sous le pseudo ache, ceci est mon site web personnel et le logo de ce site est mon identité visuelle sur le web.📧 Mon adresse e-mail : mailto:ache@ache.one🔑 Ma clé PGP : 0EC90BD273ECF07DBEFEE9DE240C2A15636270AF🐘 Mon profil Mastodon : @ache@mastodon.xyzSi vous aimez le contenu de ce site, vous pouvez me soutenir avec Ethereum : 0x01CfcFB0B387B64198C820D87e4092BbE4b6e4C5.Voici un lien rapide QR-Code :Droits d'auteurs et « copyrights »Les écrits sur ce site sont les miens. Il reflète ainsi mon opinion personnelle et sont soumis au droi\",\"classification_terms\":[\"legal\",\"api\",\"blog\"],\"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\":1,\"depth\":1},{\"path\":\"/en/\",\"status\":200,\"title\":\"ache: Personal blog\",\"word_count\":183,\"summary_text\":\"ache: Personal blog ache: Personal blogAcheEternal student in computer science.Self-taught developer,now engineer.GNU\\\\Linux, C, C++, Python, Math, self-hosted, decentralisation, P2P, ...ache/git/README/LICENSEA Vanity VNC server (or Joke over RFB) VNC is a well-known protocol for remote desktop sharing. This blog post is the story of a web project that led to the creation of a \\\"vainity\\\" VNC.Rail and advertising Let's talk trains and advertising ! The idea is to analyse a few advertisements for trains around the world. But it's mainly a pretext for showing you how recent artificial intelligence technologies can be used to improve an article. 🤖Study of modern image formats What's the state of modern image formats and which one should I choose on the web now ? In this article, let's study modern image formats (A\",\"classification_terms\":[\"en\",\"about\",\"blog\"],\"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\":\"/en\",\"status\":200,\"title\":\"ache: Personal blog\",\"word_count\":183,\"summary_text\":\"ache: Personal blog ache: Personal blogAcheEternal student in computer science.Self-taught developer,now engineer.GNU\\\\Linux, C, C++, Python, Math, self-hosted, decentralisation, P2P, ...ache/git/README/LICENSEA Vanity VNC server (or Joke over RFB) VNC is a well-known protocol for remote desktop sharing. This blog post is the story of a web project that led to the creation of a \\\"vainity\\\" VNC.Rail and advertising Let's talk trains and advertising ! The idea is to analyse a few advertisements for trains around the world. But it's mainly a pretext for showing you how recent artificial intelligence technologies can be used to improve an article. 🤖Study of modern image formats What's the state of modern image formats and which one should I choose on the web now ? In this article, let's study modern image formats (A\",\"classification_terms\":[\"en\",\"about\",\"blog\"],\"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\":\"/en/notes\",\"status\":200,\"title\":\"Notes\",\"word_count\":39,\"summary_text\":\"Notes NotesAcheEternal student in computer science.Self-taught developer,now engineer.GNU\\\\Linux, C, C++, Python, Math, self-hosted, decentralisation, P2P, ...ache/git/README/LICENSENotes2025A valid HTML zip bomb http web nginx zip-bomb compression security2025Obtaining a self-signed SSL certificate from our own Certificate Authority https web nginx linux cryptographyfr\",\"classification_terms\":[\"en/notes\",\"about\",\"blog\"],\"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\":\"/en/legal\",\"status\":200,\"title\":\"Legal notice\",\"word_count\":663,\"summary_text\":\"Legal notice Legal noticeAcheEternal student in computer science.Self-taught developer,now engineer.GNU\\\\Linux, C, C++, Python, Math, self-hosted, decentralisation, P2P, ...ache/git/README/LICENSELegal NoticeI am (relatively) known on the web under the pseudonym ache, this is my personal website and the logo of this site is my visual identity on the web.📧 My e-mail address: mailto:ache@ache.one🔑 My PGP key: 0EC90BD273ECF07DBEFEE9DE240C2A15636270AF🐘 My Mastodon profile: @ache@mastodon.xyzIf you like what I do, you can support me via Ethereum 0x01CfcFB0B387B64198C820D87e4092BbE4b6e4C5.Here is a quick link QR-Code :CopyrightsThe writings on this site are mine. They thus reflect my personal opinion and are subject to copyright. The animations on this site are all mine and also subject to copyright, however\",\"classification_terms\":[\"en/legal\",\"about\",\"support\",\"address\",\"blog\"],\"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\":1,\"depth\":1},{\"path\":\"/articles/a-vanity-vnc-server\",\"status\":200,\"title\":\"A Vanity VNC server (or Joke over RFB) - ache\",\"word_count\":791,\"summary_text\":\"A Vanity VNC server (or Joke over RFB) - ache A Vanity VNC server (or Joke over RFB) - acheAcheEternal student in computer science.Self-taught developer,now engineer.GNU\\\\Linux, C, C++, Python, Math, self-hosted, decentralisation, P2P, ...ache/git/README/LICENSErustVNCprogrammationsecurityhack2024-11-25A Vanity VNC server (or Joke over RFB)VNC is a well-known protocol for remote desktop sharing. This blog post is the story of a web project that led to the creation of a \\\"vainity\\\" VNC.Small note on VNCVNC is THE remote desktop sharing protocol (along with RDP for Windows).My recollection was that it wasn't a very secure protocol, and shouldn't be exposed directly on the Internet.As a matter of fact, there's a project called VNC Resolver that scans all publicly available VNC servers on the Internet (IPv4). One evening, I stumbled upon one\",\"classification_terms\":[\"articles/a-vanity-vnc-server\",\"blog\"],\"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\":4,\"depth\":1},{\"path\":\"/articles/rail-and-advertising\",\"status\":200,\"title\":\"Rail and advertising - ache\",\"word_count\":2426,\"summary_text\":\"Rail and advertising - ache Rail and advertising - acheAcheEternal student in computer science.Self-taught developer,now engineer.GNU\\\\Linux, C, C++, Python, Math, self-hosted, decentralisation, P2P, ...ache/git/README/LICENSEtrainadvertsAI2023-12-19T13:34:00.000ZRail and advertisingLet's talk trains and advertising ! The idea is to analyse a few advertisements for trains around the world. But it's mainly a pretext for showing you how recent artificial intelligence technologies can be used to improve an article. 🤖Table of contentsA Japanese advertDer Volksgeist (The people's spirit)The French touchTo sum upLet's get technicalWhisperJapaneseGerman and FrenchSeamlessReal-ESRGANConclusionA Japanese advertThis short 15s clip was created by the Ponoc studio. The advert was commissioned by JR West, one of Japan's major rail\",\"classification_terms\":[\"articles/rail-and-advertising\"],\"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\":1,\"depth\":1},{\"path\":\"/articles/web-image-formats\",\"status\":200,\"title\":\"Study of modern image formats - ache\",\"word_count\":3229,\"summary_text\":\"Study of modern image formats - ache Study of modern image formats - acheAcheEternal student in computer science.Self-taught developer,now engineer.GNU\\\\Linux, C, C++, Python, Math, self-hosted, decentralisation, P2P, ...ache/git/README/LICENSEwebimageprogrammation2023-08-11window.addEventListener(\\\"load\\\",()=>{for(let a of document.querySelectorAll(\\\".iframe-img\\\")){var e=a.getAttribute(\\\"src\\\"),e=e.slice(0,e.lastIndexOf(\\\".png\\\"))+\\\".html\\\";fetch(e).then(e=>e.text()).then(e=>{var t=document.createElement(\\\"DIV\\\"),e=(t.innerHTML=e,t.getElementsByClassName(\\\"plotly-graph-div\\\")[0]),t=t.getElementsByTagName(\\\"script\\\")[0],n=document.createElement(\\\"SCRIPT\\\"),l=document.createElement(\\\"DIV\\\");l.innerHTML=e.outerHTML,l.style.height=\\\"700px\\\",l.classList.add(\\\"big\\\"),n.text=t.text,a.parentElement.replaceWith(l),l.appendChild(n)}).catch(e=>{console.warn(\\\"\",\"classification_terms\":[\"articles/web-image-formats\"],\"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\":6,\"depth\":1},{\"path\":\"/articles/c-language-quirks\",\"status\":200,\"title\":\"The quirks of the C language - ache\",\"word_count\":4124,\"summary_text\":\"The quirks of the C language - ache The quirks of the C language - acheAcheEternal student in computer science.Self-taught developer,now engineer.GNU\\\\Linux, C, C++, Python, Math, self-hosted, decentralisation, P2P, ...ache/git/README/LICENSElanguageobfuscationprogrammation2018-11-18The quirks of the C languageC is a language with a simple syntax. The only complexity of this language come from the fact that it acts in a machine-like way. However, a part of the C syntax is almost never taught. Let's tackle these mysterious cases! 🧞To understand this post, it is necessary to have a basic knowledge of a language with a syntax and operation close to C.Table of contentsThe uncommon operatorsThe comma operatorThe ternary operatorAccess to an arrayInitialisationThe compound literalsIntroduction to VLAsThe VLAs exceptionsA flexible a\",\"classification_terms\":[\"articles/c-language-quirks\"],\"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\":3,\"depth\":1},{\"path\":\"/fr/\",\"status\":200,\"title\":\"ache: Blog personnel\",\"word_count\":459,\"summary_text\":\"ache: Blog personnel ache: Blog personnelAcheÉternel étudiant en Math-Info.Autodidacte passionné,désormais ingénieur.GNU\\\\Linux, C, C++, Python, maths, auto-hébergement, décentralisation, P2P, commun, ...ache/git/README/LICENSEUn serveur VNC vaniteux (Joke over RFB) VNC est un protocole bien connu de partage de bureau distant. Ce blog post est l'histoire d'un projet d'un WE qui a conduit à fabriquer un VNC « vaniteux ».Framasoft et les mascottes du libre La campagne de don de Framasoft est dorénavant finie. Grâce à vous, l'association a pu boucler son budget 2024. J'aimerais revenir sur la barre de don animée que Framasoft a proposé lors de sa campagne. On va jouer à qui-est-qui ! 😁La publicité pour les trains Parlons trains. Enfin pub. Enfin ! Vous verrez bien ! L'idée est d'analyser quelques publicités pour d\",\"classification_terms\":[\"fr\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":1,\"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\":\"/fr\",\"status\":200,\"title\":\"ache: Blog personnel\",\"word_count\":459,\"summary_text\":\"ache: Blog personnel ache: Blog personnelAcheÉternel étudiant en Math-Info.Autodidacte passionné,désormais ingénieur.GNU\\\\Linux, C, C++, Python, maths, auto-hébergement, décentralisation, P2P, commun, ...ache/git/README/LICENSEUn serveur VNC vaniteux (Joke over RFB) VNC est un protocole bien connu de partage de bureau distant. Ce blog post est l'histoire d'un projet d'un WE qui a conduit à fabriquer un VNC « vaniteux ».Framasoft et les mascottes du libre La campagne de don de Framasoft est dorénavant finie. Grâce à vous, l'association a pu boucler son budget 2024. J'aimerais revenir sur la barre de don animée que Framasoft a proposé lors de sa campagne. On va jouer à qui-est-qui ! 😁La publicité pour les trains Parlons trains. Enfin pub. Enfin ! Vous verrez bien ! L'idée est d'analyser quelques publicités pour d\",\"classification_terms\":[\"fr\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":1,\"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\":2}]",
        "score_reasons_json": "[\"Category confidence was reduced, so the classifier fell back to the broader parent category.\",\"Category evidence stayed thin, so the output was softened to a broader classification.\",\"Trusted status now requires clean crawl access and stronger confidence, so this result was downgraded to caution.\"]",
        "route_domain": "ache.one",
        "display_domain": "ache.one"
    },
    "explainability": {
        "summary": "ache.one 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": "94/100"
            },
            {
                "label": "Traffic confidence",
                "value": "Solid confidence",
                "tone": "good",
                "detail": "70/100"
            },
            {
                "label": "Crawler access",
                "value": "Clean visibility",
                "tone": "good",
                "detail": null
            }
        ],
        "weighted_contributions": [
            {
                "label": "Quality system",
                "points": "+32.0",
                "tone": "good",
                "detail": "Technical quality, crawl depth, page structure, and implementation hygiene. Current subsystem score: 94/100."
            },
            {
                "label": "Reputation system",
                "points": "+16.3",
                "tone": "caution",
                "detail": "Authority, search visibility, reach, engagement, and registry stability. Current subsystem score: 48/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": "-16.0",
                "tone": "risk",
                "detail": "Safety thresholds capped the final score until the risk profile improves."
            }
        ],
        "evidence_cards": [
            {
                "label": "Authority and trust",
                "value": "50/100 · trust 80/100",
                "tone": "caution",
                "detail": "171 monthly visitors, 77 organic keywords, brand completeness 60/100, engagement 79/100."
            },
            {
                "label": "Backlink and search evidence",
                "value": "2 referring domains",
                "tone": "good",
                "detail": "2 backlinks across 2 referring domains. Diversity 93/100; spam penalty 0."
            },
            {
                "label": "Registry and domain stability",
                "value": "10.9 years old",
                "tone": "good",
                "detail": "Stability 94/100 · age 10.9 years · registrar OVH sas · expires in 39 days."
            },
            {
                "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": [
            "Established domain age: 10.9 years.",
            "Healthy crawl quality and on-page completeness.",
            "DNSSEC is enabled.",
            "Registry history looks stable, which supports legitimacy and trust.",
            "The domain has been registered for years, which usually improves trust confidence.",
            "HTTPS is working, so the site clears a basic transport-security check."
        ],
        "risks": [
            "External evidence was mixed or sparse, so the tag model keeps an uncertainty buffer instead of overcommitting."
        ],
        "freshness": [
            {
                "label": "Crawl evidence",
                "value": "2026-04-02 20:32:50",
                "tone": "risk",
                "detail": "Crawl and page content sample. Age: 14d ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-04-02 20:32:40",
                "tone": "risk",
                "detail": "Registry profile and stability signals. Age: 14d ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-17 09:22:15",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-17 09:22:15",
                "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": 80,
        "fraud_clamp_penalty": 16,
        "final_score": 64
    },
    "insight_snapshot": {
        "version": 1,
        "generated_at": "2026-04-17T09:22:15+00:00",
        "domain": "ache.one",
        "display_name": "ache",
        "is_tracked": false,
        "is_estimated": true,
        "overall_score": 64,
        "authority_score": 50,
        "trust_score": 80,
        "safety_score": 100,
        "fraud_score": 0,
        "confidence_score": 94,
        "traffic_confidence": 70,
        "last_crawled_at": "2026-04-02 20:32:50",
        "crawl_blocked": false,
        "summary": "ache.one 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": "94/100"
            },
            {
                "label": "Traffic confidence",
                "value": "Solid confidence",
                "tone": "good",
                "detail": "70/100"
            },
            {
                "label": "Crawler access",
                "value": "Clean visibility",
                "tone": "good",
                "detail": null
            }
        ],
        "top_positive_signals": [
            "Established domain age: 10.9 years.",
            "Healthy crawl quality and on-page completeness.",
            "DNSSEC is enabled.",
            "Registry history looks stable, which supports legitimacy and trust.",
            "The domain has been registered for years, which usually improves trust confidence."
        ],
        "top_risk_signals": [
            "External evidence was mixed or sparse, so the tag model keeps an uncertainty buffer instead of overcommitting."
        ],
        "freshness": [
            {
                "label": "Crawl evidence",
                "value": "2026-04-02 20:32:50",
                "tone": "risk",
                "detail": "Crawl and page content sample. Age: 14d ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-04-02 20:32:40",
                "tone": "risk",
                "detail": "Registry profile and stability signals. Age: 14d ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-17 09:22:15",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-17 09:22:15",
                "tone": "good",
                "detail": "Estimated trend derived from current profile and crawl signals. Age: 0s ago."
            },
            {
                "label": "Audience geography",
                "value": "Not captured yet",
                "tone": "unknown",
                "detail": "Audience mix is estimated from available signals rather than first-party audience logs."
            }
        ],
        "top_tags": [
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good"
            },
            {
                "code": "Uncertain",
                "label": "Uncertain",
                "tone": "unknown"
            }
        ]
    },
    "is_tracked": false,
    "is_estimated": true,
    "live_state": {
        "status": "processing",
        "status_label": "Cache build running",
        "message": "The refreshed page cache is still being built for this domain.",
        "updated_at": "2026-04-19T10:36:29+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/ache.one/refresh",
        "isGuestCooldown": false,
        "cooldownSeconds": 0
    },
    "urlscan_report": {
        "domain": "ache.one",
        "status": "idle",
        "submitted_at": null,
        "completed_at": null,
        "last_checked_at": null,
        "last_error": "",
        "submitted_url": "https://ache.one/",
        "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
    }
}