SGA Dental Partners
The Studio · Decision-Ready Recommendation
SGA Video Hosting & Governance
Master asset library, publishing destinations, HIPAA-adjacent compliance workflow, and YouTube tiering for the 250-practice SGA portfolio — synthesized from 6 domain reviews + 1 adversarial red team pass.
Verdict: Approve with modifications Audience: Growth · Marketing · IT Prepared: 2026-07-16 Method: 6-agent swarm + red-team synthesis Owner: Amy McNeill Internal — SGA Access only

01Executive Recommendation

Recommended architecture: Master-of-record lives in the existing Content Engine (WS2) asset registry on AWS S3 under SGA's existing AWS BAA — not in SharePoint, not in a new DAM. Public delivery splits by content class: Cloudflare Stream for de-identified marketing content (doctor bios, B-roll, service explainers, culture, sponsorship), and Vimeo Enterprise with a signed BAA SKU for the narrow set of patient-featured testimonial video where identifiable patients or procedure details are present.

YouTube collapses to a single SGA brand channel plus optional regional SGA channels — no per-practice channels in year one. GBP video (30-sec vertical cutdown) becomes the tier-1 local-SEO surface, refreshed quarterly on all ~248 profiles, produced as a mandatory deliverable of every video project and propagated through Yext for the entities we already manage there.

Do
  • Treat master-of-record and delivery/host as two separate jobs — do not choose one platform for both.
  • Wire release/authorization expiration into a Temporal workflow that auto-unpublishes across every destination.
  • Fund a 0.4–0.6 FTE fractional Video Ops Lead (contractor) as the single owner for intake, taxonomy, compliance sign-off, and access-review orchestration.
  • Stand up Google Cloud Identity Free or Google Workspace as the identity plane for YouTube brand accounts, federated to Entra ID for SSO.
  • Require human-reviewed VTT captions on every patient-facing video as a hard publish gate.
  • Ship 9:16 vertical cutdowns (Reels, TikTok, GBP) as a first-class deliverable, not an afterthought.
Don't
  • Do not use SharePoint as the DAM. SharePoint has no anonymous public embed, ~300K OneDrive sync ceiling, and per-GB storage cost ~40× S3 — it is a working-copy mirror at most.
  • Do not use Wistia. Its 2026 pricing (Business $79 / Business+Lead Gen $329 / Enterprise contact-sales) rewards small libraries and punishes DSO scale; its BAA posture is unresolved; it duplicates capabilities WS2 already has.
  • Do not host any patient-featured video on YouTube or Cloudflare Stream. YouTube is expressly excluded from Google's BAA; Cloudflare Stream is not listed in Cloudflare's Enterprise BAA scope.
  • Do not spin up per-practice YouTube channels below a hard threshold (see §4). At 250-scale the ops tax breaks the AI-first / no-new-FTE posture.
  • Do not treat SGA as a consumer brand. There is no SGA-corporate YouTube channel worth building.
Blocked on — decisions we cannot close without this input
  • Current M365 SKU (E3 vs E5) — determines audit-log retention (180 days vs 1 year) and Purview DLP/sensitivity label availability. Owner: Ron (CIO).
  • Written Cloudflare confirmation that Stream is (or is not) in the executed Enterprise BAA scope. Owner: IT + Cloudflare Enterprise sales.
  • Written Vimeo Enterprise quote with BAA SKU line item and 3-year price-cap terms. Owner: Finance + Studio.
  • Inventory of existing YouTube channels for the 75 practices with video today — Brand Account vs Channel Permissions, Workspace vs personal Gmail owner. Owner: Studio + IT.
  • Legal template set: (1) HIPAA marketing authorization per 45 CFR 164.508, (2) patient model release, (3) doctor/employee release (perpetual, survives termination), (4) pediatric guardian authorization + minor assent. Owner: General Counsel.

02Architecture Diagram

Master library and publishing destinations are physically separated. The Content Engine (WS2) is the metadata + release plane; storage is a physical layer under it; each publishing destination is a downstream provider adapter mirroring the same Canva/Zernio stub pattern already in the codebase.

                                 ┌────────────────────────────────────────────────┐
                                 │      CAPTURE (Intune-enrolled devices only)    │
                                 │  Studio cameras | Growth Manager PWA capture   │
                                 └───────────────────────┬────────────────────────┘
                                                         │  raw upload
                                                         ▼
