Soluciones · Instituciones y administración
Las secciones que exige la resolución del gobierno, escritas en código y actualizadas por el funcionario — no añadidas al final, como anexo.
Un ayuntamiento o una institución tiene una lista fija de secciones obligatorias, una obligación de transparencia decisional y un funcionario que debe publicar un anuncio sin llamar a un programador. Construimos exactamente eso, con un registro de auditoría que se borra solo al vencimiento y con límite en los intentos de autenticación.
Ya construidoDos plataformas propias, públicas y verificables hoy. La primera es el sitio oficial de una alcaldía de comuna: Laravel 12 sobre PHP 8.2 con MySQL 8, 40 plantillas, 32 rutas, 10 migraciones, con el contenido editorial que cambia raramente guardado en un solo archivo de configuración de 1.613 líneas y con el que cambia a menudo en la base, editable desde el panel; la autenticación en el panel está limitada a 5 solicitudes por minuto, y el registro de auditoría se borra diariamente después de 12 meses, con referencia explícita a la base legal. Los encabezados de seguridad se pueden leer desde fuera ahora mismo. La segunda es una plataforma cívica en producción, con 65 rutas de interfaz de programación, más de 50 migraciones, 103 archivos de prueba en el lado del servidor y 59 escenarios de extremo a extremo, con verificación de accesibilidad en las pruebas. Lo que no pasamos a «entregado»: la interoperabilidad con los servicios del Estado — el código de autenticación federada y de firma electrónica está escrito y probado, pero detenido, porque faltan el contrato con la autoridad y el certificado de sistema.
Un sitio de institución pública no se juzga por cómo se ve, sino por una lista. La Resolución de Gobierno 728/2023 establece qué secciones deben existir: transparencia decisional, proyectos y decisiones, anuncios, documentos, contactos, presupuesto. Son obligatorias, se verifican y no se negocian. Por eso las construimos desde el inicio, como estructura, no las añadimos al final — añadidas al final resultan formales e inútiles, y eso se ve de inmediato.
La segunda condición es más práctica: la institución debe poder publicar por sí sola. Un anuncio de licitación, un proyecto de decisión puesto en consulta, una foto de un evento — si cada cosa pasa por un desarrollador, la información de interés público se queda en papel o en un grupo de red social, y el sitio se convierte en una vitrina muerta. Hemos separado a propósito dos tipos de contenido: el editorial que cambia poco — geografía, historia, instituciones, contactos, presupuesto — está en un solo archivo de configuración leído directamente por las plantillas; el que cambia a menudo está en la base de datos y se edita desde el panel.
La tercera condición es la que nadie pregunta en el pliego de tareas: qué pasa con los datos. Un panel de administración pública necesita límite en los intentos de autenticación — a la sexta solicitud en un minuto desde la misma dirección, la respuesta es 429, y eso está cubierto por una prueba automática, no supuesto. El registro de auditoría contiene direcciones IP, así que es dato personal: una tarea programada lo limpia a diario de todo lo que tenga más de doce meses, con la base legal escrita en el comentario del código, no en un documento aparte que nadie abre.
Y, por último, la parte de la que preferimos hablar antes de la licitación: la interoperabilidad con los servicios gubernamentales. La autenticación federada y la firma electrónica están escritas y probadas por nosotros, pero desactivadas mediante un interruptor, porque faltan el contrato con la autoridad y el certificado del sistema: falta el papel, no el código. Para la plataforma de pagos del Estado, el bus de interoperabilidad y el gabinete del ciudadano no tenemos ningún código, en ningún repositorio, y lo escribimos como tal.