キーとデータの安全性

アプリの API キーを保管する場所、ブラウザーに置いても安全なキー、MeDo が確認すること・しないことを説明します。

更新日 2026-09-14

小規模なアプリで実際に起きるインシデントの多くは、2 つのミスのどちらかが原因です。サーバーに留めておくべきキーが漏れること、あるいはルールが設定されておらず誰でもデータを読めることです。このページでは両方を扱います。

認証情報は Secrets に保管し、ページには決して置かない

アプリが必要とする API キー、トークン、パスワードはすべて、Backend(バックエンド) ビューの Secrets(シークレット) パネル(アプリの Secretsを参照)、またはスキル(Skill)が認証情報を必要とするときに MeDo がチャットに表示する認証情報フォームに入れます。

  • 値はアプリのバックエンドに保存されます。あるアプリで保存したキーが別のアプリと共有されることはありません。ただし、それらのアプリがバックエンドを共有する場合を除きます。
  • 値は再表示時にマスクされるため、インターフェースから読み出すことはできません。
  • アプリをコピーしても、認証情報はコピー されません。コピー先でもう一度設定してください。

キーをページのコンテンツに貼り付けたり、「このキーをコードに入れて」と MeDo に依頼するプロンプトに貼り付けたり、訪問者が見られる場所に貼り付けたりしないでください。

2 種類のキー、2 つの異なるルール

キー置くべき場所理由
公開キー(anon / publishable)アプリのフロントエンドに置いて問題ない公開されることを前提に設計されており、実際にレコードを守るのはデータアクセスルールです。
シークレットキー(service role、secret)サーバー側のみ。Secrets または自分の環境データアクセスルールを完全にバイパスします。入手した人は誰でもすべてを読み取り、変更できます。

これがアクセス権とロールの管理が重要な理由です。公開キーがブラウザーにある以上、ルールこそが保護になります。

ソースをダウンロードする

プロジェクトをダウンロードすると、MeDo はプロジェクトルートの .env から service key を取り除き、アーカイブとともに持ち出されないようにします。公開 URL と公開キーはそのまま残ります。ローカル実行に必要なのはこの 2 つです。

覚えておくべきことが 2 つあります。

  • セルフホストするときは、これらの値を自分のプロジェクトのものに置き換えてください。そうしないと、ローカルコピーは引き続きホスト型バックエンドと通信します。
  • それでもアーカイブは機密として扱ってください。データベース構造、ルール、関数が含まれています。

コンテンツポリシーと停止

公開アプリはコンテンツポリシーに従う必要があります。違反したアプリは 停止 されることがあり、その場合は訪問者に利用不可として表示されます。停止されると、公開パネルに理由が表示され、ポリシーへのリンクと、誤りだと思う場合に使う Request manual review(手動レビューをリクエスト) ボタンが表示されます。

MeDo が代わりに行わないこと

存在しない保護があると思い込まないよう、境界をはっきりさせておきます。

  • セキュリティスキャンはありません。 MeDo はアプリの脆弱性、露出したテーブル、不足しているアクセスルール、漏えいしたキーをスキャンせず、セキュリティレポートも作成しません。
  • ペネトレーションテストはなく、アプリのコンプライアンス認証もありません。
  • 品質分析はセキュリティチェックではありません。 機能とコンソールエラーを検証するもので、不正アクセスを試みることはありません。AI 品質分析でのテストを参照してください。

公開前の短いチェックリスト

  • すべての認証情報が Secrets にあり、ページのコンテンツには 1 つもない。
  • service key がフロントエンドのどこからも参照されていない。
  • アクセスルールを依頼し、2 つのテストアカウントで検証した。
  • 2 人目のユーザーとしてサインインし、1 人目のユーザーのレコードが見えないことを確認した。
  • 電話番号、住所、メモなどの機密項目は、見るべき人にだけ返される。