┌───────────────────────────────────────────────────────────────────────────────────────────┐
│                    MASTER LIBRARY  (system of record, BAA-covered)                        │
│                                                                                           │
│   AWS S3 (originals) ── under existing AWS BAA ── keyed by asset_id                       │
│        ▲                                                                                  │
│        │ presigned URLs                                                                   │
│        │                                                                                  │
│   Content Engine (WS2) asset-registry ── Postgres (RDS)                                   │
│     • assets, brands, consent_registry, distribution_posts, audit_log                     │
│     • Sharp/FFmpeg processing → thumbnails, ABR renditions, WebVTT captions               │
│     • Editorial queue → Brand Review → Compliance Approver → Publish                      │
│                                                                                           │
│   SharePoint MIRROR (read-only, working-copy)                                             │
│     • Syncs from S3 by scheduled job — Growth Manager desktop browse only                 │
│     • Never system of record. Never public embed source.                                  │
└──────────────────┬──────────────────────────────┬─────────────────────────────────────────┘
                   │ metadata + releases          │ authenticated API calls
                   ▼                              ▼
┌──────────────────────────────────────┐   ┌───────────────────────────────────────────────┐
│   METADATA & RELEASES  (WS2 tables)  │   │   PROVIDER ADAPTERS (WS2, mirrors Canva/      │
│  • authorization (164.508 HIPAA)     │   │    Zernio stub pattern)                       │
│  • model_release / staff_release     │   │   StreamProvider | VimeoProvider |            │
│  • guardian_authorization + assent   │   │   YouTubeProvider | YextProvider | GBP        │
│  • release_expiration → Temporal     │   └──────────────┬────────────────────────────────┘
│  • state_of_recording (state rules)  │                  │
│  • brand_valid_through (rebrand)     │                  │
│  • contains_identified_patient flag  │                  │
│  • paid_media_permission per network │                  │
│  • language / caption human-reviewed │                  │
│  • biometric_state_flag (BIPA/CUBI)  │                  │
└──────────────────────────────────────┘                  ▼
┌─────────────────────────────────────────────────────────────────────────────────────────────┐
│                                    PUBLISHING DESTINATIONS                                  │
│                                                                                             │
│  ┌──────────────────────────────┐   ┌────────────────────────────┐   ┌─────────────────┐   │
│  │  Practice websites           │   │  YouTube (single SGA       │   │  Social via     │   │
│  │   • Cloudflare Stream        │   │    brand channel)          │   │  Zernio (WS2)   │   │
│  │     (de-identified only)     │   │   • no per-practice ch     │   │   • 9:16 Reels/ │   │
│  │   • Vimeo Enterprise + BAA   │   │   • per-location playlists │   │     TikTok      │   │
│  │     (patient testimonials)   │   │   • unlisted testimonials  │   │     cutdowns    │   │
│  │   • Direct MP4 from R2       │   │     ONLY if 164.508 auth   │   └─────────────────┘   │
│  │     (hero autoplay, LCP)     │   │     names YouTube          │                         │
│  │   • VideoObject schema.org   │   └────────────────────────────┘   ┌─────────────────┐   │
│  └──────────────────────────────┘                                    │  Paid media     │   │
│  ┌──────────────────────────────┐   ┌────────────────────────────┐   │  Google Ads /   │   │
│  │  GBP video (tier 1 local-SEO)│   │  Yext (SGA entities)       │   │  Meta / TikTok  │   │
│  │  30s / ≤75MB / ≤1080p / 9:16 │   │   • pushes to GBP where    │   │   • separate    │   │
│  │  Quarterly refresh, 248 GBPs │   │     enabled                │   │     paid-media  │   │
│  └──────────────────────────────┘   └────────────────────────────┘   │     consent     │   │
│                                                                      └─────────────────┘   │
└─────────────────────────────────────────────────────────────────────────────────────────────┘
                          ▲
                          │  release expiration | revocation | rebrand | doctor departure
                          │  fires Temporal workflow → auto-unpublish fan-out
                          │  → audit_log immutable record → notify Compliance
                          │
