Skip to content
CAI
Software that uses CAICheck a score

soxoj/maigret

54.9

Weak · 18 September 2026

9.7k

lines of production code

Python

primary language

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

Maigret is an open-source intelligence tool designed for investigating user identities by searching for usernames across thousands of websites. It provides both a command-line interface and a web-based frontend to perform real-time scans, supporting features like AI-powered report summarization and secure data handling. The system maintains a large, integrity-checked site database and includes utilities for site verification and maintenance to ensure accurate detection results.

How it got here

2020 — Initial scaffolding and AI integration

7 changes.

The project was initialized with comprehensive documentation, build automation, and internationalization support, establishing the foundational repository structure. Concurrently, the core tooling was enhanced with AI-powered report summarization, expanded site database coverage, and robust maintenance utilities, while migrating the dependency management system to Poetry.

2021–2024 — Web interface and usability enhancements

5 changes.

This period focused on expanding the project's accessibility by introducing a comprehensive web-based frontend with real-time scanning visualization and report generation. Concurrently, the team improved the user experience for Windows users by enabling interactive double-click execution and strengthened development workflows with automated pre-commit hooks for database metadata.

Features

Added example HTML and PDF reports and a Gitter badge

The static assets now include example HTML and PDF username search reports (e.g., for 'alexaimephotographycars') to demonstrate the output format, along with a new 'chat on gitter' badge to facilitate community support.

static · high confidence

Added pre-commit hook to regenerate site data and database metadata

A new pre-commit hook has been added to automatically regenerate \data.json\, \sites.md\, and \db\_meta.json\ before each commit. This ensures that derived database files are kept up-to-date and prevents issues caused by stale metadata signatures that could break database auto-update functionality for users.

.githooks · high confidence

Initial project scaffolding and documentation

The repository is initialized with essential project files: a Read the Docs configuration for building documentation, a comprehensive changelog, a CITATION file for academic referencing, a Code of Conduct, a detailed contributor guide, a Windows installer script, and a Makefile for build automation. Additionally, localized README files in French and Simplified Chinese are added to support international users.

(repo-wide) · high confidence

Initial release of the web interface

This change introduces the new web-based frontend for Maigret, implemented as a Flask application in \maigret/web/app.py\. It enables users to perform username searches directly through a browser, featuring live streaming of scan progress via Server-Sent Events (SSE) so results appear in real-time. The interface includes a settings modal that persists user preferences (such as timeout, top sites, and proxy configurations) to a local JSON file, and it supports Cloudflare bypass via FlareSolverr. Additionally, it provides functionality to generate and download reports, with secure handling of file paths to prevent traversal vulnerabilities.

maigret/web · high confidence

Introduces AI-powered report summarization and new report templates

Users can now generate AI-analyzed summaries of username investigation reports, with a dedicated prompt template (ai\_prompt.txt) instructing the model to group accounts into identity clusters and produce a concise, human-readable profile. The release also adds new report templates (simple\_report.tpl, simple\_report\_pdf.tpl) and associated CSS (simple\_report\_pdf.css) for HTML and PDF output, alongside a new settings file (settings.json) that configures default behaviors and includes OpenAI API integration settings (model, key, base URL). A new database metadata file (db\_meta.json) tracks the site database version and integrity, and the site database (data.json) has been significantly expanded to include 5,897 sites.

maigret/resources · high confidence

Maigret version 0.6.6 with AI analysis, site activation, and security hardening

Maigret is updated to version 0.6.6, introducing an AI-powered analysis feature that streams LLM-generated insights from OpenAI-compatible APIs based on search results. The tool now supports activation mechanisms for sites that require authentication or challenge responses, including Twitter, Vimeo, OnlyFans, Proton, Weibo, and Wikimapia. Security is improved with a fix for SSRF and local-file reads via report image URLs during PDF generation, ensuring only safe public images are fetched. Additionally, SOCKS5 proxy URL schemes are normalized to prevent hostname leaks across different HTTP transports, and the database auto-update mechanism includes SHA-256 verification for integrity.

maigret · high confidence

New site-checking and maintenance utilities added to utils/

A suite of new diagnostic and maintenance scripts has been added to the utils/ directory to improve site database quality and developer workflows. These include check\_top\_n.py and fp\_probe\_top\_sites.py for mass site checking and false-positive detection, check\_engines.py for engine detection, selfcheck\_triage.py for classifying self-check failures, and import\_sites.py for adding new sites. The update\_site\_data.py script has been updated to migrate from the Alexa ranking API to the Majestic Million ranking service, and generate\_db\_meta.py now generates db\_meta.json to support the database auto-update mechanism.

utils · high confidence

New web interface for Maigret scans

