本文へスキップ

SupabaseはHIPAA準拠? BAA後も残る担当

Markdownで表示Claudeで開くChatGPTで開くPerplexityで開く

質問もコピーされます。チャットが空で開いた場合は貼り付けてください。

TL;DR

はい、ホスティング版のSupabaseは医療データを扱えます。TeamプランとEnterpriseプランでHIPAAアドオンをオンにすると、Business Associate Agreement(BAA)を結べます。セルフホスト版は対象外です。BAAはプロジェクトの設定までは行いません。Supabaseの責任共有モデルは、あなたの担当として残る10項目を挙げています。point-in-time recovery、SSLの強制、ネットワーク制限、Postgresの接続ログなどです。この10項目のうち、私の無料のSupabaseチェックが直接指摘するのは3つ、一部だけ見えるのは2つで、残りの5つは見えません。

Denysです。フルスタック・AIエンジニアで、私が作る、あるいは直すアプリのほとんどはSupabaseで動いています。ヘルスケアやウェルネスのアプリから「Supabaseを使えますか」と聞かれたとき、正直な答えは2つの部分に分かれます。Supabaseが何に署名するか、そしてあなたが何をオンにする必要があるか、です。この記事は、2026年10月29日に読んだSupabase自身のドキュメントに基づいて、その順に見ていきます。

SupabaseはHIPAAに準拠している?

ホスティング版のプラットフォームは準拠しています。SupabaseのHIPAAコンプライアンスガイドによると、Supabaseは保護対象保健情報(PHI)を扱う顧客のbusiness associateとして動き、AWSなどそのデータに触れうる自社のベンダーとはBAAを結び、HIPAAのコントロールはSOC 2と同じ監査期間で毎年監査を受けています。HIPAAプロジェクトには、プラットフォームの他の部分が持つSOC 2のコントロールもすべて適用されます。

同じガイドには2つの制限があります。セルフホスト版には、これらのコントロールは最初から付いておらず、そちらのHIPAA準拠はあなたと監査人の間の問題です。そしてBAAが対象とするのはSupabase側の部分だけです。ガイドが挙げるあなたの責任は、HIPAAのプライバシー規則、セキュリティ規則、違反通知規則を守ること、BAAに署名すること、Security Advisorの指示どおりにHIPAAプロジェクトを設定することです。

PHIを保存する前に必要なものは?

HIPAAプロジェクトのページと責任共有モデルによると、次のとおりです。

  1. Teamプラン以上。 それより下のプランではBAAを利用できません。
  2. HIPAAアドオンと署名済みのBAA。 どちらもSupabaseに依頼します。アドオンは組織に対して有効になります。
  3. 各プロジェクトでHigh Compliance。 アドオンをオンにすると、General Project SettingsでプロジェクトをHigh Complianceに設定できます。その後、Supabaseはそのプロジェクトに追加のチェックを継続的に実行し、基準を満たさない設定はSecurity Advisorに警告として表示されます。

Security Advisorは警告するだけで、修正はしません。Supabaseのガイドもはっきり書いています。推奨されるコントロールを適用する責任は顧客にあります。

HIPAAプロジェクトにはどんな設定が必要?

責任共有モデルの全項目を、それぞれがどこにあるか、無料のSupabase セキュリティチェックで見えるかとともに示します。このチェックは、Supabaseでサインインしたあと、SupabaseのManagement API経由でプロジェクトを読みます。見えるのは設定であり、契約ではありません。

BAAにおけるあなたの担当 設定の場所 無料チェック
BAAに署名する(Teamプラン以上) Supabaseとの契約 見えない
プロジェクトをHIPAAに設定し、警告を直す General Project Settings、Security Advisor 一部:受け取ったSecurity Advisorのlintをすべて表示
すべてのSupabaseアカウントでMFAを強制 組織の設定 見えない
Point-in-time recovery(PITR) Database → Backups。小さなコンピュートアドオンが必要 一部:毎日のバックアップだけでも通る
SSLの強制 Database Settings → SSL Configuration 指摘する:「SSL not enforced on database connections」
ネットワーク制限 Database Settings → Network Restrictions 指摘する:「Database open to every IP address」
Postgresの接続ログをオンにする log_connections。新規プロジェクトではデフォルトでオフ 見えない
HIPAAセキュリティ規則に沿った暗号化 Supabaseが保管時と転送時に暗号化 見えない。アプリケーションレベルの暗号化は任意
公開StorageバケットにPHIを置かない Storage → バケットの設定 公開バケットをすべて指摘。PHIを含むかどうかはあなたが判断
非HIPAAの組織へ移転しない プロジェクトの移転 見えない
SupabaseのHIPAA担当10項目:無料チェックで見えるもの。Supabaseの責任共有モデルが挙げる担当項目。ルールで指摘:3、一部のみ確認:2、チェックでは見えない:5。
図1. Supabaseの責任共有モデル(2026年10月29日確認)と、私の無料Supabaseチェックのルールとの対応。

