🚀 Roadmap v0.2.0 — api-inspector
📋 Backlog ordenado por prioridad
🔴 Prioridad alta (lo que el usuario ya está necesitando)
[ ] Agregar web con Flask
Por qué: el cliente no siempre quiere usar CLI. Necesita una URL → apretar un botón → bajar el informe.
Tareas:
Crear web.py con Flask
Formulario: input de URL, responsable, cliente
Botón "Inspeccionar" que llama al motor de core.py
Renderizar el informe en pantalla (HTML)
Botones de descarga para JSON/CSV/HTML
Endpoint POST /auditar y GET /
Tests del flow web (con flask.testing)
Estimación: 1 sprint corto
[ ] Modo "comparar 2 auditorías"
Por qué: el cliente te dice "antes me auditaste X, ahora te paso Y, qué cambió?". Necesitás diff de estructuras y PII.
Tareas:
Flag --comparar-con <hash_anterior> en CLI
Cargar auditoría previa desde salidas/
Diff de campos: nuevos / eliminados / cambió tipo
Diff de PII: aparecieron / desaparecieron hallazgos
Diff de faltantes
Sección "Cambios desde última auditoría" en el informe
Test: misma API en 2 momentos → diff coherente
Estimación: 1 sprint
🟡 Prioridad media (extensibilidad)
[ ] Conector para Odoo
Por qué: muchos clientes PyME usan Odoo como backend. Su API es XML-RPC, no REST JSON.
Tareas:
Detectar Odoo por headers o path (/xmlrpc/2/)
Módulo inspector/connectors/odoo.py con auth opcional
Reutilizar el motor de inspección
Tests con un Odoo mockeado
Estimación: 1 sprint
[ ] Conector para WordPress (WP REST API)
Por qué: hay PyMEs con WP y quieren migrar a otro CMS.
Tareas:
Detectar WP por headers o path (/wp-json/wp/v2/)
Módulo inspector/connectors/wp.py
Detectar paginación de WP (X-WP-Total, X-WP-TotalPages)
Tests
Estimación: medio sprint
[ ] Conector para ERPNext / Frappe
Por qué: abierto, popular en PyMEs, también es REST.
Tareas:
Detectar por path (/api/resource/)
Módulo inspector/connectors/erpnext.py
Soporte de autenticación por token (opcional, no rompe el modelo opensource)
Tests
Estimación: medio sprint
[ ] Soporte de HTML y CSV como input
Por qué: algunas APIs devuelven HTML (scraping-style) o CSV en vez de JSON.
Tareas:
Refactor _descargar() en core.py para detectar formato por content-type
Parser HTML con html.parser (stdlib)
Parser CSV con csv (stdlib)
Convertir a estructura tipo JSON antes de inspeccionar
Tests con un fixture HTML y uno CSV
Estimación: medio sprint
🟢 Prioridad baja (nice to have)
[ ] Regla de "consentimiento"
Por qué: detectar si el JSON del cliente tiene flag de consentimiento / acepto términos, para registrarlo en el informe.
Tareas:
Buscar campos: consentimiento, acepta_terminos, gdpr_consent, consent
Sección "Consentimiento registrado" en el informe
Test
Estimación: pocas horas
[ ] Firma digital PGP opcional
Por qué: además del hash, poder firmar el informe con PGP para que sea prueba legal.
Tareas:
Flag --firmar-pgp <key_id> en CLI
Usar gpg por subprocess (no requiere lib nueva)
Sección "Firmado por" en el HTML
Test con clave PGP de prueba
Estimación: medio sprint
[ ] Dashboard HTML interactivo
Por qué: en vez de un HTML estático, un mini-dashboard con filtros y búsqueda.
Tareas:
Sección colapsable de PII por nivel
Buscador de campos
Filtro por categoría de sensible
Gráfico de torta con resumen
Estimación: 1 sprint
💡 Ideas para v0.3.0+ (futuro)
Plugin system: que el usuario cargue sus propios patrones_deteccion.json desde otra ruta
Caché de auditorías: si la URL no cambió, reutilizar la auditoría previa
Modo "watch": auditar la misma URL cada X tiempo y alertar si cambia
Soporte para GraphQL (introspección del schema)
Soporte para SOAP / WSDL
🐛 Bugs conocidos
Ninguno reportado todavía.
📊 Métricas objetivo para v0.2.0
Cobertura de tests: 90%+
Tiempo de auditoría: < 5s para APIs de < 1000 registros
Tamaño del HTML generado: < 100KB
0 dependencias externas (mantener)
🤝 Cómo contribuir
1.Fork + PR
2.Issues con label: bug, enhancement, connector, docs
3.Para sumarte al proyecto, abrí un issue con label colaborar
Mantenido por AlbertiJ — herramienta forense para auditorías de migración de datos en PyMEs que usan open source.
🚀 Roadmap v0.2.0 — api-inspector
📋 Backlog ordenado por prioridad
🔴 Prioridad alta (lo que el usuario ya está necesitando)
[ ] Agregar web con Flask
Por qué: el cliente no siempre quiere usar CLI. Necesita una URL → apretar un botón → bajar el informe.
Tareas:
Estimación: 1 sprint corto
[ ] Modo "comparar 2 auditorías"
Por qué: el cliente te dice "antes me auditaste X, ahora te paso Y, qué cambió?". Necesitás diff de estructuras y PII.
Tareas:
Estimación: 1 sprint
🟡 Prioridad media (extensibilidad)
[ ] Conector para Odoo
Por qué: muchos clientes PyME usan Odoo como backend. Su API es XML-RPC, no REST JSON.
Tareas:
Estimación: 1 sprint
[ ] Conector para WordPress (WP REST API)
Por qué: hay PyMEs con WP y quieren migrar a otro CMS.
Tareas:
Estimación: medio sprint
[ ] Conector para ERPNext / Frappe
Por qué: abierto, popular en PyMEs, también es REST.
Tareas:
Estimación: medio sprint
[ ] Soporte de HTML y CSV como input
Por qué: algunas APIs devuelven HTML (scraping-style) o CSV en vez de JSON.
Tareas:
Estimación: medio sprint
🟢 Prioridad baja (nice to have)
[ ] Regla de "consentimiento"
Por qué: detectar si el JSON del cliente tiene flag de consentimiento / acepto términos, para registrarlo en el informe.
Tareas:
Estimación: pocas horas
[ ] Firma digital PGP opcional
Por qué: además del hash, poder firmar el informe con PGP para que sea prueba legal.
Tareas:
Estimación: medio sprint
[ ] Dashboard HTML interactivo
Por qué: en vez de un HTML estático, un mini-dashboard con filtros y búsqueda.
Tareas:
Estimación: 1 sprint
💡 Ideas para v0.3.0+ (futuro)
🐛 Bugs conocidos
Ninguno reportado todavía.
📊 Métricas objetivo para v0.2.0
🤝 Cómo contribuir
Mantenido por AlbertiJ — herramienta forense para auditorías de migración de datos en PyMEs que usan open source.