Skip to content

luisfemojica/xmlshield

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛡️ XMLShield - Your Local XML Fortress

Privacy-first XML formatter. 100% local, zero dependencies, zero compromise.

XMLShield es una herramienta de formateo y minificación de XML que funciona completamente en tu navegador, sin enviar datos a ningún servidor. Diseñada en respuesta a preocupaciones sobre la seguridad de herramientas online, XMLShield te da control total sobre tus archivos XML sensibles.

Version Tests License Live Demo No Dependencies Size


✨ Características Principales

🔐 Seguridad y Privacidad

  • 100% Local - Funciona completamente offline
  • Cero Dependencias - Sin CDN, npm o código de terceros
  • Sin Telemetría - No envía datos a ningún servidor
  • Auditable - Todo el código en un solo archivo de ~50KB
  • No requiere instalación - Abre y usa

⚡ Funcionalidades

  • Formateo XML con indentación configurable (espacios o tabs)
  • 📦 Minificación inteligente con opciones avanzadas
  • 🔁 Conversión XML ⇄ JSON con autodetección de la entrada
  • 📊 Conversión XML → CSV para datos tabulares (detecta el elemento repetido)
  • 🧭 XPath queries con document.evaluate() nativo — //tag[@attr='x'], count(), etc.
  • ♻️ Buscar y reemplazar en la entrada, integrado con Deshacer
  • 🆚 Diff semántico entre dos XML — ignora orden de atributos y espacios
  • 🎨 Resaltado de sintaxis XML y JSON sin dependencias externas
  • 👁️ Vista triple - Sintaxis resaltada, texto plano o árbol colapsable (XML y JSON)
  • 🔍 Búsqueda con highlight y navegación entre coincidencias
  • 🔢 Líneas numeradas en ambos editores, sincronizadas con el scroll
  • 📊 KPIs en tiempo real - Tamaño, ahorro, elementos, atributos y profundidad
  • 💾 Descarga de resultados con timestamp
  • 📋 Copiar al portapapeles como texto o string escapado (JS, Python, Java)
  • 🎨 5 temas visuales - Claro, Oscuro, Alto Contraste, Solarized y Monokai (+ tema automático según el sistema)
  • 🔗 Presets de configuración vía URL compartibles
  • 📤 Compartir documento por enlace - gzip nativo + hash que nunca viaja al servidor
  • ♻️ Reemplazo con regex - grupos $1, $2... en el reemplazo (opcional)
  • Accesible - roles ARIA, foco visible por teclado en los 5 temas
  • Validación en vivo - Indicador ✓/✗ con línea del error mientras escribes
  • ⬆️ Encadenar operaciones - Botón "Reusar salida" (formatear → convertir → minificar)
  • ⌨️ Atajos de teclado para flujo de trabajo rápido (incluye Ctrl+G ir a línea)
  • 🎯 Drag & drop y botón Abrir - Archivos .xml y .json, también en móvil
  • 💾 Recordar configuración - Opt-in explícito, 100% local, se borra al desmarcar

🎨 Interfaz

  • Panel dividido lado a lado
  • Gradientes modernos
  • Responsive design (móvil/tablet/desktop)
  • Feedback visual en todas las acciones

📖 Inicio Rápido

📸 Vista Previa

XMLShield Screenshot

XMLShield formateando XML con resaltado de sintaxis en modo oscuro

Método 1: Uso Directo (Recomendado)

  1. Descarga index.html
  2. Abre con doble clic (no requiere servidor web)
  3. Pega tu XML o arrastra un archivo
  4. ¡Listo! Formatea o minifica con un click

Método 2: Desde el Navegador

  1. Ve a https://luisfemojica.github.io/xmlshield/
  2. Agrega a favoritos para uso offline
  3. Funciona sin conexión después de la primera carga

Operaciones Básicas

Formatear XML

  1. Pega tu XML en el panel izquierdo
  2. Ajusta sangría (espacios o tabs)
  3. Click en "✨ Formatear" o presiona Ctrl+Enter
  4. Resultado aparece en panel derecho