┌─────────────────────────────────────────────────────────────────────────────────────────────┐
│  PERMISSIONS PLANE                                                                          │
│   • Entra ID = identity of record for humans                                                │
│   • Google Cloud Identity/Workspace = identity plane for YouTube brand accounts             │
│   • SSO from Entra ID → Google → YouTube via SAML                                           │
│   • FIDO2 hardware keys required for Primary Owners; Advanced Protection Program enrolled   │
│   • Break-glass Workspace account in physical safe                                          │
│                                                                                             │
│  ANALYTICS PLANE                                                                            │
│   • GA4 (per-practice site) → BigQuery export → Power BI                                    │
│   • YouTube Analytics API per-channel OAuth cron → Power BI                                 │
│   • Cloudflare Stream GraphQL API → Power BI                                                │
│   • Aggregated at brand / region / service-line — NOT per-video CPA (statistical floor)     │
│                                                                                             │
│  RELEASES/COMPLIANCE PLANE                                                                  │
│   • WS2 consent_registry = system of record for signed PDFs + expiration + revocation       │
│   • Temporal workflow = enforcement                                                         │
│   • Unified Audit Log (M365) + AWS CloudTrail + Cloudflare audit logs = investigation trail │
└─────────────────────────────────────────────────────────────────────────────────────────────┘

03Options Scorecard

Scores are 1–5 (higher is better) with citation anchors. Verified = pulled from current official docs during review. Assumption = review-team inference. Final row = recommended role in the architecture.

CriterionSharePointVimeo Enterprise (+BAA)WistiaYouTube (Brand Accts)Cloudflare Stream
Central management3 BAA + Entra SSO/DLP; no video-specific workflows4 SAML SSO, SCIM v2, native audit log2 SSO on Premium+; no SCIM2 Channel Permissions works; per-channel governance scales linearly3 Dashboard SSO; viewer control is signed URLs, not identity
Website experience1 No anonymous public embed for external sites4 Mature player; LCP acceptable with tuning5 Mature, chapters, transcripts, WCAG audited3 Free, ubiquitous; recommendation carousel steals attention3 iframe LCP cost vs direct MP4; direct-MP4 path available
Marketing analytics1 No GA4 integration3 GA4 via GTM/Player API — custom work5 Native GA4, Turnstile lead capture, HubSpot native; not GHL-native3 GA4 works; Analytics Groups cap 5002 GraphQL API only; no packaged GA4 integration
Local SEO / discovery1 No public URL4 schema.org VideoObject support5 Auto VideoObject schema4 YouTube search + GBP video; channel ownership not a documented Maps ranking factor3 schema.org supported; must be authored per-site
Permissions / identity4 Entra + Purview + DLP (if E5)4 SAML + SCIM v2 + audit log2 SSO Premium+ only; no SCIM to deprovision3 Primary Owner single-point-of-failure risk2 Signed URL tokens only; 24h max; no per-viewer identity
Compliance (HIPAA / WCAG)4 M365 BAA covers SharePoint5 Enterprise + BAA SKU + HIPAA config guide1 No productized BAA; no HIPAA advertising1 YouTube expressly excluded from Google BAA2 BAA available for CDN/WAF only; Stream not enumerated
Accessibility (WCAG 2.1 AA)3 Auto-captions; no third-party audit4 Mature captions, chapters5 Deque-audited to WCAG 2.1 AA3 Auto-captions; human review needed on clinical terms3 AI WebVTT GA; WebVTT-only upload
Scalability (3-yr, 250 practices)2 OneDrive sync soft-limit ~300K files per user; storage $1/GB over base3 2 TB/mo bandwidth cap on self-serve → forced Enterprise sales2 Business 250 GB / 1 TB / 3 users; cost climbs opposite of traffic curve4 Unlimited, free; practical channel ceiling ~50-100 per Google acct5 Usage-priced $5/1K min stored + $1/1K min delivered; no cap
Implementation effort (small team)2 Purview/DLP/mirror job = real work3 Enterprise sales + BAA + HIPAA config3 Business fastest; Enterprise slower; GHL bridge custom3 Workspace + phone-verify pool + provisioning2 Adapter + signed URL + custom analytics ETL
Estimated cost (3-yr, network-scale)3 License-baked; storage creep ~$40-70K net-new2 ~$25K/yr benchmark; ~$75K over 3 yrs2 $30-70K over 3 yrs5 Free platform; Workspace $840-1,344/yr5 ~$27-35K over 3 yrs at modeled volumes

04YouTube Decision Framework

