Cómo Tolgee diseñó un sistema de plugins sin almacenamiento, sin runtime propio ni código compartido

Fuentes: Building a Plugin System for Tolgee Without a Runtime, Storage, or Shared JS Context | Tolgee

Tolgee Apps es el nuevo sistema de plugins de la plataforma de localización Tolgee, diseñado para permitir añadir funcionalidades sin modificar el núcleo del producto, que está construido en Spring Boot y TypeScript/React. El fundador y CEO, Jan Cizmar, explica la arquitectura elegida y las decisiones que la moldearon.

Cada aplicación se declara mediante un manifiesto en formato JSON que especifica sus metadatos, los módulos de interfaz en ubicaciones concretas, los permisos necesarios (scopes), las suscripciones a webhooks y un endpoint opcional de decoradores. Tolgee renderiza cada módulo dentro de un iframe en sandbox, le entrega un contexto limitado mediante postMessage y le facilita un token JWT de corta duración para invocar la API REST.

El sistema adopta el patrón de «iframe embebido» que ya utilizan plataformas como Atlassian Connect, Shopify, Salesforce Canvas o Crowdin Apps, y prescinde deliberadamente de tres elementos habituales: no almacena datos de plugins en la base de datos de Tolgee (el desarrollador del plugin debe gestionar su propio almacenamiento), no ejecuta código de plugins en el servidor de Tolgee (lo que evita costes de cómputo, problemas de aislamiento y revisiones de seguridad de código no confiable) y no comparte contexto JavaScript con la aplicación principal (los iframes aíslan el origen y eliminan la superficie de ataque XSS que tendrían los web components o los module federation).

El compromiso de cada decisión es claro: los autores necesitan su propio backend, la disponibilidad del plugin depende de ellos y Tolgee no puede garantizar la persistencia si un desarrollador abandona el proyecto. A cambio, la plataforma evita la complejidad de gestionar sandboxes, límites de recursos y migraciones de datos de plugins. Cizmar desarrolló el prototipo de motor en aproximadamente 3 jornadas de trabajo asistido por Claude Code (frente a unas 20 sin IA), y tras un hackathon interno prevé reescribirlo con cobertura de pruebas completa antes de llevarlo a producción.