2 min read

KraWatch Operational Foundation

English

Finalization of a first operational version of KraWatch, a private analysis tool designed to support moderation work for a roleplay community.

Completed work

  • Implemented a Docker-based architecture with PostgreSQL, dedicated workers, and a web dashboard.
  • Separated collection responsibilities into identity collection, IP/browser monitoring, and private report ingestion.
  • Created a persistent data model for member accounts, character identities, account-character relationships, IP history, browser history, monitored accounts, and private report entries.
  • Added resumable worker checkpoints to reduce duplicate work after interruptions.
  • Built a dashboard with analysis, reports, monitoring, and login log pages.
  • Added timeline-based action analysis with configurable buckets, date ranges, horizontal navigation, and IP attribution.
  • Added private report browsing by member or character, with pagination and optional link extraction.
  • Implemented a monitored-account mode for higher-frequency IP and browser checks.
  • Added a staff-only authentication flow based on a challenge code sent through the target platform, with a development option to disable authentication locally.
  • Improved frontend structure and navigation, including a cleaner project layout and TailwindCSS build integration.

Current state

The project has a working crawler and dashboard foundation, with structured storage for identity relationships, reports, and technical signals over time. The dashboard supports operational analysis without exposing credentials or relying on public access.

Next steps

  • Continue validating data accuracy against the source platform.
  • Improve long-term tracking of character and account renames.
  • Refine moderation-oriented analysis views based on real usage.
  • Prepare deployment packaging and versioned releases once the feature set is stable.

This worklog entry was summarized with AI assistance.


Français

Finalisation d’une première version opérationnelle de KraWatch, un outil privé d’analyse destiné à aider le travail de modération d’une communauté de roleplay.

Travaux réalisés

  • Mise en place d’une architecture Docker avec PostgreSQL, des workers dédiés et un dashboard web.
  • Séparation des responsabilités de collecte entre identité, surveillance IP/navigateur et ingestion des rapports privés.
  • Création d’un modèle de données persistant pour les comptes membres, les identités de personnages, les liens compte-personnage, l’historique IP, l’historique navigateur, les comptes surveillés et les entrées de rapports privés.
  • Ajout de checkpoints de reprise pour limiter le travail dupliqué après interruption.
  • Création d’un dashboard avec pages d’analyse, rapports, monitoring et journaux de connexion.
  • Ajout d’une analyse temporelle des actions avec buckets configurables, plages de dates, navigation horizontale et attribution par IP.
  • Ajout de la consultation des rapports privés par membre ou personnage, avec pagination et extraction optionnelle des liens.
  • Mise en place d’un mode de surveillance renforcée pour certains comptes.
  • Ajout d’un flux d’authentification réservé au staff, basé sur un code de challenge envoyé via la plateforme cible, avec une option de développement pour désactiver l’authentification localement.
  • Amélioration de la structure frontend et de la navigation, avec une organisation de projet plus claire et une intégration TailwindCSS locale.

État actuel

Le projet dispose d’une base fonctionnelle pour la collecte et le dashboard, avec un stockage structuré des liens d’identité, des rapports et des signaux techniques dans le temps. Le dashboard permet des analyses opérationnelles sans exposer d’identifiants ni dépendre d’un accès public.

Prochaines étapes

  • Continuer la validation de l’exactitude des données par comparaison avec la plateforme source.
  • Améliorer le suivi long terme des renommages de comptes et de personnages.
  • Affiner les vues d’analyse orientées modération selon l’usage réel.
  • Préparer le packaging de déploiement et les versions publiables lorsque le périmètre sera stabilisé.

Cette entrée de journal a été résumée avec l’aide de l’IA.