Downloads, guides, and reference materials.
Article
Cómo Chronicle hace auditables las operaciones de contenido
Chronicle registra las operaciones de contenido con consecuencias, con atribución del actor e historial verificable. Conozca cómo los eventos definidos, la entrega duradera y las comprobaciones recurrentes respaldan la revisión.
Article
Eliminar el historial de entregas no debe reactivar el correo no deseado
Postmark Webhooks mantiene el historial de eventos separado de la evidencia de supresión duradera. La limpieza por retención, los reintentos de webhooks y los eventos de entrega posteriores no deben reactivar el correo silenciosamente.
Article
Un campo oculto aún puede filtrarse a través de un filtro
Field Guard aborda las vías de acceso a campos que pueden exponer información sin renderizar un valor. La denegación a nivel de definición cierra las vías de sondeo y limita deliberadamente el filtrado y el ordenamiento.
Article
Un registro de auditoría necesita una forma de mostrar que cambió
Audit Chain enlaza los registros de auditoría de Drupal para que los cambios posteriores puedan detectarse. La custodia de la clave de firma y la retención independiente de evidencia determinan lo que un resultado de verificación puede establecer.
Article
Darle a un agente de IA herramientas de Drupal sin entregarle el sitio
Drupal MCP Connector expone operaciones de contenido estructuradas a clientes MCP. Los permisos de Drupal, la moderación y la gobernanza del lado del servidor definen lo que esas operaciones pueden hacer.
Article
Cuando cambia el modelo de contenido de Drupal, también cambia el contrato del frontend
GraphQL Compose Codegen hace visibles los cambios de esquema de Drupal y genera andamiaje para el frontend. Las verificaciones de consultas y la revisión del renderizador siguen determinando si la aplicación funciona.
Open Source
Postmark Webhooks
Reciba eventos de entrega de Postmark, conserve la evidencia de supresión y detenga el correo de Drupal a destinatarios bloqueados. Módulos opcionales integran Mailer Plus y concilian los registros de supresión del proveedor.
Open Source
Field Guard
Acceso a campos de Drupal basado en configuración que falla en modo cerrado para valores, filtros de JSON:API y ordenamiento de Views, y que exige concesiones explícitas de roles no administradores para los campos sensibles.
Open Source
Audit Chain
Un servicio de auditoría reutilizable para Drupal que detecta historial insertado, eliminado, reordenado o editado mediante una sola secuencia encadenada por hash, con firma HMAC opcional, cifrado, soporte de rotación y verificación independiente con Drush.
Whitepaper
Gobernanza de agentes de codificación con IA: un modelo operativo basado en una línea base
Un modelo operativo para agentes de codificación con IA: un solo repositorio de línea base versionado, reglas que se cambian mediante solicitud de extracción, habilidades de terceros fijadas y controladas por licencia en código, y una verificación de salud que realmente puede fallar.
Case Study
Una sola línea base para cada herramienta de codificación con IA
Cómo Wilkes & Liberty consolidó la configuración de varias herramientas de codificación con IA en un solo repositorio de línea base versionado: un solo cambio revisado aterriza en cada máquina, y la desviación se anuncia en lugar de esconderse.
Article
Fije las habilidades de sus agentes de IA como fija sus dependencias
Las habilidades de los agentes de IA son dependencias. Declárelas en un solo archivo revisado, fíjelas a una versión, aplique la compuerta de licencia en código y verifique la desviación: la misma disciplina que ya aplica a los paquetes.
Article
Cuando un enlace de descarga no es suficiente
Un enlace firmado mantiene en secreto la dirección de un archivo. No comprueba quién lo abre. Por qué las descargas sensibles piden cada vez más una llave de hardware, y cómo agregar ese paso sin convertir cada archivo en una molestia.
Whitepaper
Entrega de archivos de alto aseguramiento: descargas protegidas por autenticación de hardware
Un enlace de descarga firmado protege la dirección, no a la persona que lo tiene. Este documento describe una forma de liberar archivos sensibles solo después de que el destinatario demuestre que posee una credencial de hardware (una llave de seguridad o una tarjeta PIV o CAC) y las decisiones que mantienen el control real sin convertir la descarga en una molestia.
Article
Una sola llave para el inicio de sesión y la entrega
La mayoría de los equipos que protegen archivos sensibles terminan con dos sistemas de credenciales: uno para iniciar sesión y otro para descargar. Construimos el otro arreglo, una sola llave de seguridad, inscrita una vez en el proveedor de identidad, que autoriza ambas cosas, y la construcción nos enseñó tres cosas que vale la pena transmitir.
Article
El aseguramiento es una afirmación, no una ceremonia
Si una descarga debe ser autorizada por una llave de seguridad, algo tiene que verificar la llave. Convertir su servicio de archivos en una segunda parte confiante es una respuesta; verificar lo que afirma el proveedor de identidad es la otra. La segunda es federación, y cambia qué verifica, cómo puede llamarlo y cuánto tiempo sigue siendo cierto.
Article
Quién dice el commit que lo escribió
Una política de atribución de IA es una frase en una guía de contribución hasta que algo lee el campo de autor. Teníamos la política, teníamos la verificación, y un commit escrito por un bot se fusionó limpio de todos modos. Lo que encontramos al corregirlo.
Article
La verificación que gritó «lobo»: cuando una alerta exacta es peor que ninguna alerta
Una compuerta que falla con trabajo limpio y un hallazgo de seguridad que nadie puede resolver jamás causan el mismo daño: enseñan a quienes vigilan a dejar de vigilar. Tres casos de una semana, por qué el volumen nunca fue el problema y las tres prácticas que surgieron de ello.
Guide
Secretos en las URL: por qué la rotación es el segundo paso
Un secreto enviado como parámetro de consulta se escribe en cada registro de acceso, proxy y traza que ve la solicitud. Rotarlo es necesario e insuficiente. Por qué el transporte va primero, cómo cambiar un protocolo sin un corte sincronizado y cómo verificar que el cambio realmente surtió efecto.
Whitepaper
Nombre el rol, no al proveedor: la nomenclatura de interfaces como decisión arquitectónica
La mayoría de los debates sobre nombres merecen cinco minutos. Unos pocos son decisiones arquitectónicas disfrazadas. Por qué el nombre de una interfaz debe describir su rol y no al proveedor, inquilino, host o entorno que hay detrás; qué nombres no deben cambiarse, y cómo migrar uno de forma segura.
Article
El verde no es evidencia: las fallas de despliegue que nunca fallan
Seis defectos encontrados en una tarde en una plataforma. Ninguno falló de forma abrupta. Cada despliegue reportó éxito, y varios llevaban semanas ejecutándose así. Lo que tenían en común y los tres hábitos que los encontraron.
Whitepaper
Rieles regulados: tokenización de grado de cumplimiento en el XRP Ledger
La tokenización está saliendo del laboratorio piloto y encontrándose con los examinadores. Lo que realmente requiere la infraestructura de activos digitales de grado de cumplimiento (integración regulada con el libro mayor, rieles de tesorería con monedas estables, arquitectura de gestión de claves e infraestructura soberana de libro mayor) y por qué el diseño del XRP Ledger se corresponde con los requisitos institucionales.
Whitepaper
De la señal a la decisión: ingeniería de una canalización de inteligencia soberana
A los responsables de decisiones no les falta información; les falta la estructura que convierte las señales del mundo en sus decisiones. La anatomía de una canalización de inteligencia que fusiona, analiza y entrega dentro de su perímetro: ingesta, fusión, analítica, seguridad por necesidad de conocer y entrega a la cadencia en que la dirección realmente trabaja.
Whitepaper
IA privada detrás del perímetro: una arquitectura para operaciones soberanas de LLM
Por qué las organizaciones que más tienen que ganar con los modelos de lenguaje de gran tamaño son las menos capaces de enviarles sus datos, y la arquitectura que resuelve el dilema: alojamiento privado del modelo, generación aumentada por recuperación sobre datos que nunca salen del perímetro, y la capa de gobernanza que hace defendible el conjunto.
Whitepaper
Fallas silenciosas en la costura desacoplada
En una sola versión corregimos tres defectos en el límite entre un CMS Drupal y su front end Next.js. Ninguno produjo un error. Los tres eran invisibles para CI, los tipos y las comprobaciones de salud. Por eso ese límite falla en silencio, y esto es lo que hicimos para que falle de forma visible.
Article
Los roles de su cuenta de servicio no son los roles que usa
Encontramos una cuenta de servicio OAuth con el rol de administrador y esperábamos hallar una fuga de privilegios. No la había: simple_oauth había estado ignorando ese rol todo el tiempo. Luego casi tumbamos el sitio al demostrarlo.
Article
Un solo campo ausente tumba todas las páginas que lo piden
GraphQL rechaza una consulta en su totalidad si un solo campo seleccionado ha desaparecido. Renombre un campo de Drupal y todas las páginas que ejecutan esa consulta quedan en blanco a la vez, mientras TypeScript, la compilación y CI siguen en verde. Esta es la verificación que añadimos.
Article
La vista previa del borrador que le mostraba la página publicada
Nuestra canalización de vista previa validó su token, activó el modo borrador y renderizó un nodo, y luego sirvió la versión publicada. Todas las capas informaron de éxito. El error era una línea que leía una bandera y no hacía nada con ella.
Article
Configuración como código con Config Split: nunca haga cex de lo que un split oculta
Config Split mantiene la configuración específica del entorno fuera del directorio de sincronización canónico, pero ejecutar drush cex mientras un split está activo borra los archivos propiedad del split de config/sync. El modelo seguro: editar a mano las listas de miembros del split, verificar con cim en lugar de cex y encaminar los valores por entorno a través de anulaciones en settings.php en lugar del split.
Article
El composer.lock que solo compila en su máquina
Un repositorio de tipo path ignorado por git, que enlaza simbólicamente un módulo del registro a una copia local, escribe un dist de tipo path en composer.lock. Haga commit de ese lock y todos los trabajos de CI y compilaciones de imágenes fallarán, porque el directorio hermano solo existe en su máquina. Regenere el lock con la anulación apartada y añada una protección en CI que rechace un dist de tipo path.
Article
El despliegue que no podía recrear su propio contenedor
Un docker compose up interrumpido deja un contenedor huérfano, con prefijo de hash, ocupando el nombre de un servicio, de modo que todos los despliegues posteriores fallan al recrearlo hasta que alguien lo elimina a mano. Añadir --remove-orphans (o una limpieza previa) permite que el despliegue repare su propia pila en lugar de fallar por el estado que dejó una ejecución anterior.
Article
El acceso a campos no puede ver el valor entrante: gobierne las escrituras en Drupal con una restricción de validación
En una escritura JSON:API o REST, Drupal comprueba el acceso de edición al campo contra el valor almacenado, no el entrante, de modo que un control de acceso a campos que gobierna lo que un agente puede establecer ve el valor equivocado. La costura correcta es una restricción de validación, que se ejecuta sobre la entidad analizada y puede comparar el valor entrante con la política en todos los transportes.
Article
Un punto de acceso de estado que es general en público y detallado en privado
Cómo exponer un punto de acceso de salud que da al público un resumen general activo/degradado mientras desbloquea el detalle completo por servicio solo para un llamador de servidor a servidor que posee un secreto compartido. Cubre la comparación en tiempo constante, el almacenamiento en caché privado, los valores predeterminados que fallan en modo cerrado y un despliegue seguro ante el orden.
Article
El bucle de redirección que solo ocurre detrás de HTTPS
Una reescritura de configuración regional forzada a http: es de otro origen detrás de un proxy HTTPS, así que Next la reemite como solicitud externa que reentra en el proxy y deja la página de inicio en un bucle de 301. Pasa todas las pruebas locales porque el bucle solo aparece cuando X-Forwarded-Proto: https está establecido. La solución: marcar la reescritura interna con un secreto por proceso para que la canonicalización la omita.
Article
El patrón de dos fases para eliminar un módulo de Drupal sin romper los despliegues
Borrar el código de un módulo de Drupal es la parte fácil. Hacerlo sin romper su siguiente despliegue automatizado requiere una migración en dos fases: este es el patrón, y el incidente en producción que nos lo enseñó.
Article
La reclamación que se puede eliminar: una lección de canonicalización HMAC
Vincular un valor a una firma es necesario pero no suficiente. Si la forma en que serializa las reclamaciones antes de firmar es ambigua, un atacante puede remodelar una solicitud para que una reclamación vinculada desaparezca en silencio, y la firma sigue verificándose. La trampa, un ejemplo concreto y la regla que lo evita.
Article
Por qué una reescritura de middleware de Next.js devuelve 500 detrás de un proxy inverso
Un 500 solo en producción, una ejecución verde en staging y una solución de una línea: cómo X-Forwarded-Proto convierte una reescritura de middleware de Next.js en un handshake TLS contra un puerto en texto plano, y cómo reproducirlo y prevenirlo.
Whitepaper
Restringir archivos privados en un CMS desacoplado
La ingeniería detrás de File Gate: cómo una plataforma Drupal 11 desacoplada retiene un archivo privado hasta que un visitante se lo ha ganado: denegar en el origen, entregar a través de una ruta firmada de corta duración y nunca filtrar la ruta de almacenamiento.
Open Source
File Gate
Entrega de archivos privados para Drupal tras una condición de acceso real: concesiones firmadas de corta duración, ocho métodos de acceso incluidos, controles de revocación y uso, garantía opcional respaldada por hardware y una API independiente del framework.
News
Presentamos File Gate
Wilkes & Liberty ha liberado como código abierto File Gate, un módulo de Drupal que restringe archivos privados para cualquier front end. Ya disponible en drupal.org.
News
Cómo redujimos nuestro modelo de contenido de 12 tipos a 6
Consolidamos el modelo de contenido detrás de wilkesliberty.com de doce tipos a seis, sin migrar y preservando todas las URL. Una versión corta, con enlace al informe técnico de ingeniería completo.
News
Presentamos Menu Autopilot
Un módulo gratuito y de código abierto de Drupal para navegación híbrida: seleccione su menú de nivel superior y deje que los hijos de cada elemento se construyan y mantengan solos a partir del contenido publicado, con URL limpias y listas para un sitio desacoplado.
Open Source
Menu Autopilot
Navegación Drupal híbrida para editores y constructores de sitios: cure cada padre y luego reconcilie hijos de enlace de menú ordinarios a partir de taxonomía, bundles de contenido o una lista ordenada de nodos.
Whitepaper
Consolidar un modelo de contenido sin migrar
Cómo consolidamos doce tipos de contenido Drupal en seis en un sitio desacoplado en vivo: en el mismo lugar, sin tiempo de inactividad y sin perder un solo id de nodo, URL, revisión ni valor SEO.
Whitepaper
Componer la navegación en un CMS desacoplado
Cómo construimos una navegación híbrida que se mantiene sola para Drupal 11 desacoplado y Next.js: los editores curan el nivel superior, los hijos se completan solos a partir del contenido publicado y cada URL se mantiene canónica.
Open Source
GraphQL Compose Codegen
Generación mediante Drush de tipos TypeScript, fragmentos GraphQL y andamiajes React a partir del esquema GraphQL Compose en vivo de Drupal, con detección de desvío en CI para contratos de frontend desacoplado.
Open Source
MCP Sentinel
Gobernanza del lado del servidor para el acceso autenticado de agentes de IA a Drupal: perfiles de política con alcance OAuth, puertas de publicación, redacción y DLP, cuotas, aprobaciones, webhooks confiables y evidencia de auditoría a prueba de manipulación.
Open Source
Drupal MCP Connector
Un conector Node.js seguro del Model Context Protocol para uno o varios sitios Drupal, con operaciones de contenido gobernadas, lecturas duales JSON:API/GraphQL, auditorías, ejecuciones de prueba y un puente Drush opcional.
Article
Infraestructura como código para el gobierno: por qué importa y cómo empezar
La infraestructura como código hace que los entornos de gobierno sean auditables, reproducibles y reconstruibles desde el repositorio — y adoptarla no requiere una migración disruptiva.
Article
Qué significa realmente la "soberanía" en la TI federal
Una definición práctica de soberanía en la TI federal — de datos, operativa y arquitectónica — y las preguntas que ponen a prueba si una pila tecnológica realmente alcanza las tres.