Un martes de 44 commits: el día que todo el portfolio se puso el cinturón de seguridad
Jornada marcada por hardening de seguridad transversal (loopback binding, claves filtradas, guardas de Bash) en seis proyectos a la vez, más avances de producto en Ganga24, Chordna y Builders in a Box.
Hoy tocó barrer la casa entera, no solo un rincón.
Empezó como un fix puntual en Hezu (una Firebase Admin SDK key que no debía estar trackeada) y terminó siendo un patrón que se repitió en Ganga24, Chordna, SOFI y ai-platform: bindear APIs internas (Flask, redirect-api, Postiz) a 127.0.0.1 en lugar de 0.0.0.0. Nada glamuroso, pero es el tipo de detalle que separa "funciona" de "funciona y no lo puede tocar cualquiera que llegue al puerto". Si expones un puerto sin pensarlo dos veces, tarde o temprano alguien lo encuentra.
Ganga24
Además del hardening, entró CI con pytest hermético, WAL en SQLite para dejar de pelear con "database is locked", e instrumentación de audiencia first-party — la base para entender tráfico sin depender de terceros.
Chordna
Saneamiento de catálogo, consolidación SEO (sitemap único, hreflang) y un módulo shared/ para que backend y cloud-api dejen de divergir — motivado por el mismo incidente de Firebase Admin del día.
Builders in a Box
Salió la v0.2.0, con un browser pack sandboxeado y un coach de cuota para no gastar el plan sin darte cuenta.
Ningún feature nuevo brilla solo, pero un portfolio que cierra sus puertos es más valioso que uno con una demo bonita.