Qué es un plugin exactamente
Tres piezas que viajan juntas: un módulo de Rust con comandos, un paquete de JavaScript que los envuelve, y un directorio de permisos. Y por qué la tercera es la que importa.
Las tres piezas
Y las tres son necesarias: sin la primera no hay funcionalidad, sin la segunda el frontend escribe llamadas frágiles, y sin la tercera el plugin no participa del modelo de seguridad.
Cómo encajan
Por qué los permisos son la pieza central
Y aquí está la lección del nivel: la calidad de un plugin se mide sobre todo por cómo están diseñados sus permisos.
- Un plugin con un solo permiso que lo permite todo obliga a conceder todo o nada. Es lo que el nivel 29.2 llamaba un permiso demasiado grueso.
- Uno con permisos por operación deja acotar de verdad: leer sí, escribir no.
- Y uno con ámbitos —nivel 28— permite acotar además el alcance.
Al evaluar un plugin ajeno, mirar su directorio de permisos dice más que su documentación: si tiene un solo permiso que lo abarca todo, sabes lo que estás concediendo.
Cuándo algo debería ser un plugin
Y la pregunta práctica, porque no todo lo que se puede empaquetar debe empaquetarse:
Y el error común es hacer plugin lo que debería ser un módulo: la ceremonia de las tres piezas cuesta, y para código que solo usa tu aplicación no aporta nada — salvo, si acaso, la disciplina de declarar permisos, que se puede tener igualmente.