Default posture: no dedicated practice channel. Video ships to the SGA brand channel with practice branding baked into the video itself. All thresholds are gates that must be sustained, not one-time hurdles.

Tier 0 — DefaultNo location channel≈ 245 of 248 practices

Criteria: Everything not clearing Tier 1 gates below.

Where the video goes: Uploaded to the SGA brand channel under a per-location playlist using naming convention SGA — {Practice Name}, {City ST}. Practice-branded intro/outro and lower-third title cards produced by Studio.

Discovery surface: GBP video attachment (tier-1 local SEO surface), practice website embed via Cloudflare Stream, Zernio-distributed social.

Tier 1 — StandardLocation playlist on centralized brand channel

Criteria: Practice has ≥1 published video AND signed doctor/practice release on file.

Owner: Studio + assigned Growth Manager reviews annually.

Tier 2Brand or regional channel

Criteria (all must be sustained across 4 consecutive quarters):

  • ≥3 practices in the region publishing video
  • ≥24 videos/year across the region (~2/month)
  • Named Growth Manager owner for the region
  • Growth Readiness Stage 3+ for at least half the region's practices

Where the video goes: Regional SGA channel (e.g., "SGA Dental — Georgia") — inherits Workspace-based Primary Owner + hardware-key MFA + Advanced Protection Program.

Cap: No more than 5 regional channels in year 1.

Tier 3 — RareDedicated practice channel

Criteria (all must be met AND sustained for 4 consecutive quarters BEFORE the channel is provisioned):

  • ≥12 videos/year published cadence already demonstrated on the brand-channel playlist
  • Named Studio content owner AND named local content champion at the practice
  • Growth Manager owner accountable for quarterly access review
  • Practice is NOT rebrand-in-flight (Belfast, Ways Station, Liberty, Main St, ILP are ineligible until stable ≥12 months post-rebrand)
  • Doctor/practice releases on file cover paid-media AND channel-scope explicitly
  • Local search volume for practice-branded queries ≥100/mo (GSC + SEMrush verified)

Sunset rule: If cadence drops below 6 videos/year for 2 consecutive quarters, channel is deleted (videos migrated back to brand-channel playlist). Signed in the initial provisioning MOU.

Cap: No more than 5 dedicated practice channels network-wide in year 1.

Override rule

The only case that overrides Tiers 0–3 is a provider-personal-brand doctor whose contract with SGA explicitly reserves them a personal channel for continuing-education content. That channel is NOT an SGA asset, owned by the doctor's Workspace identity, and any patient-facing content on it triggers the 164.508 authorization workflow the same as any SGA channel. Not more than 3 exceptions network-wide.

Explicitly excluded

  • No individual practice channel for 1–2 videos. Ever.
  • No Google-account-per-office model. All channels attached to a corporate Google Workspace or Cloud Identity Free tenant.
  • No parallel consumer channels for legacy sub-brands. Single SGA brand channel is the only corporate presence on YouTube.

05Risk Register