Minificar XML

  1. Pega tu XML en el panel izquierdo
  2. Configura opciones de minificado
  3. Click en "📦 Minificar" o presiona Ctrl+M
  4. XML comprimido aparece a la derecha

Descargar Resultado

  • Click en "💾 Descargar"
  • Se descarga como: xml_formatted_[timestamp].xml

⌨️ Atajos de Teclado

Atajo Acción
Ctrl + Enter Formatear XML
Ctrl + M Minificar XML
Ctrl + B Cambiar vista (Resaltada/Texto/Árbol)
Ctrl + O Abrir archivo
Ctrl + F Buscar en la salida
Ctrl + H Buscar y reemplazar en la entrada
Ctrl + L Limpiar editores
Ctrl + G Ir a línea específica
Tab (en el editor) Insertar sangría
Ctrl + Z Deshacer (fuera del editor)
Ctrl + Y Rehacer (fuera del editor)

⚙️ Opciones Avanzadas

Configuración de Formato

  • Sangría (0-16): Define número de espacios de indentación
  • Usar tabs: Checkbox para usar tabuladores en lugar de espacios
  • Conservar espacios: No normaliza espacios en nodos de texto al formatear

Configuración de Minificado

  • Conservar espacios en texto: No modifica espacios dentro de contenido textual
  • Compactar atributos: Elimina espacios redundantes en atributos

🎯 Casos de Uso

XMLShield está diseñado para:

  • Desarrolladores formateando XMLs de configuración (Spring, Maven, web.xml)
  • Analistas de datos limpiando exportaciones XML de APIs o bases de datos
  • SysAdmins validando archivos de configuración antes de deploy
  • Estudiantes aprendiendo XML y visualizando estructura
  • Equipos con datos sensibles (GDPR, HIPAA) que no pueden usar herramientas cloud
  • Cualquier persona que valore privacidad sobre conveniencia

✅ Casos Primarios (Funciona Perfecto)

  • XMLs de configuración (<5MB)
  • Exportaciones de APIs o bases de datos
  • Archivos de infraestructura sensibles
  • Validación de sintaxis XML
  • Aprendizaje y experimentación

🟡 Casos Secundarios (Funciona con Limitaciones)

  • XMLs muy grandes (>100MB) - Puede ser lento pero funciona
  • Archivos complejos sin validación XSD (solo valida sintaxis)

❌ Casos NO Cubiertos (Por Diseño)

  • Validación contra schemas XSD/DTD → Usar herramientas especializadas
  • Transformaciones XSLT complejas → Fuera del alcance
  • Procesamiento batch automatizado → No es una CLI tool

🔐 Seguridad y Privacidad

Garantías de Seguridad

Sin conexión a Internet - El archivo funciona completamente offline
Sin telemetría - No envía datos a ningún servidor
Sin cookies - No almacena nada por defecto. Si activas "Recordar config" se guardan tus preferencias (sangría, tema, vista) en localStorage de tu navegador — nunca tu XML, nunca se envía a ningún lado, y se borra al desmarcar la casilla
Sin CDN - No carga recursos externos que puedan ser comprometidos
Código auditable - Todo el código está en un solo archivo visible (~1500 líneas)
Sin dependencias - Cero librerías de terceros que puedan tener vulnerabilidades

Consideraciones

  • ⚠️ Los archivos procesados quedan en la memoria del navegador hasta cerrar la pestaña
  • ⚠️ No hay límite de tamaño, pero archivos muy grandes (>100MB) pueden ralentizar el navegador
  • ✅ Compatible con normativas de privacidad (GDPR, HIPAA, etc.) por ser 100% local

Contexto: ¿Por Qué XMLShield?

En febrero de 2026, Notepad++ sufrió un incidente de seguridad que comprometió la confianza en herramientas que dependen de actualizaciones automáticas y CDNs externos. XMLShield nace como respuesta a esta necesidad: una herramienta que puedes auditar visualmente en minutos y usar con confianza total.


📐 Alcance y Filosofía del Proyecto

Principios Fundamentales

