Pereiti prie turinio

Ar Supabase atitinka HIPAA? Ką BAA palieka jums

Žiūrėti kaip MarkdownAtidaryti per ClaudeAtidaryti per ChatGPTAtidaryti per Perplexity

Klausimas taip pat nukopijuojamas. Jei pokalbis atsidaro tuščias, įklijuokite jį.

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:

  1. Team ar aukštesnis planas. Žemesniame BAA neprieinama.
  2. HIPAA priedas ir pasirašytas BAA. Abu užsakote iš Supabase; priedas įjungiamas organizacijai.
  3. 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
10 Supabase HIPAA pareigų: ką mato nemokamas patikrinimas. Pareigos iš Supabase shared responsibility model. Pažymi tikrintuvo taisyklė: 3; Mato tik iš dalies: 2; Tikrintuvas nemato: 5.
1 pav. Supabase shared responsibility model, perskaityta 2026 m. spalio 29 d., palyginta su mano nemokamo Supabase tikrintuvo taisyklėmis.

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ą?

  1. 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ą.
  2. Atidarykite Database → Backups ir patvirtinkite, kad PITR įjungtas, o ne tik kasdienės kopijos.
  3. SQL redaktoriuje paleiskite show log_connections;. Turėtų grąžinti on.
  4. Organizacijos nustatymuose patvirtinkite, kad kiekvienas narys turi MFA ir kad MFA yra privalomas.
  5. 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

© 2026 Denys Zaichenko. Originalus straipsnis: https://madsalt.tech/lt/blog/is-supabase-hipaa-compliant/