20
Risks tracked
4
Critical impact
10
High probability
7
Compliance-adjacent
#RiskPImpactMitigationOwner
1Patient testimonial published without valid 164.508 marketing authorization → OCR enforcement (Complete P.T., Cadia precedent)MCriticalBuild authorization workflow BEFORE pilot; publish endpoint refuses release without green authorization row; Compliance Approver role in editorial pipelineGeneral Counsel + WS2 owner
2Release expiration lapses silently; content stays live across YouTube/website/GBP/social — continuing unauthorized disclosureHCriticalTemporal workflow with 90/30/7-day pre-expiration alerts → auto-unpublish across all destinations; drill quarterlyVideo Ops Lead + Compliance
3ADA Title III / state-law plaintiff-bar demand letter on uncaptioned patient-facing video; industry settlements $4-15K per practiceHHHuman-reviewed WebVTT captions as hard publish gate for any patient-facing video; auto-captions are draft onlyStudio + Video Ops Lead
4Cloudflare Stream used for patient testimonials without BAA scope confirmation; Stream not enumerated in current CF BAAMCriticalcontains_identified_patient flag enforced at ingest; StreamProvider adapter refuses upload when true; formal Cloudflare BAA scope confirmation before any Phase B ingestRon (CIO) + IT
5Doctor/staff right-of-publicity claim after departure; ex-doctor opens competing practice while their face runs in SGA paid adsMHPerpetual, irrevocable, worldwide, all-media, sublicensable staff release at hire; survives termination; refreshed at anniversary; Legal owns templateGeneral Counsel + HR
6YouTube channel hijack via session-cookie theft (info-stealer malware); MFA does not block stolen sessions; 2025 industry losses ≥$16MMHFIDO2 hardware keys + Advanced Protection Program on Primary Owner accounts; endpoint hardening on Studio machines; break-glass account in physical safeIT Security
7SharePoint-as-DAM adopted despite documented gaps; library rots inside 6-12 months; team reverts to folder chaosHMKill "evaluate SharePoint as DAM" step; SharePoint is READ-ONLY mirror only; system-of-record is WS2 + S3sga-architect + Amy
8Vimeo Enterprise vendor continuity — Bending Spoons acquisition + reported engineering layoffsMM3-year contract with capped price escalation (≤5%/yr) + bandwidth allowance; Cloudflare Stream + S3+CloudFront documented BATNA; keep master in S3 so migration = re-encode + re-embed onlyFinance + Video Ops Lead
9Rebrand-driven asset decay (Belfast, Ways Station, Liberty, Main St, ILP in flight); shot assets become "wrong" at rebrandHMbrand_valid_through metadata field; Temporal watcher on crosswalk rebrand event → "rebrand review" queue; auto-unpublish if not re-approved in 30 daysVideo Ops Lead
10Growth Manager saturation — GMs already run 60-80 practices each; adding per-practice video governance breaks AI-first / no-new-FTE postureHMGMs approve pre-shipped Studio drafts only; do NOT tag or curate; fractional Video Ops Lead absorbs intake/taxonomy/compliance/access-reviewStudio Director
11Personal Gmail owns legacy practice YouTube channels for some of the 75 practices with video; recovery on ex-office-manager departure is effectively impossibleHHDiscovery inventory before pilot (Yext + GBP + web scrape); prioritize migration of personal-Gmail-owned channels in wave 1; document each transferIT Security + Studio
12Analytics rollup fails silently — YouTube Analytics Groups cap 500 items; GA4 Enhanced Measurement misses non-YouTube players; GHL first-touch attribution can't stitch cross-sessionHMPer-practice-site QA checklist (schema, ?enablejsapi=1, GA4 dim usage, Consent Mode v2); Power BI semantic layer with canonical play definition; report at brand/region/service-line onlyBI + Video Ops Lead
139:16 vertical short-form (Reels, TikTok) missing from taxonomy; 16:9 masters ship and network is structurally unable to serve highest-margin cosmetic acquisition audienceHHMandatory 9:16 deliverable in every video project (30s GBP cut + 60s Reels/TikTok cut); Zernio distribution adapter routes accordinglyStudio + Marketing
14State biometric privacy (BIPA in IL, CUBI in TX, HB 1493 in WA) — statutory damages $1K-$5K per violation independent of HIPAAMHbiometric_state_flag metadata; publish endpoint enforces BIPA-compliant on-asset consent language for IL practices; CCPA/CPRA deletion request runbookGeneral Counsel + Video Ops Lead
15Audit-log retention shortfall (E3 = 180 days) fails HIPAA due-diligence at OCR audit or breach investigationMHConfirm M365 SKU now; if E3, price Purview Audit Premium OR forward Unified Audit Log to long-term storage/SIEMIT + Ron (CIO)
16Incidental capture — B-roll of operatory captures other patients' faces, monitor PHI, front-desk audioHMStudio B-roll clearance checklist; sight-line audit before recording; blur/remove pipeline in Sharp/FFmpeg processing; verified checkbox in editorialStudio
17Aggregator/directory pull (Zocdoc, Healthgrades, Vitals, Yelp, WebMD Care) mirrors YouTube video without SGA authorizationMMAggregator-crawl audit step in revocation runbook; unlist (not delete) YouTube on takedown to preserve embed URL for aggregator-scrape unwind; contact directory 3rd-party takedown emailsVideo Ops Lead + Compliance
18Content ID / DMCA strikes from ambient music, décor, competitor signage; scales linearly with channel countMMCentral music/library license (YouTube Audio Library-only rule); pre-publish checklist in Content Engine editorial; quarterly channel-health auditStudio
19Multi-language content (Spanish especially in TX, CA, FL) missing from plan; separate deliverables and legal-review surfaceMMlanguage metadata field; Spanish caption human-review path added to publish gate; separate legal review for Spanish releasesVideo Ops Lead + Legal
20Paid media rejection cascade — Meta/Google health-category ad review rejects testimonials without disclaimers → quality score damage across 44 Google Ads accountsHMPre-flight compliance check on every testimonial ad: authorization enumerates paid media, on-asset disclaimer, no outcome claims tied to named individual, no health-condition targetingPaid media lead + Video Ops Lead

