CipherStash y Supabase han habilitado una integración que añade cifrado a nivel de campo con capacidad de búsqueda sobre Postgres, sin necesidad de modificar el esquema ni la lógica de consultas. La propuesta se apoya en el concepto de Data Level Access Control (DLAC), una capa de control de acceso que opera sobre cada valor cifrado de forma individual, en lugar de limitarse a filas o tablas completas.
El SDK de CipherStash cifra los datos sensibles en la aplicación antes de que lleguen a la base de datos. Cada valor se almacena como un único payload JSON que contiene el texto cifrado junto con metadatos cifrados aptos para búsqueda (Searchable Encrypted Metadata, o SEM). Esa estructura permite a Postgres filtrar, ordenar y unir tablas sin descifrar la información, y solo devuelve los cifrados que la aplicación está autorizada a descifrar. Las políticas asociadas a cada valor se aplican en el momento del descifrado, no en la capa de consulta.
La integración es compatible con Supabase.js, Drizzle y Prisma Next, y se activa con un único comando de CLI (npx stash init --supabase). Las claves se gestionan mediante ZeroKMS, el servicio de gestión de claves de conocimiento cero de CipherStash, que permite una clave por valor y segmentación por regiones para requisitos de residencia de datos como FedRAMP e IL4. Para entornos donde el SDK no encaja —analítica, herramientas administrativas o workers en otros lenguajes— existe CipherStash Proxy, que habla el protocolo nativo de Postgres y aplica cifrado y descifrado de forma transparente sin cambios de código.
