Ray Davis Portfolio

Security & CI/CD engineering — portfolio summary.

A genericized writeup of the security controls and delivery pipeline I designed and shipped for a production multi-tenant SaaS platform (Next.js App Router on Firebase / Google Cloud, serving multiple isolated business tenants from one codebase). Project and brand names are omitted intentionally; mechanisms and patterns are real.


At a glance

Security

CI/CD & delivery


Technical appendix

Authentication & sessions

Authorization (deny-by-default + RBAC)

Multi-tenant isolation

Secrets management

Input validation & API hardening

HTTP security headers / CSP

Security testing (four layers)

  1. Firestore/Storage Rules tests (emulator) — tenant isolation and default-deny.
  2. Authorization-matrix tests — every route’s access kind + permission.
  3. Input-validation tests — schema rejection on write paths.
  4. Browser E2E (Playwright) — auth redirect + real security headers over HTTP. Plus a scheduled live auth canary against the deployed site.

Monitoring, logging & alerting

Supply-chain & repository security

CI pipeline (jobs)

Lint · Type check · Unit tests (coverage floors enforced) · Route access gate · Next.js build · Cloud Functions build · Firestore rules tests · E2E smoke (Playwright) · Secret scan (gitleaks) — parallelized, cancel-in-progress on superseded runs, heavy jobs gated to PRs, build artifact reused by E2E. All required by branch protection on the main branch.

Deployment & environments

Representative incident-style fixes