06Governance Model

RACI convention: Responsible · Accountable (exactly one) · Consulted · Informed.

FunctionGrowth / MktgStudioWebIT / SecLegalVideo Ops Lead (contractor)GMOfficeAgency
Video program strategyARCCCRII
Video capture (Intune device)IRCICR (PWA)R (Champion only)R (contracted)
Ingest to WS2 masterICIA/RII
Taxonomy + metadata taggingICIA/R
Release/authorization intakeCCARC (facilitates)I
Human-reviewed captionsIRCAIR (drafts only)
Editorial reviewIA/RCCI
Brand reviewRRCI
Compliance sign-off (patient-featured)IIIAR
Publish to website (Stream or Vimeo)ICRIIA/RI
Publish to YouTube brand channelICIIA/RI
Publish to Zernio socialICIA/RI
Publish to Yext / GBP videoIIA/RC
Paid media boost decisionAIICR (verifies consent)IR
YouTube brand-account provisioningIIA/RCC
Quarterly access reviewICA (identity + SIEM diff)CR (runs review)I (delta only)I
Release expiration monitoringIIA (policy)R (Temporal watches)I (delta only)
Rebrand-triggered asset reviewIRCCIA/RC
Doctor/practice departure takedownIRRRAR (runs fan-out)I
Break-glass Workspace custodyA/RI
Aggregator revocationIICA/RI
Analytics rollup (brand / region / service-line)ACRI

What the Growth Manager will and will not do

This is deliberate. GMs are already at 60–80 practices each. AI-first posture requires the fractional Video Ops Lead + WS2 tooling to absorb the load, not push it downhill.

GM will

  • Approve or reject a Studio-produced draft for their practice (single yes/no, target <15 min/practice/month).
  • Facilitate the patient signing the authorization at the practice (in-person, Studio-issued device).
  • Escalate a practice-specific concern to Video Ops Lead.
  • Receive I notifications when expiration, revocation, rebrand, or takedown affects their practice.

GM will NOT

  • Own YouTube channel access or credentials.
  • Tag or curate metadata.
  • Run any takedown or unpublish action.
  • Sign off on compliance for patient-featured content.
  • Manage vendors (Vimeo, Cloudflare, YouTube).
  • Run captions review.

07Pilot Plan

Pilot locations (5 practices, deliberately mixed)

#PracticeBrandRationale
1SmileGulfCoast (SGC)SGAExisting Growth Readiness pilot; briefing template originated here (v1.3 canonical); GM relationship established
2PCCD Los AltosSGAPeninsula CA — activates California BIPA/CPRA test case; multi-doctor practice for provider-release stress test
3Liberty Family Dental (ex-SPH)SGARebrand-in-flight — tests brand_valid_through metadata + rebrand-triggered asset review; GBP claim pending edge case
4Main Street Family Dental (ex-PALMCDSCDD Lexington)SGASecond rebrand-in-flight — validates rebrand handling doesn't collapse if two rebrands land in the same quarter; different state
5Coosa Dental AssociatesSGAGeorgia rural-footprint practice; existing Growth Readiness briefing on the hub; small single-location stress-tests the "no dedicated channel" default and validates the Yext push path

Belfast is deliberately excluded — crosswalk-blocked per current project record; not a stable enough substrate for a 90-day pilot.

Asset types (each pilot practice ships ≥1 of each)

  • Doctor bio (60-90s, non-PHI) — de-identified, staff release only
  • Service explainer (60-120s, non-PHI) — general procedure walk-through, no patient
  • Practice tour / B-roll (30-60s, non-PHI) — incidental-capture cleared
  • Community sponsorship (60s, non-PHI, minors under school-district permission) — tests the missing sponsorship-release track
  • Patient testimonial (60s, PHI-adjacent) — only after signed 164.508 authorization AND Compliance Approver sign-off; Vimeo Enterprise + BAA (not Stream, not YouTube unless auth explicitly names YouTube)

