What replaced what
Every WordPress concept now has a home in Pure — a real Postgres table on the live database, readable by the public where it should be, and editable by staff inside Pure.
pure_cms_pagespure_contact_forms · pure_contact_submissionspure_agent_pagesmcp_contact_submitpure-auth.jsRLS on every tableThree things to manage
All inside Pure, with the same look and login as the rest of the product — no second admin to learn.
Content pages
- Open the CMS surface in Pure admin.
- Create or edit a page — title, slug, body, publish toggle.
- Published pages are public; drafts stay private.
pure_cms_pagesContact forms
- Define a form (fields + which inbox).
- Visitors submit via
mcp_contact_submit— no login needed. - Read submissions in the private inbox; staff get notified.
pure_contact_forms · pure_contact_submissionsAgent pages
- Each agent gets a profile row (bio, photo, contact).
- Tied to the live roster — one source of truth.
- Publish to show the public profile.
pure_agent_pagesThe security model (RLS)
This is the part WordPress plugins get wrong. Pure enforces it at the database, so it can't be bypassed.
Row‑Level Security — verified live
db/2026-06-28_wave3-backend.sql.Live now · and your next step
Live (Code, Wave 3)
- The four tables + the public submit RPC are deployed.
- RLS is on and verified (submit‑yes / read‑no).
- Single Supabase DB confirmed — no MySQL bridge.
- One login across content + product.
Your next step, Shattique
- Point the acquisto.biz public pages at the Pure CMS surfaces (the content is ready to fill).
- Recreate each WP form as a Pure contact form + pick its inbox.
- Confirm the agent roster, then publish agent pages.
- When happy, cancel the WordPress hosting — nothing depends on it.
Tip: the System Map shows WordPress as a retiring node feeding into Supabase — a visual of exactly this migration. And the Connections punch list covers the mailbox/DNS pieces (Zoho) that pair with retiring WP email.