Nueve días después de las elecciones, la ciudadanía sigue sin conocer los resultados electorales. Aunque la Organización de Estados Americanos (OEA), intentó dar su espaldarazo al Tribunal Supremo Electoral (TSE), las dudas, contradicciones y errores garrafales en el conteo de votos superan cualquier situación anómala en los procesos electorales guatemaltecos, que desde 1985 eran el único bastión real de la democracia y la única expresión de una institucionalidad sólida.
Mientras las responsabilidades se derivan hacia Gustavo Castillo, director de informática del TSE, quien reconoció públicamente los errores en el sistema de cómputo, varios guatemaltecos de diversas generaciones y experiencias (incluyendo a dos residentes fuera del país), se han tomado el trabajo de revisar los datos y contrastar las cifras.
Entre estos ciudadanos, Perspectiva logró contactar a Luis Carlos Contreras, un joven ingeniero de datos que narra: “empecé a programar hace unos nueve años y me he dedicado profesionalmente a ello desde hace seis. Durante ese tiempo he trabajado de la mano de organizaciones internacionales como Google y Foundation for Learning Equality, además de varios organismos de gobierno y empresas privadas. Pasé de ser programador web a director de sistemas y administrador de proyectos, pero regresé a la programación para desarrollar ciencia de datos e inteligencia artificial desde hace un par de años. Además de varios proyectos personales, actualmente trabajo como ingeniero de datos, dirigiendo el área de desarrollo e investigación para una empresa norteamericana-guatemalteca”.
Según comenta Luis Carlos, aunque no es posible asegurar que hubo fraude, todo el sistema de las elecciones, tanto informático como logístico, tiene debilidades que califica como “increíbles”.
A manera de recomendación, Contreras llama a la ciudadanía a “ser escépticos sobre todos los resultados publicados, desde el gobierno y desde los medios”. A los medios los insta para verificar cuidadosamente cualquier información que publiquen y finalmente, al TSE le recuerda que no son los únicos conocedores de la tecnología. “Como yo, hay muchos programadores curiosos que tenemos el conocimiento y la disposición de entrar donde encontremos una puerta abierta”.
Roxana Orantes Córdova
¿Qué te motivó a revisar el sistema del TSE?
Me frustró muchísimo intentar ver los resultados de las elecciones durante el conteo de votos y que la página web no se encontrase disponible. Es más, después del conteo la página seguía con problemas. Si bien la cantidad de solicitudes era bastante alta, existen muchísimas medidas preventivas que pueden ser tomadas para evitar que el servicio caiga. Al revisar la estructura de su aplicación web de manera superficial, encontré que había sido creada utilizando muy malas prácticas de programación. Expresé mi inconformidad sobre ello por redes sociales, pero decidí dejar el asunto ahí porque seguramente no pasaría a más una vez terminara el conteo de votos.
Después de algunos días, escuché las noticias sobre el posible error en el conteo y la necesidad de que el TSE volviera a realizarlo. En el pasado me he topado con entidades del gobierno cuyos resultados oficiales no concuerdan con los obtenidos a partir de los datos en bruto. Como suelo ser muy desconfiado de los datos publicados de manera oficial, decidí que antes de que el TSE volviera a contar los votos debería existir un respaldo contra el cual se pudieran contrastar los resultados.
¿Cuáles son tus principales hallazgos?
El principal hallazgo es que todo el sistema de las elecciones, tanto informático como logístico, tiene demasiados puntos propensos a error que el TSE no previó. En el lado informático, por lo general involucras un proceso de gestión de riesgos que revela, por medio de una serie de auditorías y simulacros sobre el peor escenario posible, los puntos críticos que debes proteger y qué medidas debes tomar para mitigar el riesgo. El hecho de que el sistema haya sido comprometido tan fácilmente revela que este proceso fue realizado por un equipo muy incompetente o, peor aún, negligente respecto a estos aspectos.
En el ámbito logístico, me parece increíble que existan mesas con más de diez personas encargadas de revisar las papeletas y que a ninguna de ellas se le ocurra revisar los datos antes de enviarlos. Además, suponiendo que estas diez personas hicieran bien su trabajo, todo ello depende de una persona que tendrá que leer una imagen de mala calidad para digitar los datos en otro sistema. Si los datos digitados por esta persona no cuadran, no se pedirá alguna revisión, solo se enviarán al sistema y luego se agregarán al conteo total. ¿Te parece un proceso lógico? Imagina que el proceso dependa de que el encargado de la mesa escriba con letra legible. Puedes revisar el acta de elección de presidente en la mesa número 45 para ver a lo que me refiero.
Con base en lo encontrado, ¿hay indicios de fraude?
No tengo evidencias suficientes como para decir que hubo fraude. Al menos, no un fraude generado de manera voluntaria. Sin embargo, veo muchos aspectos en los cuales una sola persona sería capaz de alterar significativamente los resultados. El sistema tiene demasiados puntos de fallo que serían fáciles de explotar para cualquier miembro interno del departamento de informática. El hecho de que no se realicen las validaciones adecuadas sobre los datos que se ingresan al sistema te dice que alguien no quiso hacerlo.
¿A qué podemos atribuir este desorden : ineficiencia, descuido o intencionalidad ?
Yo diría que un poco de cada cosa. La mayoría de los departamentos de informática del gobierno suelen ser muy ineficientes; lo he comprobado tras haber trabajado junto a varios de ellos. Dudo mucho que el TSE sea la excepción. La eficiencia del equipo de informática se mide antes, durante y después del desarrollo de los sistemas. El hecho de que no se hubieran previsto estas situaciones indica lo mal que estuvo el «antes». Haber publicado una página con muy malas prácticas de programación permite ver la pobre calidad del «durante». El pobre seguimiento al sistema después de haber publicado los datos te dice lo mal que vamos en el «después».
Sin duda alguna hubo muchísimos descuidos. Muchísimos. Parte de mi trabajo en el desarrollo de software consiste en revisar el código de mis compañeros de equipo antes de que este pase a formar parte del sistema. Es normal que alguien olvide eliminar un mensaje de error o algún comentario en el código, para eso se realiza el proceso de control de calidad. Me enoja ver que buena parte del código de la página del TSE haya sido copiado y pegado de las guías más básicas de programación web, todo ello sin que nadie se haya fijado. Como anotación curiosa, para mí el descuido más grande de todos fue que cuando la página del TSE no se encontraba disponible, el mensaje de error mostraba una imagen de la consulta popular del 2018.
No quiero creer que haya habido intencionalidad en esto… pero me cuesta aceptar que un equipo de programación a cargo de una tarea tan crucial para el país fuera tan incompetente. Sé que parte del trabajo como programador es cometer errores y entregar soluciones que pudieron haber sido realizadas de mejor forma. Precisamente por eso se trabaja en equipo. Si tú cometes un error pero alguien más se encarga de supervisar tu trabajo, lo corriges y el sistema mejora. En este caso, ¿quién supervisa a los supervisores?
¿Qué es lo más impactante en tu hallazgo: el desorden, la debilidad del sistema informático, el error deliberado?
Lo más impactante es que el gobierno esté tan mal preparado en aspectos tecnológicos y que nunca hagan nada para cambiarlo. La mayoría de sistemas del gobierno que he consultado utilizan las mismas tecnologías y metodologías anticuadas, inseguras, desactualizadas e ineficientes. Toda esta situación es tan solo un síntoma de un problema más profundo. Conozco programadores muy buenos que usan las tecnologías más modernas que existen, pero que no encuentran un trabajo estable porque el mercado laboral favorece el uso de técnicas obsoletas. Mientras tanto, tienes programadores mediocres que únicamente conocen herramientas antiguas dirigiendo equipos completos de desarrollo.
He calificado proyectos de estudiantes universitarios que en el quinto semestre realizan mejores trabajos que este servicio del TSE. Si una aplicación así de sencilla fue tan mal desarrollada, no quiero imaginar cómo están estructurados otros sistemas más complejos.
Tus conclusiones recomendaciones a la ciudadanía, medios y TSE
Mi recomendación para la ciudadanía es ser escépticos sobre todos los datos publicados. Esto incluye datos publicados por el gobierno y por medios de prensa. Está bien decir que alguien ganó con cierto porcentaje de votos, pero ¿cómo se obtuvo ese porcentaje? Si yo tratara de realizar esos cálculos, ¿obtendría los mismos resultados?
Para los medios de prensa, ya que son los responsables de transmitir los hechos de la forma más objetiva e imparcial posible, se debe garantizar y validar todo antes de publicarse. Constantemente veo noticias donde se muestran resultados, pero no se indica cómo fueron obtenidos ni de dónde salió la información. Lo ideal sería promover el desarrollo del pensamiento crítico para que la audiencia pueda formar sus propias conclusiones.
Finalmente, para el TSE, mi única recomendación es que tengan en cuenta que no son los únicos que saben de tecnología en el país. Como yo, hay muchos programadores curiosos que tenemos el conocimiento y la disposición de entrar donde encontremos una puerta abierta.