Platforms to test

  • Master: WS2 asset registry + S3 (existing) — no new platform
  • Website embed (de-identified): Cloudflare Stream via new StreamProvider adapter
  • Website embed (patient testimonial): Vimeo Enterprise + BAA
  • YouTube: Single SGA brand channel; per-location playlists
  • GBP: Yext-driven where enabled; direct upload for the rest; verify propagation
  • Social: Zernio existing distribution path; validate 9:16 cutdowns
  • Paid boost: NOT in scope for pilot (defer to post-pilot)

Success metrics (12 weeks)

MetricTargetFail threshold
Assets ingested end-to-end (capture → publish)≥30 across 5 practices<15
Compliance sign-off gate: no publish without complete authorization row100% (zero incidents)Any incident = pilot fail
Human-reviewed captions on every patient-facing video100%Any incident = pilot fail
Release expiration Temporal drill — full fan-out unpublish within 24hPassFail = block go-live
Cloudflare Stream contains_identified_patient guard triggers on test uploadPassFail = block go-live
GBP video published + verified live5/5<4/5
Yext propagation on Yext-enabled pilot practices100% eligible<100%
GA4 events firing on every embedded video100% of embedsAny silent-zero = fix before scale
Play-through ≥50% lift on video pages vs non-video≥15% lift at brand level<5% lift = revisit content, not architecture
Video Ops Lead time-per-asset (median)≤4 hrs (ingest → publish)>6 hrs = scale-cost problem
Growth Manager time-per-practice-per-month≤15 min>30 min = scope creep, drop-back

Timeline (12 weeks)

  • Weeks 1–2: Legal template set finalized (4 releases). Vimeo Enterprise BAA SKU signed. Cloudflare BAA scope confirmed. Video Ops Lead onboarded. StreamProvider + VimeoProvider scaffolding.
  • Weeks 3–4: WS2 schema PR (10 new fields). Temporal expiration workflow written + drilled on test asset.
  • Weeks 5–8: Capture + ingest at all 5 pilots. Editorial + Brand Review + Compliance Approver run for real.
  • Weeks 9–10: GBP + Yext + Zernio propagation validated. Power BI dashboards at brand / region.
  • Weeks 11–12: Metrics review. Go/no-go decision.

Required resources

  • Video Ops Lead contractor: $60–90K/yr, prorated to 3 months ≈ $15–22K
  • Vimeo Enterprise + BAA quote — ~$25K/yr, prorated
  • Cloudflare Stream at pilot volumes — <$500 (usage-priced)
  • Google Cloud Identity Free OR Workspace — $70–112/mo
  • Studio time — 40–60 hrs across 12 weeks (absorbed, no new hire)
  • WS2 engineering — 3–4 dev weeks
  • Legal template drafting — $8–12K one-time
  • Corporate VoIP DIDs for YouTube phone verification — 3–5 numbers from existing Twilio HIPAA stack, ~$50/mo total

Explicit go/no-go criteria

GO if
  • All 100%-target compliance gates held.
  • Temporal expiration drill passed on real asset.
  • Video Ops Lead time-per-asset trended ≤4 hrs by week 10.
  • Cloudflare Stream BAA scope resolved in writing.
  • ≥3 of 5 pilot practices produced a Reels/TikTok 9:16 cutdown that actually distributed.
HOLD (extend pilot 4 weeks) if
  • Compliance gates held but per-asset labor is >6 hrs — tooling gap, not architecture failure.
  • GBP propagation on <100% of pilots — likely Yext workflow gap, fixable.
NO-GO (return to architecture) if
  • Any compliance incident (unauthorized publish, expired authorization live, HIPAA-adjacent on non-BAA platform).
  • Temporal expiration workflow does not fan out cleanly to all destinations.
  • Video Ops Lead role cannot be filled at $60–90K/yr contract range.

08Open Questions

Each is framed as a specific question a specific person can answer. These are the inputs the Video Ops Lead and the pilot depend on.