XMLShield v2.x se adhiere estrictamente a estos principios:

  1. Un solo archivo HTML - Facilita distribución, auditoría y uso offline
  2. Cero dependencias externas - Sin CDN, npm, ni código de terceros
  3. Auditable en minutos - Cualquier desarrollador puede revisar todo el código
  4. Funciona offline - Sin conexión a internet requerida
  5. Sin telemetría - Cero rastreo, cero cookies, cero envío de datos

Límites Técnicos (v2.x)

Para mantener la simplicidad y auditabilidad:

Aspecto Estado Actual v2.3 Límite Máximo v2.x
Líneas de código ~1470 ~2500
Tamaño del archivo ~50KB 100KB (límite duro)
Tiempo de auditoría ~30 minutos 45 minutos
Dependencias externas 0 0

Test de 4 Preguntas

Toda nueva feature debe pasar mínimo 3 de 4 preguntas:

  1. ✅ ¿Lo necesita el 80% de los usuarios?
  2. ✅ ¿Se puede implementar en <200 líneas?
  3. ✅ ¿Mantiene el archivo auditable visualmente?
  4. ✅ ¿Funciona 100% offline sin setup?

🗺️ Roadmap

v2.0 - "The Foundation" ✅ ACTUAL

Fecha: Febrero 2026

Refactorización completa con diseño moderno, panel dividido, gradientes, modo oscuro mejorado, KPIs con emojis, y descarga de archivos.

v2.1 - "Quick Wins" ✅ COMPLETADO

Fecha: Junio 2026

  • ✅ Errores detallados con número de línea
  • ✅ Undo/Redo básico (memoria de sesión)
  • ✅ Estadísticas del documento (elementos, profundidad, atributos)
  • ✅ Líneas numeradas en editores
  • ✅ Advertencia para archivos grandes (>50MB)

v2.2 - "Productivity Boost" ✅ COMPLETADO

Fecha: Junio 2026

  • ✅ Conversión XML ⇄ JSON (autodetecta la entrada)
  • ✅ Búsqueda mejorada con highlight y navegación
  • ✅ Presets de configuración vía URL (?indent=4&theme=monokai&view=arbol)
  • ✅ Copiar como string escapado (JS, Python, Java)

v2.3 - "Navigation & UX" ✅ COMPLETADO

Fecha: Junio 2026

  • ✅ Vista de árbol colapsable (solo lectura)
  • ✅ Ir a línea específica (Ctrl+G)
  • ✅ Temas visuales adicionales (High Contrast, Solarized, Monokai)

v2.4 - "Polish & Trust" ✅ COMPLETADO

Fecha: Junio 2026

  • ✅ Bugfixes: declaración XML perdida al formatear/minificar, resaltado de tags con atributos, minify vs CDATA/comentarios
  • ✅ Harness de tests de regresión (tests.html, solo desarrollo — 42 tests)
  • ✅ Botón "Reusar salida" (encadenar operaciones)
  • ✅ Botón "Abrir archivo" (soporte móvil, acepta .xml y .json)
  • ✅ Validación en vivo con indicador ✓/✗ y línea del error
  • ✅ Tema automático según el sistema (prefers-color-scheme)
  • ✅ Recordar configuración (opt-in, 100% local)

v2.5 - "Power Tools" ✅ COMPLETADO

Fecha: Junio 2026 (adelantado sobre Q3)

  • ✅ XPath queries (con document.evaluate() nativo del navegador)
  • ✅ Buscar y reemplazar en la entrada (integrado con Undo)
  • ✅ Conversión XML → CSV para datos tabulares (escapado RFC 4180)
  • ✅ Ordenar atributos y eliminar comentarios al minificar (opciones)

v2.6 - "Compare" ✅ COMPLETADO

Fecha: Junio 2026 (adelantado sobre Q4)

  • ✅ Diff/comparación semántica de XMLs (ignora orden de atributos y espacios)

v2.7 - "Refinement" ✅ COMPLETADO

