Skip to content

docs: How It Works section#73

Draft
coderdan wants to merge 12 commits into
v2from
how-it-works
Draft

docs: How It Works section#73
coderdan wants to merge 12 commits into
v2from
how-it-works

Conversation

@coderdan

@coderdan coderdan commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a new How It Works section to the docs and wires it into the nav (renamed from the old Concepts section, moved directly below Getting Started).

🚧 Draft — work in progress. Opening early to track the work; still being written.

What's here

  • New section at /how-it-works (folder renamed from concepts/, with /concepts → /how-it-works redirects and all internal links updated).
  • /how-it-works root redirects to the first page (why-field-encryption-fails) since the section has no landing page.
  • Page outline:
    • why-field-encryption-fails — walks through why bytea column encryption breaks equality, LIKE, and ORDER BY.
    • making-encryption-searchable — the use cases value-level searchable encryption enables.
    • sql-support, key-management, cryptographystub pages (frontmatter only, body content to come).
    • compare — existing comparisons page.

Still to do

  • Write the body content for sql-support, key-management, cryptography (currently frontmatter-only stubs).
  • Decide the fate of the orphaned searchable-encryption.mdx (still on disk, no longer in nav).
  • Fix title typo: "Making encryption seachable searchable".
  • Fill in description frontmatter on the stub pages.
  • Section landing: /how-it-works now redirects to the first page.

Notes

  • The /concepts → /how-it-works and /how-it-works → first page redirects are temporary (307) since the v2 IA isn't canonical yet.

coderdan added 6 commits July 19, 2026 21:26
Add the traditional-field-encryption page walking through why bytea
column encryption breaks equality lookups, LIKE, and ORDER BY, plus a
what-searchable-encryption-solves page framing the use cases.
Relocate traditional-field-encryption and what-searchable-encryption-solves
from the un-navigated how-it-works/ dir into concepts/, and order the
section problem -> motivation -> mechanism.
…ting Started

Update the section title in meta.json and the landing page, and reorder the
top-level nav so the section sits directly under Getting Started.
…works

Rename content/docs/concepts -> content/docs/how-it-works so URLs match the
section name. Update the top-level nav key, all internal /concepts links
(leaving /reference/eql/core-concepts untouched), the three "Concepts"
section labels, and the /concepts destinations in v2-redirects.mjs. Add
/concepts -> /how-it-works redirects (307) so the previously-live preview
URLs still resolve.
Rename traditional-field-encryption -> why-field-encryption-fails and
what-searchable-encryption-solves -> making-encryption-searchable, and add
sql-support, key-management, and cryptography stub pages. Reorder the nav to
match. Work in progress — several pages are still TODO stubs.
@vercel

vercel Bot commented Jul 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
public-docs Ready Ready Preview, Comment Jul 20, 2026 3:46am

Request Review

…on redirect

Fix the "seachable" title typo (and an "Its"/"It's" slip), write real
descriptions for the sql-support, key-management, and cryptography stubs, and
redirect the landing-page-less /how-it-works root to its first page,
why-field-encryption-fails.
@coderdan
coderdan changed the base branch from main to v2 July 20, 2026 01:20
coderdan added 5 commits July 20, 2026 12:33
Port the RLS-and-TDE comparison and the branded Mermaid component from
the concepts-comparisons branch into the new How It Works section, and
add a new RBAC comparison page.

- rls-and-tde: authorization at the database connection; retargets the
  searchable-encryption card to /how-it-works/making-encryption-searchable
- rbac: application-level authorization (CASL, the CanCanCan successor);
  the fails-open vs fails-closed contrast with encryption
- mermaid.tsx: CipherStash-branded light/dark themeVariables
- compare/meta.json: list both pages in the section nav

Claude-Session: https://claude.ai/code/session_01NkxKebM3qffTB7FayXsfxP
…-fails

Replace the TODO placeholders with worked pgcrypto examples:

- pgp_sym_encrypt INSERT and pgp_sym_decrypt SELECT, keeping the secret
  key inline to set up the key-in-the-query point
- a search-by-email query that encrypts the term with the same key and
  still returns 0 rows
- a same-value-twice pgp_sym_encrypt SELECT showing two different
  ciphertexts, demonstrating why equality, GROUP BY and JOIN break

Claude-Session: https://claude.ai/code/session_01NkxKebM3qffTB7FayXsfxP
…ction

Fill in the WHERE-on-pgp_sym_decrypt example (the earlier failed email
lookup now succeeds), explain why it forces a full table scan, then show
that a functional index does work but writes the decryption key verbatim
into the index expression, visible via \d, pg_indexes, and pg_dump.

Output verified against Postgres 17 + pgcrypto.

Claude-Session: https://claude.ai/code/session_01NkxKebM3qffTB7FayXsfxP
- Prose body copy: warm near-white -> cool gray (hsl 240), 14px, tighter
  line-height. Headings, links, and bold keep the full foreground.
- Shift all text tokens off the warm hue 42 to a cool 240 at low saturation.
- Page description under the H1: size down to text-base and use the same
  muted-foreground the sidebar nav items use.

Claude-Session: https://claude.ai/code/session_01NkxKebM3qffTB7FayXsfxP
…light

Enable transformerMetaHighlight so `{n}` line highlighting works in code
fences (Fumadocs bundles only the comment-marker notation transformers,
which don't work in plain ```text blocks). Pin @shikijs/transformers to
match fumadocs.

Use it to highlight the index line that exposes the pgcrypto key in \d
output, replacing the hand-aligned ASCII caret. Also picks up copy tweaks
on the page.

Claude-Session: https://claude.ai/code/session_01NkxKebM3qffTB7FayXsfxP
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant