Trumpai
Taip, talpinamas (hosted) Supabase gali saugoti sveikatos duomenis: Team plane ir aukštesniuose jis pasirašo Business Associate Agreement (BAA), kai įjungtas HIPAA priedas. Savarankiškai talpinamas (self-hosted) Supabase neapimamas. BAA jūsų projekto nenustato. Supabase shared responsibility model išvardija dešimt pareigų, kurios lieka jums, tarp jų point-in-time recovery, SSL privalomumas, tinklo apribojimai ir Postgres prisijungimų žurnalas. Iš tų dešimties mano nemokamas Supabase tikrintuvas 3 pažymi tiesiogiai, 2 tik iš dalies, o likusių 5 nemato.
Esu Denys, full-stack ir AI inžinierius, ir dauguma programų, kurias kuriu ar taisau, veikia ant Supabase. Kai sveikatos ar wellness programa klausia, ar gali naudoti Supabase, sąžiningas atsakymas turi dvi dalis: ką Supabase pasirašo ir ką dar turite įjungti patys. Šiame straipsnyje jos nagrinėjamos tokia tvarka, remiantis paties Supabase dokumentais, perskaitytais 2026 m. spalio 29 d.
Ar Supabase atitinka HIPAA?
Talpinama platforma atitinka. Supabase HIPAA vadovas teigia, kad klientams, tvarkantiems saugomą sveikatos informaciją (PHI), jis veikia kaip business associate, yra pasirašęs BAA su savo tiekėjais, galinčiais pasiekti tuos duomenis, pavyzdžiui, AWS, o jo HIPAA kontrolės auditu tikrinamos kasmet tuo pačiu audito laikotarpiu kaip ir SOC 2. HIPAA projektai taip pat gauna visas SOC 2 kontroles, kurias turi likusi platforma.
Tame pačiame vadove yra du apribojimai. Savarankiškai talpinamas Supabase šių kontrolių iš karto neturi, o HIPAA atitiktis ten yra reikalas tarp jūsų ir jūsų auditoriaus. O BAA apima tik Supabase dalį: jūsų pareigomis vadovas nurodo laikytis HIPAA Privacy, Security ir Breach Notification Rules, pasirašyti BAA ir sukonfigūruoti HIPAA projektus taip, kaip nurodo Security Advisor.
Ko reikia prieš saugant PHI?
Iš HIPAA projektų puslapio ir shared responsibility model:
- Team ar aukštesnis planas. Žemesniame BAA neprieinama.
- HIPAA priedas ir pasirašytas BAA. Abu užsakote iš Supabase; priedas įjungiamas organizacijai.
- High Compliance kiekvienam projektui. Įjungus priedą, projektą galima pažymėti kaip High Compliance skiltyje General Project Settings. Nuo tada Supabase tame projekte nuolat vykdo papildomus patikrinimus, o neatitinkantis nustatymas Security Advisor rodomas kaip įspėjimas.
Security Advisor įspėja, bet netaiso. Supabase vadovas čia tiesus: atsakomybė taikyti rekomenduojamas kontroles tenka klientui.
Kokių nustatymų reikia HIPAA projektui?
Čia pateiktas visas sąrašas iš shared responsibility model: kur kiekviena pareiga randama ir ar ją mato nemokamas Supabase saugos tikrintuvas. Tikrintuvas skaito projektą per Supabase Management API, kai prisijungiate per Supabase, todėl mato nustatymus, o ne sutartis.
| Jūsų pareiga pagal BAA | Kur ji randama | Nemokamas tikrintuvas |
|---|---|---|
| Pasirašyti BAA, Team ar aukštesnis planas | Sutartis su Supabase | Nemato |
| Pažymėti projektus kaip HIPAA, ištaisyti įspėjimus | General Project Settings, Security Advisor | Iš dalies: rodo kiekvieną gaunamą Security Advisor lint |
| MFA kiekvienoje Supabase paskyroje, privaloma | Organizacijos nustatymai | Nemato |
| Point-in-time recovery (PITR) | Database → Backups, reikia nedidelio skaičiavimo priedo | Iš dalies: praeina ir vien su kasdienėmis kopijomis |
| SSL privalomumas | Database Settings → SSL Configuration | Pažymi: „SSL not enforced on database connections“ |
| Tinklo apribojimai | Database Settings → Network Restrictions | Pažymi: „Database open to every IP address“ |
| Postgres prisijungimų žurnalas įjungtas | log_connections, naujuose projektuose išjungtas |
Nemato |
| Šifravimas pagal HIPAA Security Rule | Supabase šifruoja saugomus ir perduodamus duomenis | Nemato; šifravimas programos lygiu yra jūsų pasirinkimas |
| Jokių PHI viešuose Storage bucket | Storage → bucket nustatymai | Pažymi kiekvieną viešą bucket; ar jame PHI, turite nuspręsti jūs |
| Jokio perdavimo ne HIPAA organizacijai | Projekto perdavimas | Nemato |
Ko nemato nemokamas patikrinimas?
Verta įvardyti tris spragas, nes žalias rezultatas gali atrodyti reiškiantis daugiau, nei iš tiesų reiškia.
Kasdienės kopijos nėra PITR. Tikrintuvo atsarginių kopijų taisyklė praeina, kai projektas turi point-in-time recovery arba bent vieną kopiją. Mokamas projektas su kasdienėmis kopijomis ir be PITR ją praeina. HIPAA projektams reikia būtent PITR, todėl patys pažiūrėkite Database → Backups; PITR reikia bent nedidelio skaičiavimo priedo. Ką saugo kiekvienas planas ir kaip atrodo atkūrimo testas, aprašyta pastaboje Supabase backups.
Du skirtingi MFA nustatymai. Tikrintuvo „No multi-factor method enabled“ susijęs su jūsų programos vartotojais: ar Supabase Auth siūlo jiems antrą veiksnį. HIPAA pareiga susijusi su žmonėmis, galinčiais atidaryti jūsų Supabase dashboard: MFA kiekvienoje organizacijos paskyroje, įjungtas kaip privalomas. Reikia abiejų, ir jie įjungiami skirtingose vietose.
Prisijungimų žurnalas. Supabase naujuose projektuose nustato log_connections į off, o HIPAA projektuose jis turėtų likti įjungtas audito pėdsakui. Tikrintuvas neturi taisyklės, kuri tai skaitytų. SQL redaktoriuje show log_connections; atsako viena eilute, o Security Advisor High Compliance projekte dėl to įspėja.
Tikrintuvas rodo kiekvieną Security Advisor grąžinamą lint, ir klaidas, ir įspėjimus. Aš jo nepaleidau High Compliance projekte, todėl negaliu patvirtinti, kad HIPAA įspėjimai ateina į tą patį sąrašą. Bet kuriuo atveju perskaitykite juos dashboard.
Ko HIPAA nustatymai neapima
Nė viena iš dešimties pareigų neužsimena apie Row Level Security. HIPAA projektas su visais aukščiau nurodytais nustatymais vis tiek gali atiduoti pacientų lentelę kiekvienam, turinčiam viešąjį raktą, jei toje lentelėje RLS išjungtas arba politika leidžia visas eilutes. Šią dalį tikrintuvas skaito visą: teises, politikas, funkcijas, apeinančias RLS, ir jautriai atrodančius stulpelius, kuriuos gali skaityti anoniminiai lankytojai. Skirtumas tarp dviejų raktų aprašytas straipsnyje Supabase anon key vs service role key, o kaip kiekvieną leidimą įrodau prieš API, – straipsnyje kaip testuoju Supabase RLS.
Tas pats galioja viskam už Supabase ribų. Shared responsibility model trečiųjų šalių paslaugas priskiria jums: SMTP ir SMS tiekėjus, OAuth prisijungimą ir bet kurį išorinį API, kurį kviečia Edge Function ar duomenų bazės trigeris. Jei kuris nors iš jų gauna PHI, jis priklauso jūsų HIPAA vaizdui, o ne Supabase, todėl patikrinkite, ar kiekvienas tiekėjas pasirašo BAA, prieš duomenims jį pasiekiant.
Kaip patikrinti savo projektą?
- Dashboard patvirtinkite, kad organizacija turi HIPAA priedą, o projektas pažymėtas kaip High Compliance, tada atidarykite Security Advisor ir peržiūrėkite kiekvieną įspėjimą.
- Atidarykite Database → Backups ir patvirtinkite, kad PITR įjungtas, o ne tik kasdienės kopijos.
- SQL redaktoriuje paleiskite
show log_connections;. Turėtų grąžintion. - Organizacijos nustatymuose patvirtinkite, kad kiekvienas narys turi MFA ir kad MFA yra privalomas.
- Paleiskite nemokamą Supabase saugos tikrintuvą SSL, tinklo apribojimams, viešiems bucket ir aukščiau minėtoms prieigos taisyklėms. Mano pastaba apie viešus bucket aprašo perėjimą prie pasirašytų URL.
Platesniam klausimui, ką platforma garantuoja, o ko ne, žr. ar Supabase saugus?. Šis straipsnis nėra teisinė konsultacija; ko reikalauja jūsų BAA ir HIPAA programa, sprendžia jūsų atitikties pareigūnas ar auditorius.
Kuriate sveikatos programą ant Supabase?
Mielai pažiūrėsiu į jūsų projekto nustatymus ir palyginsiu patirtį. Be pardavimų kalbų.
Susisiekti