無料チェックで見落とすものは?

緑の結果は実際以上に安心に見えることがあるので、3つの抜けを説明します。

毎日のバックアップはPITRではありません。 チェックのバックアップのルールは、プロジェクトにpoint-in-time recoveryか、少なくとも1つのバックアップがあれば通ります。毎日のバックアップだけでPITRのない有料プロジェクトも通ります。HIPAAプロジェクトに必要なのはPITRそのものなので、Database → Backupsを自分で確認してください。PITRには少なくとも小さなコンピュートアドオンが必要です。各プランが何を保持するかと復元テストは、Supabase backupsにあります。

MFAの設定は2種類あります。 チェックの「No multi-factor method enabled」は、あなたのアプリのユーザーに関するものです。Supabase Authが第2要素を提供しているかどうかです。HIPAAの担当項目は、Supabaseのダッシュボードを開ける人に関するものです。組織内のすべてのアカウントでMFAを必須として強制します。両方が必要で、設定する場所は別です。

接続ログ。 Supabaseは新規プロジェクトでlog_connectionsをオフにしており、HIPAAプロジェクトでは監査証跡のためオンにしておくべきです。チェックにはこれを読むルールがありません。SQLエディタでshow log_connections;を実行すれば1行で分かり、High ComplianceのプロジェクトではSecurity Advisorもこれを警告します。

チェックは、Security Advisorが返すlintをエラーも警告もすべて表示します。High Complianceのプロジェクトでは実行していないため、HIPAAの警告が同じリストに届くかどうかは確認できていません。いずれにせよ、ダッシュボードで読んでください。

HIPAAの設定がカバーしないもの

10項目のどれもRow Level Securityに触れていません。上の設定をすべて整えたHIPAAプロジェクトでも、そのテーブルのRLSがオフ、またはすべての行を許可するポリシーなら、公開キーを持つ誰にでも患者テーブルを返してしまいます。ここはチェックが全面的に読む部分です。grant、ポリシー、RLSを迂回する関数、匿名の訪問者が読める機密性の高そうな列を調べます。2つのキーの違いはSupabase anon keyとservice role keyの違いに、各権限をAPIに対して証明する方法はSupabase RLSのテスト方法にあります。

Supabaseの外にあるものすべてにも同じことが言えます。責任共有モデルは、サードパーティのサービスをあなたの側に置いています。SMTPやSMSのプロバイダー、OAuthのサインイン、Edge Functionやデータベーストリガーが呼び出す外部APIです。そのどれかがPHIを受け取るなら、それはSupabaseではなくあなたのHIPAAの範囲です。データが届く前に、各プロバイダーがBAAに署名するかを確認してください。

自分のプロジェクトをどう確認する?

  1. ダッシュボードで、組織にHIPAAアドオンがあり、プロジェクトがHigh Complianceに設定されていることを確認します。そのうえでSecurity Advisorを開き、すべての警告に対応します。
  2. Database → Backupsを開き、毎日のバックアップだけでなくPITRがオンであることを確認します。
  3. SQLエディタでshow log_connections;を実行します。onが返るはずです。
  4. 組織の設定で、全メンバーがMFAを持ち、MFAが必須になっていることを確認します。
  5. 無料のSupabase セキュリティチェックで、SSL、ネットワーク制限、公開バケット、上記のアクセスルールを確認します。署名付きURLへの移行は、公開バケットのノートにまとめています。

プラットフォームが何を保証し、何を保証しないかというより広い問いは、Supabaseは安全?をご覧ください。この記事は法的助言ではありません。BAAとHIPAAプログラムに何が必要かは、コンプライアンス担当者か監査人が判断します。

Supabaseでヘルスケアアプリをつくっていますか?

プロジェクトの設定を一緒に見て、情報交換できれば嬉しいです。売り込みはありません。

お問い合わせ

© 2026 Denys Zaichenko. 元の記事: https://madsalt.tech/ja/blog/is-supabase-hipaa-compliant/