Notre mission et notre architecture

À propos d’Analytics House

Nous avons créé Analytics House pour montrer que l’analyse web respectueuse de la vie privée n’a besoin ni de clusters de bases de données centralisés, ni d’abonnements coûteux. Il fonctionne entièrement sur Cloudflare Workers et D1, et offre une confidentialité vérifiable, des Core Web Vitals mesurés chez de vrais utilisateurs et l’attribution aux moteurs de réponse IA, sans cookies ni adresses IP stockées.

Une confidentialité mathématiquement irréversible

Au lieu de conserver des sels de visiteurs statiques sur disque, Analytics House génère chaque jour UTC un nouveau sel aléatoire de 256 bits dans Cloudflare D1 et détruit définitivement le sel de la veille dès que les agrégats quotidiens sont clôturés.

Nettoyage Zero Trust des données personnelles en périphérie

Les fuites accidentelles de données personnelles dans les URL et les propriétés des événements personnalisés (adresses e-mail, UUID, JWT, adresses IP, cartes bancaires, numéros de sécurité sociale) sont masquées de façon synchrone dans le Cloudflare Worker, avant stockage.

TypeScript 100 % natif Cloudflare

Pas de clusters ClickHouse, pas de VM PostgreSQL, pas de démons hérités. L’ingestion, la tâche cron d’agrégation et le moteur de requêtes analytiques fonctionnent entièrement sur Cloudflare Workers et D1 SQLite.

Conçu pour l’ère de la recherche IA

Attribution native pour plus de 12 moteurs de réponse IA (ChatGPT, Perplexity, Claude, Gemini, Copilot, DeepSeek), plus une télémétrie dédiée du bouclier anti-robots IA pour GPTBot et ClaudeBot.

Coûts d’exploitation bas, prix bas

Toutes les 15 minutes, les journées UTC terminées sont clôturées dans des tables d’agrégats D1 compactes : les tableaux de bord lisent ainsi quelques lignes au lieu de parcourir chaque événement. Aucun serveur ne tourne à vide entre deux visites, et c’est ce qui permet de garder des prix prévus bas.

Propriété des données vérifiable et ouverte

Chaque projet expose un manifeste cryptographique de confidentialité en direct (/privacy), l’import et l’export CSV complets, des clés d’API en lecture seule à portée limitée et l’auto-hébergement en 1 clic sur votre propre compte Cloudflare.

Le parcours d’une requête en périphérie

  1. Navigateur (script sans cookies de 2,2 Ko compressé en gzip) : envoie les pages vues, les clics sortants, les téléchargements, les événements personnalisés et, en option, les Core Web Vitals (LCP, INP, CLS) sans toucher à document.cookie. Respecte automatiquement Sec-GPC: 1 et DNT: 1.
  2. Pare-feu en périphérie Cloudflare Worker : classe les robots d’exploration IA et les robots de recherche (en enregistrant des comptages quotidiens dans bot_rollup sans fausser les statistiques humaines), retire les données personnelles des chemins d’URL et des propriétés d’événements, et calcule une empreinte quotidienne anonyme du visiteur à l’aide du sel éphémère de 256 bits du jour, avant de supprimer l’adresse IP et le User-Agent brut.
  3. Clôture des agrégats toutes les 15 minutes et destruction des sels : un Cron Trigger Cloudflare agrège les journées UTC terminées dans les tables rollup_day et rollup_dim, détruit définitivement de D1 les sels quotidiens expirés et (lorsque le mode sans historique brut est activé) supprime les lignes d’événements bruts.
  4. Tableau de bord instantané et alertes d’anomalies : les requêtes lisent les agrégats pré-calculés pour les jours passés et les événements en direct pour aujourd’hui, calculent automatiquement les renvois des moteurs de réponse IA, les canaux d’acquisition et les anomalies de trafic par z-score, et appliquent les seuils de k-anonymat.