LinkedIn tracking pixel

§ 00·0x00/SUPABASE + CIPHERSTASH

OFFICIAL SUPABASE SECURITY PARTNER

Field-level encryption for Supabase.

CipherStash works with any Postgres. Supabase is Postgres. Field-level encryption, searchable queries, and identity-bound keys work with your Supabase project today. The integrations below make it even easier.

10K operations/month freeNo credit card requiredWorks with existing Supabase projects

§ 01·0x01/INTEGRATION PATHS

Three ways to encrypt.

Every path gives you the same encryption guarantees. Pick the one that fits your stack.

/SDK

Works with any Postgres client connected to Supabase.

Define a schema, encrypt fields, and query ciphertext. The universal approach — works with any driver or ORM.

encrypt-raw.ts
import { newClient, schema } from "@cipherstash/stack"const cs = await newClient()// Encrypt a valueconst encrypted = await cs.encrypt("users", "email", {  value: "[email protected]",  queryable: "match",})// Insert with any Postgres clientawait sql`INSERT INTO users (email) VALUES (${encrypted})`
VIEW FULL DOCS

/SUPABASE-JS

Same API. Automatic encryption.

The encryptedSupabase wrapper gives you the Supabase JS SDK you already know with transparent encryption underneath.

encrypt-supabase.ts
import { encryptedSupabase } from "@cipherstash/stack/supabase"const supabase = await encryptedSupabase(url, key)// Same API — data is encrypted automaticallyawait supabase.from("patients").insert({  name: "Alice Johnson",  ssn: "123-45-6789",  diagnosis: "Type 2 Diabetes",})
VIEW FULL DOCS

/DRIZZLE

Encrypted column types for Drizzle.

If you use Drizzle with Supabase, add encryptedType columns and use encrypted query operators out of the box.

schema.ts
import { encryptedType } from "@cipherstash/stack/drizzle"import { pgTable, serial, text } from "drizzle-orm/pg-core"export const patients = pgTable("patients", {  id: serial("id").primaryKey(),  name: encryptedType("name"),  ssn: encryptedType("ssn"),  diagnosis: encryptedType("diagnosis"),})
VIEW FULL DOCS

§ 02·0x02/SETUP

Three steps to encrypted Supabase data.

01

Install

Install the SDK.

One command to set up encryption in your project.

02

Setup

Setup the database.

Bootstrap your database for full searchable encryption capabilities.

03

Query

Start encrypting.

Pick any of the three integration paths above and start encrypting. Your existing queries keep working.

§ 03·0x03/ECOSYSTEM

Built for Supabase developers.

Encryption that fits into the Supabase ecosystem, not against it.

/RLS

Works alongside Row Level Security.

CipherStash encryption layers on top of Supabase RLS. Defense in depth without compromises.

/SEARCH

Searchable encryption.

Equality, free text search, and range queries all work on encrypted data. No decryption round-trips.

/SCHEMA

Schema-first encryption.

Define your encryption schema once, then use it everywhere. Fully typed and compatible with your stack.

/INDEXES

Postgres indexes work with encrypted data.

Create indexes on encrypted columns just like you would with plaintext columns.

/PARTNER

Official security partner.

CipherStash is an official Supabase security partner. Audited, trusted, and supported.

§ 04·0x04/GET STARTED

Secure your Supabase project today.

Add CipherStash encryption in minutes. Free tier includes 10K operations/month.