À propos du projet

Privacy-Friendly Analytics est une implémentation de référence de télémétrie produit auto-hébergée pour les applications ASP.NET Core. Elle permet aux développeurs de collecter des données d'utilisation directement dans leur propre base de données SQL Server au lieu de dépendre de plateformes d'analyse tierces, préservant ainsi la confidentialité des données métier et des données de domaine saisies par les utilisateurs. Développé avec .NET 10, ASP.NET Core, EF Core, SQL Server et TypeScript, le projet fournit un tableau de bord minimal affichant le nombre total d'événements, les sessions de page, les taux de début/achèvement de flux de travail et les taux de retours positifs. L'architecture suit une séparation claire : le navigateur envoie des événements autorisés à un point de terminaison ASP.NET Core, qui les persiste via EF Core dans SQL Server. Le point de terminaison d'ingestion applique des règles strictes de minimisation des données – les noms d'événements inconnus retournent des erreurs 400, les propriétés inconnues sont ignorées, les objets imbriqués et les charges arbitraires sont rejetés par le sanitizeur, les propriétés chaînes ont des limites de taille, et aucune adresse IP n'est explicitement persistée. Aucun compte ni identifiant de navigateur persistant n'est requis. Les identifiants de session existent uniquement pendant la durée de vie de la page. Le client TypeScript envoie la télémétrie de manière asynchrone avec un délai d'attente court et ne bloque jamais le flux de travail de l'application lorsque l'analyse est indisponible. La démo inclut une limitation de débit à 60 requêtes par minute par instance d'application. Les événements précompilés incluent : demo_opened, workflow_started, workflow_completed, feature_used, et feedback_submitted. Le projet ne constitue pas un conseil juridique ; les déploiements en production devraient évaluer les réglementations en matière de confidentialité et d'ePrivacy applicables à leur juridiction et leur cas d'usage. Le tableau de bord est uniquement public pour faciliter l'exécution de la démo et devrait être protégé par une authentification avant toute utilisation en production.