Fecha: Junio 2026

  • ✅ Layout móvil real: paneles apilados y página con scroll (antes los editores quedaban inusables)
  • ✅ Botón "📄 Ejemplo" y preset ?demo=1 para onboarding
  • ✅ Formatear/Minificar también embellecen y compactan JSON
  • ✅ La línea del error se marca en rojo en el gutter
  • ✅ Árbol interactivo: contador de hijos y click en un tag → su ruta XPath
  • ✅ Modo comparar acepta abrir/arrastrar archivo para el XML B
  • ✅ KPIs con unidades legibles (B/KB/MB), favicon, atajos Ctrl+O/F/H y Tab con sangría
  • ✅ CI en GitHub Actions: la suite corre headless en cada PR

v2.8 - "JSON First-Class" ✅ COMPLETADO

Fecha: Junio 2026

  • ✅ Resaltado de sintaxis JSON en la vista Resaltada
  • ✅ Árbol colapsable para JSON (objetos, arrays, contadores)
  • ✅ Estadísticas para JSON en los KPIs
  • ✅ Descarga con extensión correcta (.json/.csv/.txt)

v2.9 - "Share & Power Input" ✅ COMPLETADO

Fecha: Junio 2026

  • ✅ Compartir documento por URL (gzip nativo en el hash, 100% local)
  • ✅ Regex con grupos en buscar y reemplazar
  • ✅ JSONPath al hacer click en el árbol JSON
  • ✅ Accesibilidad: ARIA + foco visible por teclado

🎉 Roadmap v2.x completado de principio a fin — ~2277 líneas | ~88KB (límite duro: 100KB) | 92 tests de regresión con CI.

v3.0+ - "XMLShield Extended" 🔮 2027+

Proyecto separado con features avanzadas:

  • Validación XSD básica
  • Diff/comparación de XMLs
  • XPath queries simples
  • Web Workers para procesamiento

📚 Documentación Completa

Este proyecto mantiene documentación exhaustiva para guiar su desarrollo:

📄 Documentos Principales

  • SCOPE.md - ⭐ Definición de Alcance

    • Qué está dentro y fuera de XMLShield v2.x
    • Límites técnicos estrictos
    • Test de 4 Preguntas para evaluar features
    • Casos de uso cubiertos y no cubiertos
  • ROADMAP.md - 📅 Plan de Versiones

    • Timeline detallado (v2.1, v2.2, v2.3)
    • Features planificadas con estimaciones
    • Criterios de éxito por versión
    • Métricas de progreso
  • CONTRIBUTING.md - 🤝 Guía de Contribución

    • Cómo proponer features
    • Guías de código y estándares
    • Templates para Issues y PRs
    • Proceso de contribución
  • GUIA_DOCUMENTACION.md - 📚 Índice de Documentación

    • Cómo usar cada documento
    • Escenarios comunes
    • Checklist de contribución

🎯 ¿Por Dónde Empezar?

Si quieres usar XMLShield:

  • Lee este README.md completo
  • Descarga index.html y úsalo

Si quieres contribuir:

  1. Lee SCOPE.md - Entiende la filosofía
  2. Revisa ROADMAP.md - Ve qué está planificado
  3. Sigue CONTRIBUTING.md - Aprende el proceso

Si tienes una idea de feature:

  1. Aplica el Test de 4 Preguntas (en SCOPE.md)
  2. Revisa si ya está en el ROADMAP
  3. Abre un Issue siguiendo el template

🚀 Mejoras Futuras Consideradas

✅ Roadmap Completado (v2.1-v2.3)

  • Errores con número de línea
  • Estadísticas del documento
  • Conversión XML ⇄ JSON
  • Vista de árbol navegable
  • Temas adicionales

✅ Roadmap v2.4-v2.6 Completado

  • Bugfixes + 68 tests de regresión
  • Validación en vivo, abrir archivo (móvil), encadenar operaciones
  • XPath, buscar y reemplazar, XML → CSV
  • Diff semántico de XMLs

