Greenlight: Escáner rápido de cumplimiento previo a la publicación en la App Store
Greenlight: Escáner rápido de cumplimiento previo a la publicación en la App Store
Construir una aplicación iOS es solo la mitad de la batalla. Las directrices de revisión de Apple son notoriamente estrictas, y un solo descuido puede costar días, semanas o incluso meses de tiempo de desarrollo. Greenlight elimina ese riesgo escaneando tu proyecto antes de que cargues a App Store Connect.
¿Qué es Greenlight?
Una herramienta de código abierto basada en CLI que evalúa código de Swift, Objective‑C, React Native y Expo en más de 30 patrones de riesgo de rechazo. También revisa metadatos, manifiestos de privacidad e incluso binarios IPA en busca de información faltante, URLs malas o contenido inseguro. El escáner funciona al 100 % sin conexión y genera salida legible por humanos o en JSON para integraciones CI.
Por qué necesitas Greenlight
- Evitar rechazos: Detecta problemas críticos—uso de API privadas, secretos codificados, falta de ATT—antes de que Apple lo haga.
- Velocidad en el despliegue: Escanea en menos de un segundo en una máquina local o en un corredor CI.
- Listo para CI: La salida puede ser analizada por GitHub Actions, Bitrise o cualquier sistema CI.
- Autoreparación: Conecta con las habilidades de Claude o Codex para remediación automática.
Instalación y arranque rápido
| Plataforma | Comando |
|---|---|
| macOS (Homebrew) | brew install revylai/tap/greenlight |
| Linux/Windows (Go) | go install github.com/RevylAI/greenlight/cmd/greenlight@latest |
| Desde fuente | ``` |
| git clone https://github.com/RevylAI/greenlight.git | |
| cd greenlight && make build | |
| ``` |
Una vez instalado, ejecuta un escaneo completo de pre‑vuelo:
# Escanear directorio actual e imprimir resultados en la terminal
greenlight preflight .
# Incluir un IPA para inspección binaria
greenlight preflight . --ipa build.ipa
# Exportar JSON para analizar en pipelines CI
greenlight preflight . --format json --output report.json
El comando preflight ejecuta todos los escáneres en paralelo: metadata, codescan, privacy, y opcionalmente ipa.
Profundización: Lo que revisa cada escáner
| Escáner | Qué revisa |
|---|---|
metadata |
Validado Info.plist, app.json – nombre, ID del paquete, iconos, URL de política de privacidad, cadenas de propósito |
codescan |
30+ patrones: |
| - Llamadas a API privadas | |
| - Secretos codificados a mano o claves API | |
| - Pago externo por bienes digitales | |
| - Ejecución de código dinámico | |
| - Minería de criptomonedas | |
| - Falta Sign‑in‑with‑Apple | |
| - Falta ATT para SDK de publicidad | |
| - Inicio de sesión social sin “restaurar compras” | |
| - Cadenas de reserva, literales IPv4, URLs inseguras | |
privacy |
Completitud de PrivacyInfo.xcprivacy, mapeo de API Required‑Reason, implementación de SDK de rastreo vs ATT |
ipa |
Comprobaciones binarias: claves de Info.plist, storyboard de lanzamiento, tamaños de iconos, tamaño de la app, manifiestos de privacidad de frameworks |
Integración CI / CD
Greenlight genera JSON, lo que lo hace perfecto para pipelines automatizados. Aquí tienes un fragmento mínimo de GitHub Actions que falla la compilación ante cualquier problema crítico:
- name: App Store compliance
run: |
greenlight preflight .
greenlight preflight . --format json --output report.json
if jq -e '.summary.critical > 0' report.json > /dev/null; then
echo "Se encontraron problemas críticos – corrígelos antes de enviar"
exit 1
fi
Usos más avanzados incluyen salida JUnit para informes de pruebas, o aprovechar el comando scan para consultar directamente los metadatos de App Store Connect.
Corrección automática con Claude & Codex
Claude Code Skill
# Copiar archivo de habilidad
mkdir -p .claude/skills
cp /path/to/greenlight/SKILL.md .claude/skills/greenlight.md
Ahora, pregúntale a Claude:
Ejecuta greenlight preflight y corrige todo hasta que pase
Claude escaneará y corregirá repetidamente hasta que el resultado sea GREENLIT.
Codex Skill
mkdir -p ~/.codex/skills/app-store-preflight-compliance
cp -R codex-skill/* ~/.codex/skills/app-store-preflight-compliance/
Luego, en tu prompt de Codex:
Usa $app-store-preflight-compliance para ejecutar Greenlight preflight y corregir todos los hallazgos hasta GREENLIT.
Ambas habilidades convierten a Greenlight en un corredor de cumplimiento autoreparador.
Cuándo usar Greenlight
| Escenario | Por qué Greenlight? |
|---|---|
| Nueva app | Validar todo el código, metadatos y binarios antes del primer upload a App Store Connect |
| App legada | Identificar problemas ocultos de privacidad o API después de una migración reciente |
| Pipeline CI | Imponer cumplimiento como paso previo antes de crear una build para TestFlight |
| Equipo de seguridad | Escanear por secretos codificados o patrones de minería de criptomonedas |
| Entrega continua | Auto‑arreglar problemas en pull requests con Claude o Codex |
Obtén ayuda y contribuye
Greenlight se publica bajo la licencia MIT. Se reciben contribuciones con gusto—revisa el repositorio para buscar issues abiertas o envía un pull request. La documentación está en el README.md, y se incluye una mínima SKILL.md y el paquete codex-skill para integración con IA.
Para más información, visita el repositorio de GitHub:
- Repositorio: https://github.com/RevylAI/greenlight
- Documentación: https://github.com/RevylAI/greenlight/blob/main/README.md
Conclusión
El cumplimiento previo a la presentación es un asesino silencioso de las liberaciones de apps. Greenlight elimina ese riesgo invisible brindándote retroalimentación instantánea y accionable sobre código, metadatos, privacidad y binarios—todo lo que necesitas para cumplir las estrictas directrices de Apple antes de construir tu IPA.
Con un solo comando, puedes:
- Escanear un proyecto local o un archivo IPA.
- Ejecutar en pipelines CI para imponer cumplimiento.
- Integrar con herramientas de IA para corregir automáticamente problemas críticos.
- Mantener tu base de código saludable, tu manifiesto de privacidad actualizado y tu app preparada para una revisión fluida de la App Store.
Comienza hoy—instala Greenlight, ejecuta un escaneo de pre‑vuelo y evita esos temidos rechazos.