#OwnerQuestion
1Amy / Studio DirectorHow many finished videos exist today across the 75 practices with video assets? Total storage footprint (GB) of masters, raw, and variants?
2Amy / Web platform leadMonthly video-play volume across all practice websites today (aggregate + top-10)? Projected 12-month volume assuming rollout?
3Studio Director / ITEvery existing SGA-branded YouTube channel (including legacy sub-brand channels we may still control): Brand Account vs Channel Permissions, Workspace vs personal Gmail owner, credentials location?
4Ron (CIO) / ITCurrent M365 SKU (E3 vs E5) for majority of tenant seats? Purview Audit Premium licensed?
5Finance / ProcurementExisting Vimeo, Wistia, or YouTube TV/Premium contracts on the books that would auto-renew during pilot? Does the MSP SEO retainer cover embed-swap labor for the ~75 sites in its scope, or is that a change-order for the remaining ~185 SGA sites?
6IT / StudioHow many users total need access to the video library, by role?
7BI / GA4 owner (currently unassigned)Which practice-site GA4 properties are near the 50 custom-dimension cap? Consent Mode v2 tenant-wide? BigQuery export enabled on all properties?
8General CounselFor each of the 4 release templates — approved-and-current or commission needed? Does cyber/E&O/media liability cover (a) OCR fines/CAP, (b) right-of-publicity, (c) ADA Title III / state-law defense?
9Ron (CIO) + Cloudflare Enterprise salesIs Cloudflare Stream explicitly enumerated in the executed Enterprise BAA order form? If not, will Cloudflare add it and when?
10Video Ops Lead (once contracted)For the 75 practices with existing video — which assets have signed releases on file (any type), and where are those releases physically located?
11Studio Director / ComplianceCurrent SOP for capturing a patient testimonial today — personal iPhone → text? Studio-issued device? Third-party videographer?
12Marketing / Paid media leadCurrent health-category account status for the 44 Google Ads accounts and Meta Business Manager? Prior violations? Restrictions?

09Final Verdict & Next Actions

Verdict
Approve with modifications

The plan's instincts are sound — no individual practice Gmails, a central master library, a tiered YouTube model with corporate ownership, phased rollout — and every one of the six domain reviews plus the red team landed at "approve with modifications" independently. But the plan as written mixes together two jobs (master library and public video host) that need different platforms, treats SharePoint as a plausible DAM when the existing Content Engine (WS2) already IS the DAM, understates the compliance gates that must ship before the pilot rather than after, and misses the highest-conversion short-form surfaces (Reels, TikTok) entirely.

The recommended modifications preserve the plan's structure while closing the compliance, cost, and operational gaps — and reject the two most consequential misfits (SharePoint-as-DAM and Wistia-as-embed-host) in favor of the architecture SGA already partially owns (WS2 + S3 + Cloudflare + a narrow Vimeo Enterprise carve-out for patient content).

The five most important next actions

#ActionOwnerTarget
1Get Cloudflare Enterprise sales to confirm in writing whether Cloudflare Stream is in the executed BAA order form, and either add it or accept Stream is de-identified-only in the SGA architecture.Ron (CIO) + ITWithin 2 weeks
2Commission General Counsel to finalize the 4-release template set. Confirm cyber / E&O / media liability coverage of OCR fines, CAP costs, and right-of-publicity.General CounselWithin 3 weeks
3Contract a fractional Video Ops Lead (0.4–0.6 FTE, $60–90K/yr) covering intake, taxonomy, compliance sign-off, access-review orchestration. Kill any expectation that Growth Managers absorb this.Studio Director + AmyWithin 3 weeks
4WS2 schema PR: add the 10 new fields. Land the Temporal expiration workflow. Drill on a test asset.sga-architect + WS2 teamWithin 4 weeks
5Inventory + classify every existing SGA YouTube channel (including any legacy sub-brand channels we still control). Prioritize personal-Gmail-owned channels for wave 1 migration. Do NOT begin the pilot until the discovery report exists.IT Security + StudioWithin 4 weeks
The most consequential candor

The two headline "consider" items in the plan — SharePoint-as-DAM and Wistia — should be dropped from evaluation entirely. SharePoint is a working-copy mirror at best (no anonymous public embed, sync ceilings that break at DSO scale). Wistia's 2026 pricing rewards small libraries and punishes DSO scale, and its BAA posture is unresolved. The system-of-record is what SGA already built in WS2. The pilot should not test whether SharePoint can be a DAM — it should test whether the compliance workflow (release + Temporal + Compliance Approver + auto-unpublish fan-out) is real, because that is the only thing that actually gates go-live.