SupabasebilharmerAnnouncement
Searchable field-level encryption on Supabase with CipherStash
Summary
CipherStash’s integration for Supabase adds searchable field-level encryption to Postgres applications without requiring a schema change. The encrypted Supabase SDK wrapper encrypts marked fields in the application, stores each value as a JSON payload containing ciphertext and Searchable Encrypted Metadata (SEM), and converts queries to SEM so Postgres can filter, sort, and join without plaintext access. ZeroKMS keeps keys under the customer’s control, while decryption policies determine who can read each value; the source states that neither CipherStash nor Supabase can access plaintext data. The integration supports Supabase.js, Drizzle, and Prisma Next, with a one-command setup, and CipherStash Proxy covers analytics, background workers, and other direct database access through the Postgres wire protocol.
Context
Traditional field-level encryption makes values opaque to Postgres, preventing ordinary searches, indexes, and joins; applications must otherwise retrieve rows, decrypt them, and filter in memory. The source presents the integration as an option for teams handling regulated data while retaining database search capabilities.
Approach / What changed
The encrypted Supabase SDK wrapper encrypts selected fields before they reach the database and stores ciphertext with Searchable Encrypted Metadata in a JSON payload. Queries are converted to SEM, while decryption policies are enforced when authorized ciphertexts are decrypted. ZeroKMS manages keys, and CipherStash Proxy supports tools and clients using the Postgres wire protocol.
Takeaways
Each encrypted value has a unique key derived on demand through ZeroKMS, and keys can be split across regions for data residency requirements.
Encrypted fields continue to support WHERE clauses, fuzzy text matching, ORDER BY, joins, and JSON queries through the SDK.
CipherStash Proxy provides direct database access for analytics jobs, admin tools, background workers, and other cases where the SDK is not suitable.
Source and freshness
- Source
- supabase.com
- Published
- Added to Yomu
- Last updated
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.