ES
TRN-IT-001 · v1.0
Jun 11, 2026

BrandaCare Hybrid Architecture

Strategic decision: Google Apps Script (HIPAA) + Netlify (UX)

Purpose

Document the fundamental architectural decision of how BrandaCare handles sensitive data (PHI/HIPAA) vs. non-sensitive data, separating concerns into 2 clear layers. This separation lets us scale without compromising compliance.

Audience: Yami, Pablo, Quasar, Santi, Manuel. All technical and leadership team members should understand this.

The golden rule

All PHI data lives inside the Google Workspace ecosystem (Apps Script, Sheets, Drive, Forms). All UX / branding / training lives on Netlify (static HTML). The visible layer is Netlify; the layer that touches PHI is embedded Google Apps Script.

The 2 layers

LayerContentVendorHIPAACost
UX Layer
(no-PHI)
Manual / training
General dashboard
Internal forms without PHI
Navigation + branding
Acronyms, glossaries
Netlify Not required $0/mo
HIPAA Layer
(PHI)
Patient data
Insurance verifications
Claims data
Forms with PHI
Processed EOBs
Productivity tracker with patients
Google Workspace
+ Apps Script
Yes — via Google BAA Included in Workspace

How they connect

Apps Script web apps are embedded inside the Netlify frontend using iframes. The user sees ONE unified BrandaCare experience, but technically:

  1. The Netlify "host" HTML provides UX, branding, navigation
  2. When the user needs to interact with PHI (e.g. view a verification, complete a patient form), that widget is an iframe to a Google Apps Script web app
  3. The iframe runs in the browser but its content and data live in Google
  4. BrandaCare never has PHI on Netlify or own servers
Concrete example: When an Insurance Verification Junior opens the "Insurance Verification Form" in the dashboard, the shell (branding, navigation) comes from Netlify, but the form itself is an embedded Apps Script app. The form reads/writes to Google Sheets — where it's HIPAA-compliant.

Critical rules for the tech team

RULEWhy
NEVER put PHI in static Netlify HTMLNetlify has no BAA = not HIPAA compliant
NEVER hardcode PatNum + name + DOB in public docsCombination = PHI under HIPAA
NEVER allow OD queries from Netlify JavaScriptOD credentials would give PHI access from non-HIPAA env
ALWAYS put workflows with PHI inside Apps ScriptWorkspace is the only place with BAA
ALWAYS embed Apps Script via iframeIsolates PHI sandbox from public shell
ALWAYS audit logs in Apps Script for PHI actionsHIPAA requires audit trail

Where each component lives

ComponentLives inReason
Internal manual (this site)NetlifyOnly training/SOPs without PHI
Manual auth gateNetlify + Google OAuthOnly restricts access, doesn't touch data
Insurance Verification FormApps ScriptContains PHI (patient, DOB, ID)
OPS Dashboard (future)HybridShell in Netlify, PHI widgets in embedded Apps Script
Productivity Tracker (future)Apps ScriptReferences PHI by PatNum
Carrier Coverage NotesNetlifyOnly generic carrier rules, no patients
BC Breakdown (future)Apps ScriptContains patient + plan + real coverage
Internal timesheetsApps Script or NetlifyApps Script preferred (Workspace auth) — no PHI
Internal IT ticketsNetlifyNo PHI

Benefits of this model

Migration roadmap

PhaseActionStatus
P1Static manual on Netlify + Google OAuth auth gateIn progress
P2Embed first Apps Script form in the manual (proof of concept)Pending
P3Migrate 1 form from Jotform to Apps ScriptPending
P4Migrate remaining PHI forms to Apps Script → cancel JotformPending
P5Build OPS Dashboard as Netlify shell + Apps Script widgetsQ3-Q4 2026
P6Migrate Productivity Tracker + Task assignment to new dashboardQ4 2026

Related