Las APIs de gobierno no deberían requerir token
Una observación después de trabajar con 67+ endpoints de Mercado Público.
La observación es simple: si los datos son públicos por ley, el mecanismo de acceso no debería imponer barreras de registro. Pero eso es exactamente lo que hace un token obligatorio.
Trabajando con las APIs de Mercado Público encontré que todas requieren un token. El token es público (literal, está en la documentación), pero el hecho de requerirlo tiene consecuencias reales:
- Crea fricción artificial. Un periodista o investigador que quiere consultar datos tiene que registrarse, esperar aprobación, y mantener un token vigente.
- Permite tracking innecesario. Si el dato es público, ¿por qué necesitas saber quién lo consulta?
- Genera dependencia. Si el sistema de tokens falla (y falla), los datos públicos se vuelven inaccesibles.
El token no protege los datos. Protege al proveedor de tener que dimensionar bien su infraestructura.
Lo que sí tiene sentido
Rate limiting por IP. Es una medida de protección de infraestructura que no requiere identificación ni registro. Cualquier CDN moderno lo hace.
La diferencia es filosófica: el rate limiting dice "puedes acceder, pero no abuses". El token dice "identifícate antes de acceder a lo que ya es tuyo".
Patrón que he visto
Esto no es exclusivo de Mercado Público. Lo he visto en:
- APIs de ChileCompra
- Datos de transparencia activa
- Portales de datos abiertos que requieren registro
En todos los casos, el token es público o trivial de obtener. No agrega seguridad. Solo agrega fricción.
Propuesta
APIs de datos públicos deberían ser abiertas por default, con rate limiting razonable (ej: 100 req/min por IP) y sin requerir registro. Si necesitas más capacidad, ahí sí un token con un tier de uso más alto.
Es el modelo de cualquier API pública moderna. No hay razón técnica para no hacerlo. La razón es burocrática.