4dim / Notas

El catálogo de permisos lo nombra el código

Inventar permisos desde una pantalla suena a flexibilidad y suele ser un adorno: nadie los comprueba. Cómo se corta un permiso, con dos separaciones que hicimos tarde y el síntoma que delata un corte mal hecho.

El permiso que no comprueba nadie

Si tu herramienta te deja inventar permisos desde una pantalla de administración, esta nota te explica por qué eso suele ser una ilusión, y cómo se reparte el poder dentro de un equipo sin que alguien acabe con más del que necesita.

Muchos sistemas ofrecen crear permisos nuevos desde el panel. Suena a flexibilidad y casi siempre es un adorno.

Un permiso no es una etiqueta: es una comprobación escrita en algún sitio del programa. «¿Puede aprobar envíos?» existe porque hay una línea, en el botón de enviar, que lo pregunta.

Un permiso inventado desde el panel no lo comprobaría nadie. Está en la lista, se puede marcar, y no hace absolutamente nada.

Por eso el catálogo lo nombra el código, y la pantalla solo reparte los que existen. Si quieres uno nuevo, hace falta escribir dónde se comprueba. Es menos vistoso y es lo único honesto.

Dos familias que no se mezclan

Los permisos son de dos clases, y separarlas es lo que impide el accidente más caro de un sistema con varios clientes dentro.

FamiliaQuién los compruebaQuién los reparte
De la plataformaLa consola de 4dimSolo nosotros
Del negocioLa consola del clienteEl dueño, a sus propios roles

El dueño de un negocio puede inventarse los roles que quiera —«Coordinador de posventa», «Practicante»— y repartirles sololos permisos de su propia consola. Los de la plataforma no aparecen en su pantalla y no hay forma de alcanzarlos desde ahí.

Sin esa separación, un identificador cambiado en un formulario convierte a un vendedor en administrador de la plataforma. Y eso no es un fallo exótico: es lo primero que prueba cualquiera que tenga curiosidad.

Repartir no es borrar, y eran el mismo permiso

Lo interesante de un catálogo de permisos no es la lista: es dónde se decide cortar. Aquí va una separación que hicimos tarde, con el precio que pagó estar mal.

Vaciar y eliminar una conversación pedía el mismo permiso que repartirla. Estaba así porque era «el más cercano que existe hoy» —lo decía el propio comentario del código—, que es como se acumulan estas cosas.

El precio lo pagaba quien atiende. Para que un vendedor pudiera tomar una conversación o pasársela a un compañero —el gesto de veinte veces al día en una tienda de tres— había que darle también el poder de borrar el historial de un cliente.

Así que no se daba. Y el reparto quedaba en manos del dueño, que no está mirando la bandeja.

La razón para separarlos es que el daño es de otra clase: repartir se deshace moviendo la conversación otra vez; borrar lo que un cliente escribió no se deshace. Y con Habeas Data de por medio, ese historial no es de quien pasa por ahí.

Contestar no es coordinar

La otra separación va en la dirección contraria, y enseña que el criterio no es «cuantos más permisos, mejor».

Repartir una conversación —tomarla, pasársela a un compañero— se fue al permiso de quien atiende. Es el gesto cotidiano de la bandeja.

Lo que quedó en el permiso de coordinar es la configuración: quién forma cada equipo y en qué turno entra. Eso sí es una decisión de quien lleva el equipo, no de quien contesta.

Y hay dos cosas más que se quedaron arriba, cada una con su motivo:

  • Mover el embudo. Un asesor que responde todo el día no tiene por qué declarar una venta ganada.
  • Encender el agente. Es de quien responde por lo que el agente diga.

El rótulo tiene que decir lo que el permiso hace de verdad. Si hay que explicarlo, está mal cortado.

El método para cortar un permiso

De los dos ejemplos sale una regla que sirve para cualquier sistema. Un permiso está mal cortado cuando pasa alguna de estas dos cosas.

Junta dos acciones cuyo daño es de clase distinta. Una reversible con una irreversible. Una interna con una que le llega al cliente. Una barata con una que cuesta dinero.

Obliga a elegir entre bloquear el trabajo diario o regalar poder.Si para que alguien haga su trabajo veinte veces al día hay que darle algo que no debería tener, el corte está en el sitio equivocado. Y se nota porque nadie da ese permiso: la gente prefiere el bloqueo.

Ese síntoma —un permiso que nadie reparte— es el mejor indicador de que hay que partirlo. Si tienes uno que en dos años no le has dado a nadie, no es que sobre: es que junta algo que hace falta con algo que asusta.

Qué hacer entonces

  • Pregunta dónde se comprueba cada permiso. Si la respuesta es vaga, ese permiso puede no estar haciendo nada.
  • Busca los permisos que nunca le das a nadie. Cada uno esconde un corte mal hecho.
  • Separa lo reversible de lo que no se deshace. Reasignar y borrar no pueden vivir juntos.
  • Comprueba que un rol tuyo no puede alcanzar permisos de la plataforma. Es lo primero que prueba cualquiera con curiosidad.
  • Lee los rótulos en voz alta. Si un permiso necesita explicación para entenderse, está mal cortado o mal nombrado.

Esta nota sale de nuestro trabajo en Desarrollo de Software a medida.

← todas las notas