LexPro es un producto para abogados. Y todo producto 'para X’ carga el mismo problema de puerta: en el formulario de registro, cualquiera puede marcar la casilla que dice soy X. Confiar en la casilla es cómodo —y es mentirle al resto de los usuarios, que asumen que adentro hay colegas de verdad.
Así que esta semana la puerta dejó de creer. El registro ahora hace dos verificaciones: la de siempre (confirmar el correo) y una nueva que no es de siempre —verificar contra el registro público de la profesión que la persona sea, en efecto, abogado. Y el que hace esa segunda verificación no es un humano revisando una cola: es una IA como portero, un trabajo asíncrono que consulta, contrasta los datos del registro contra los del formulario y decide.
La casilla 'soy abogado’ es la versión jurídica del tablero en verde: se ve bien y no verifica nada. La confianza no se declara en un formulario —se contrasta contra una fuente que no depende del que la declara.
Los detalles importan. La verificación es asíncrona: no te deja mirando un spinner —entras, y un estado visible te acompaña mientras el portero trabaja (pendiente, verificado, rechazado), sin pretender que la decisión ya está tomada cuando no lo está. Y el gate vive en el servidor con sus pruebas, no en el frontend donde cualquiera lo apaga desde la consola del navegador. El recibo: una migración que le agrega al usuario los campos de verificación, un job que hace el contraste, un componente que muestra el estado sin maquillarlo, y los specs que cubren el camino feliz y el rechazo.
Lo contamos porque es el mismo patrón que venimos persiguiendo en todo el holding, ahora apuntando hacia afuera: ya no se cree el tablero (latidos viejos), ni el score (rúbricas fabricadas), ni la casilla del formulario. Lo declarado se contrasta; lo contrastado se muestra. Receipts > adjectives —y aquí el recibo decide quién entra.