User Scanner
Arquitectura de User Scanner: módulos, concurrencia, pivotes, informes y MCP
Del target normalizado a módulos, HTTP, grafo cross-scan, exportadores y herramientas de agente.

Qué aprenderás
- Explain module, pivot, report, and MCP layers
- Run a bounded scan and interpret uncertainty
- Apply authorization, rate-limit, and data-retention controls
Antes de empezar
- Basic Git and command-line usage
- Comfort reading a project README
You can explain the project, run its documented first step, and decide what to verify before adopting it.
Conclusiones clave
- Separate module, transport, pivot, report, and MCP contracts.
- Cross-scan is a bounded graph traversal with provenance and de-duplication.
- Different report formats and AI clients must preserve uncertainty and redaction.
Model the engine as contracts
Separa contratos de módulo, transporte, pivot, informe y MCP. Cross-scan es un grafo con profundidad, verificación, deduplicación y evidencia padre/hijo.
A module response should carry platform, target type, status, URL or identifier, timestamp, and uncertainty. The engine should not collapse `not found`, timeout, blocked, and ambiguous into one boolean.
Follow a pivot edge
An initial username or email scan can emit handles, profile links, or public addresses. The cross-scan engine classifies those links, applies depth and verification policy, queues secondary modules, and records parent/child relationships. This is a graph traversal, not a single request.
Bound breadth and depth, de-duplicate normalized targets, and keep an audit record of why each edge was accepted or rejected. A recursive pivot must not silently expand the investigation scope.
Connect reports and MCP
PDF, JSON, and CSV writers project the same observation graph into different consumers; PDF may include profile photos while JSON is better for pipelines. The MCP layer exposes scan, email, and module-discovery tools to compatible clients, so schemas and errors must remain stable and redacted.
Keep the client as an orchestrator of evidence, not an authority that invents identity confidence or widens permissions.
Review failure boundaries
Concurrency, TLS fingerprinting, proxies, provider changes, and module-specific parsers can fail independently. Test timeouts, rate limits, malformed responses, duplicate pivots, partial exports, and MCP cancellation; each should leave a named, recoverable state.
Cómo elegir
| Criterio | Opción A | Opción B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
Pasos de implementación
- 1
Map target normalization, module registry, transport, and response schema.
- 2
Trace one parent target into a verified child pivot.
- 3
Follow JSON/CSV/PDF projections and MCP tool schemas.
- 4
Inject timeout, block, duplicate, and partial-export failures.
Ejemplo para copiar
target normalize -> module registry -> httpx/curl_cffi
response/status -> pivot classifier -> bounded graph
observations -> JSON/CSV/PDF + MCP schemasPreguntas frecuentes
Is a platform module result a binary truth value?
No. Preserve status, evidence URL/identifier, timestamp, and ambiguity such as timeout or block.
Why model cross-scan as a graph?
Each discovered handle/email/link can create parent-child edges, requiring depth, verification, and de-duplication controls.
Fuentes
- User Scanner README (captured 2026-08-31)Fuente verificada 2026-08-31
- User Scanner repositoryFuente verificada 2026-08-31