The Maigret tool now includes a web-based frontend accessible via the \--web\ flag, providing a browser-based alternative to the command-line interface. This update introduces several key pages: a main search page (\index.html\) allowing users to input usernames and select between fast or full scan modes; a live results dashboard (\live.html\) that visualizes scan progress in real-time using a network graph and streaming updates; a results summary page (\results.html\) displaying claimed profiles with tags and offering downloadable reports in CSV, JSON, PDF, and HTML formats; a search history view (\history.html\) to track past scans; and a status page (\status.html\) for background processing. The interface features a dark theme, a 'Fork me on GitHub' ribbon, and uses Bootstrap 5 for styling.

maigret/web/templates · high confidence

Behavioural changes

Windows standalone executable now supports double-click launch with interactive username prompt

The Windows standalone build (maigret\_standalone.exe) now detects when it is launched by double-clicking in Explorer rather than from a command prompt. In this mode, it displays an introductory message and prompts the user to enter a username interactively before running the search, ensuring the console window remains open for feedback. When launched normally from a shell, the tool behaves as before, executing immediately with provided arguments.

pyinstaller · high confidence

Test coverage

Expanded test coverage for core scanning, activation, and configuration logic; Removal of legacy Sherlock test suite.

Dependencies

Migration to Poetry dependency management

The project has switched from a flat requirements.txt to a Poetry-based build system (pyproject.toml and poetry.lock). This introduces a new dependency resolver, updates the core aiohttp library to version 3.14.3, and adds new dependencies such as curl-cffi and XMind. The legacy requirements.txt file has been removed, and a dedicated requirements file for documentation builds (docs/requirements.txt) has been added.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Baseline

  • First survey — no prior run to compare against. CAI 55.

Lenses

  • Code Health 76
  • Architecture 94
  • Maturity 60
  • Readiness 60
  • Security 67
  • Accessibility 44

Changes since last survey

  • 300 commits — 252 feature/other, 48 fixes

By area

  • (root) — 130 commits
  • maigret/resources — 93 commits
  • docs/source — 22 commits
  • maigret/checking.py — 10 commits
  • maigret/report.py — 5 commits
  • maigret/sites.py — 5 commits
  • pyinstaller/requirements.txt — 5 commits
  • .github/workflows — 4 commits
  • maigret/activation.py — 4 commits
  • maigret/utils.py — 4 commits
  • maigret/maigret.py — 3 commits
  • maigret/web — 3 commits
  • snap/snapcraft.yaml — 3 commits
  • maigret/errors.py — 2 commits
  • .githooks/pre-commit — 1 commit
  • maigret/ai.py — 1 commit
  • maigret/error_detection.py — 1 commit
  • maigret/notify.py — 1 commit
  • maigret/submit.py — 1 commit
  • static/web_interface_screenshot.png — 1 commit

Notable commits

  • fix: Fix Chinese name false positives: add CJK regexCheck to 27 sites (#2633) (#2699)
  • fix: Fix DNS resolver failures: classify aiodns errors, add --dns-resolver threaded fallback (#2688) (#2717)
  • fix: Fix HackerNews and Rajce.net false positives (#2780)
  • fix: Fix Omg.lol false-positive check (#2922)
  • fix: Fix ReverbNation false-positive check (#2929)
  • fix: Fix URLMatcher eating leading host chars (unescaped dots in prefix regex) (#2808)
  • fix: Fix XMind reports for modern readers (#2930)
  • fix: Fix async activation retry handling (#2765)
  • fix: Fix diagnostic database loading on Windows (#2992)
  • fix: Fix docs build: dedup link targets, gate SVG badges to HTML (#2695)
  • fix: Fix error-percentage rounding tripping thresholds at whole-percent granularity (#2788)
  • fix: Fix get_dict_ascii_tree ignoring new_line=False (#2805)
  • fix: Fix graph and Neo4j reports for non-string identity values (#3046)
  • fix: Fix site checks: 1 fixed, 8 disabled, 2 added (#2722)
  • fix: Fix site checks: 13 fixed, 7 disabled + CN sites: Tuchong, GitCode, Yuque, LeetCode CN, Bangumi, NGA, Moegirl (#2835)
  • fix: Fix site checks: 14 fixed, 5 disabled (#2860)
  • fix: Fix site checks: 2 fixed, 1 new added + proton activation method (#2869)
  • fix: Fix site checks: 2 fixed, 2 disabled (#2745)
  • fix: Fix site checks: 3 fixed, 2 dead deleted (#2909)
  • fix: Fix site checks: 4 fixed, 1 disabled (#2715)
  • …and 280 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

soxoj/maigret was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 18 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit e64b3b413a2fd3df5432f2973ea058b16c0095bf — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-5d04157a340d.