❌ v3.0 "Extended": NO-GO (decisión de Junio 2026)

  • Validación XSD, Web Workers y PWA quedan descartados definitivamente: requieren romper los principios del proyecto (un archivo, cero dependencias, auditable). Para eso existen xmllint, Oxygen XML o XMLSpy.
  • El desarrollo continúa en la línea v2.x con mejoras incrementales.

❌ Explícitamente FUERA del Alcance (v2.x)

  • Soporte DTD (legacy, complejo)
  • XSLT transformations (requiere motor completo)
  • Web Workers (rompe concepto de un solo archivo)
  • Múltiples pestañas (state management complejo)
  • Sistema de plugins (rompe simplicidad)
  • Aplicaciones nativas (Electron, CLI, extensión)

¿Por qué tan restrictivo? La simplicidad ES nuestra feature principal. XMLShield v2.x debe "simplemente funcionar" para el 95% de casos sin explicaciones, curva de aprendizaje, o riesgos de seguridad.

Para features más avanzadas, considera XMLShield Extended (v3.0+) o herramientas enterprise como Oxygen XML o XMLSpy.


💻 Compatibilidad

Navegadores Soportados

  • ✅ Chrome 90+
  • ✅ Firefox 88+
  • ✅ Safari 14+
  • ✅ Edge 90+

No Soportado

  • ❌ Internet Explorer (obsoleto)
  • ❌ Navegadores muy antiguos (>3 años)

Características Usadas

  • DOMParser API (validación XML nativa)
  • XMLSerializer API (serialización)
  • Clipboard API (copiar al portapapeles)
  • File API (drag & drop)
  • CSS Grid y Flexbox (layout moderno)

📝 Changelog

v2.9 - Junio 2026

  • ✅ Botón "📤 Compartir doc": el documento viaja comprimido (gzip nativo) en el hash del enlace — nunca se envía a ningún servidor
  • ✅ Checkbox "regex" en buscar y reemplazar, con grupos $1, $2...
  • ✅ Click en una clave del árbol JSON copia su ruta JSONPath ($.tienda.libros[0])
  • ✅ Accesibilidad: role="alert" en errores, aria-live en la validación, aria-label en iconos, foco visible por teclado

v2.8 - Junio 2026

  • ✅ Resaltado de sintaxis para JSON: claves, strings, números y booleanos con colores (5 temas)
  • ✅ Vista de árbol para JSON: objetos y arrays colapsables con contador de claves/elementos
  • ✅ Estadísticas también para JSON (valores, claves, profundidad)
  • ✅ Descargar usa la extensión y MIME correctos: .json, .csv o .txt según la salida

v2.7 - Junio 2026

  • ✅ Layout móvil real: paneles apilados a ancho completo y página con scroll
  • ✅ Botón "📄 Ejemplo" en el panel de entrada + preset ?demo=1
  • ✅ Formatear y Minificar detectan JSON y lo embellecen/compactan
  • ✅ La validación en vivo marca la línea del error en rojo en el gutter
  • ✅ Árbol interactivo: contador de hijos y click en un tag copia su ruta XPath al campo de consulta
  • ✅ El modo comparar acepta abrir o arrastrar archivo para el XML B
  • ✅ KPIs con unidades legibles (B/KB/MB), favicon inline, atajos Ctrl+O/F/H y Tab con sangría
  • ✅ CI con GitHub Actions: los 77 tests corren headless en cada push y PR
  • ✅ Screenshot del README regenerado con la app actual

v2.6 - Junio 2026

  • ✅ Diff semántico entre dos XML con rutas tipo XPath y marcadores ➕/➖/✏️ (ignora orden de atributos y espacios)
  • ✅ Scrollbars visibles en editores (el scroll horizontal nativo era casi invisible)

v2.5 - Junio 2026

  • ✅ XPath queries sobre la entrada con resultados en la salida (//tag, predicados, count(), //@attr, text())
  • ✅ Buscar y reemplazar en la entrada: siguiente desde el cursor o todas, con Undo
  • ✅ Conversión XML → CSV: tabula el elemento repetido dominante con escapado RFC 4180
  • ✅ Opción "Ordenar atributos" (formatear y minificar)
  • ✅ Opción "Quitar comentarios" al minificar

v2.4 - Junio 2026

  • ✅ Bugfix: la declaración XML y los comentarios top-level ya no se pierden al formatear/minificar
  • ✅ Bugfix: el resaltado colorea los nombres de tags con atributos
  • ✅ Bugfix: minificar ya no altera el contenido de CDATA, comentarios ni texto con =
  • ✅ Suite de tests de regresión (tests.html, 42 casos, solo desarrollo)
  • ✅ Botón "Abrir archivo" (.xml/.json) — funciona en móvil
  • ✅ Botón "Reusar salida" para encadenar operaciones
  • ✅ Validación en vivo con línea y columna del error
  • ✅ Tema automático según prefers-color-scheme
  • ✅ Recordar configuración (opt-in con localStorage, 100% local)

v2.3 - Junio 2026

  • ✅ Vista de árbol colapsable de solo lectura (tercer modo del botón de vista)
  • ✅ Ir a línea específica con Ctrl+G
  • ✅ Temas visuales: Alto Contraste, Solarized y Monokai

v2.2 - Junio 2026

  • ✅ Conversión XML ⇄ JSON con autodetección de la entrada
  • ✅ Búsqueda con resaltado de coincidencias y navegación anterior/siguiente
  • ✅ Presets de configuración vía URL + botón "Copiar config"
  • ✅ Copiar la salida como string escapado (JS, Python, Java)

v2.1 - Junio 2026

  • ✅ Errores XML con número de línea y columna exactos
  • ✅ Undo/Redo básico con Ctrl+Z / Ctrl+Y (memoria de sesión)
  • ✅ Estadísticas del documento: elementos, atributos y profundidad
  • ✅ Líneas numeradas en ambos editores, sincronizadas con el scroll
  • ✅ Advertencia y confirmación para archivos grandes

v2.0 - Febrero 2026

  • ✅ Refactorización completa del diseño
  • ✅ Panel dividido lado a lado
  • ✅ Gradientes modernos en header
  • ✅ Botón de descarga de archivos
  • ✅ Mejoras en modo oscuro
  • ✅ Responsive design mejorado
  • ✅ KPIs con emojis
  • ✅ Feedback visual en acciones

v1.0 - Febrero 2026 (Original)

  • ✅ Formateo XML con DOMParser
  • ✅ Minificación inteligente
  • ✅ Resaltado de sintaxis
  • ✅ Vista alternativa texto/resaltada
  • ✅ Drag & drop
  • ✅ KPIs en tiempo real
  • ✅ Modo oscuro
  • ✅ 3 atajos de teclado

🤝 Contribuciones

Este proyecto valora las contribuciones que mantienen su filosofía de simplicidad y seguridad.

¿Cómo Contribuir?

  1. Lee la documentación:

  2. Verifica el alcance:

    • Aplica el Test de 4 Preguntas
    • ¿Pasa 3/4? → Continúa
    • ¿No pasa? → Considera XMLShield Extended (v3.0+)
  3. Propón tu idea:

    • Abre un Issue con el template
    • Espera feedback del mantenedor
    • Si es aceptada, implementa siguiendo las guías

Reglas para Contribuciones

  • ✅ Mantener el principio de "un solo archivo HTML"
  • ✅ No agregar dependencias externas (CDN, npm, etc.)
  • ✅ Mantener compatibilidad con navegadores modernos
  • ✅ Documentar cambios en el código
  • ✅ Actualizar el Changelog
  • ✅ No exceder límites: ~2500 líneas, 100KB (duro)
  • ✅ Los tests de tests.html deben pasar (servir con python -m http.server)

Reconocimiento

Los contribuidores son reconocidos en:

  • Esta sección del README
  • Changelog de cada versión
  • Comentarios del código (si aplica)

Contribuidores actuales:

  • Luis Mojica - Creador y mantenedor principal

📄 Licencia

Este proyecto está en el dominio público. Úsalo libremente para cualquier propósito personal o comercial sin restricciones.

Disclaimer: Este software se proporciona "tal cual", sin garantías de ningún tipo, expresas o implícitas.


📚 Referencias y Recursos

Documentación Relevante

Contexto de Seguridad

  • Notepad++ Hijacking Incident (Febrero 2026)
  • Supply Chain Attack Best Practices
  • Local-First Software Movement

Herramientas Relacionadas

  • Para validación XSD: XMLSpy, Oxygen XML Editor
  • Para XSLT: xsltproc, Saxon
  • Para procesamiento batch: xmllint, tidy

💡 Preguntas Frecuentes (FAQ)

¿Es realmente seguro usar XMLShield con datos sensibles?

Sí. Todo el procesamiento ocurre en tu navegador. No se envía ningún dato a servidores externos. Puedes verificarlo auditando el código (son ~1500 líneas en un solo archivo) o monitoreando el tráfico de red (verás cero requests).

¿Por qué no usar herramientas online como prettydiff.com o xmlformatter.io?

Esas herramientas envían tu XML a sus servidores. Si trabajas con datos sensibles, regulados o confidenciales, esto puede violar políticas de privacidad o compliance.

¿Funciona sin internet?

Sí, 100%. Después de descargar index.html, puedes usarlo completamente offline. No requiere conexión a internet en ningún momento.

¿Por qué no añaden validación XSD?

Añadir un validador XSD completo requeriría ~2000+ líneas de código, rompiendo nuestro principio de simplicidad y auditabilidad. Para eso existen herramientas especializadas. XMLShield se enfoca en hacer una cosa muy bien: formatear y minificar XML de forma segura.

¿Puedo usar XMLShield en mi empresa?

Absolutamente. Al ser dominio público y 100% local, cumple con la mayoría de políticas de seguridad corporativa. Muchas empresas lo prefieren sobre herramientas cloud para archivos de configuración sensibles.

¿Qué pasa con archivos XML muy grandes (>100MB)?

XMLShield puede procesarlos, pero puede ser lento ya que todo ocurre en memoria del navegador. Para archivos enormes, considera herramientas de línea de comandos como xmllint o tidy.

¿Por qué un solo archivo HTML en lugar de un proyecto npm normal?

Simplicidad y seguridad. Un solo archivo es:

  • Fácil de distribuir (email, USB, intranet)
  • Fácil de auditar (lees todo en 30 minutos)
  • Sin proceso de build que pueda ser comprometido
  • Sin dependencias que puedan tener vulnerabilidades

¿Puedo hacer un fork con más features?

¡Por supuesto! Solo mantén claro que es un fork y respeta la licencia de dominio público. Si añades features complejas (XSD, XSLT, etc.), considera llamarlo "XMLShield Extended" para diferenciarlo.


🎯 Filosofía Final

XMLShield existe porque creemos que las herramientas de desarrollo no deberían comprometer tu privacidad ni la de tus usuarios. En un mundo donde incluso editores de texto pueden ser comprometidos, necesitamos herramientas que podamos auditar, entender y confiar.

Simplicidad no es una limitación, es nuestra característica principal.


📞 Contacto y Soporte

  • Issues: Para reportar bugs o proponer features
  • Discussions: Para preguntas generales e ideas
  • Website: luisfemojica.com
  • Email: Disponible en el website

🌟 Apoya el Proyecto

XMLShield es gratuito y de código abierto. Si te resulta útil:

  • ⭐ Dale una estrella en GitHub
  • 🐛 Reporta bugs que encuentres
  • 💡 Propón mejoras (que respeten el alcance)
  • 📢 Compártelo con colegas que valoren privacidad
  • 📝 Mejora la documentación
  • 🤝 Contribuye código siguiendo las guías

No aceptamos donaciones. Preferimos contribuciones de código o documentación.


Última actualización: Marzo 2026 Versión: 2.1 (en progreso) Autor: Luis Mojica
Licencia: Dominio Público


🛡️ Privacy First. Security First. Simplicity First. 🛡️

Made with ❤️ for developers who value privacy

About

🛡️ Your Local XML Fortress - Privacy-first XML formatter. 100% local, zero dependencies.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages