プロジェクトの使い方

シークレットと環境変数

API キーと構成を安全に保存し、ランタイムにデプロイ済みプロジェクトに公開します。

最終更新:

シークレットとは何ですか?

シークレットとは、名前付きの値(API キー、トークン、データベース URL、 Webhook 署名キーなど)で、デプロイ済みプロジェクトが実行時に必要とするものの、 ソースコード、チャット履歴、生成されたバンドルには絶対に含めてはならないものです。 FloopFloop はそれらを暗号化して保存し、環境変数としてプロジェクトの実行環境に 注入します。

シークレットタブには、プロジェクトに取引所アカウントが必要な場合の接続用 Cryptohopper カードも含まれています。スケジュールジョブは同じランタイム注入モデルを使用しますが、 テンプレートマニフェストから自動的に登録されます。詳細は スケジュールジョブ を参照してください。

デプロイ済みプロジェクト内では、通常の Node.js アプリと同じ方法で読み取ります:

const stripe = new Stripe(process.env.STRIPE_SECRET_KEY);

ハードコードの代わりにシークレットを使う理由

  • 認証情報がチャット履歴に入りません。チャットにキーを貼り付けると、 FloopFloop's のサーバー側ガードがメッセージを永続化したり AI に送信したりする 前に拒否します。
  • 認証情報が生成されたバンドルに入りません。 プロジェクトコードはprocess.env.MY_KEY を参照し、値はデプロイメントランタイム内でのみ 実体化されます。
  • 再デプロイなしにローテーションできます。 シークレットを更新すると、 新しい値は次のリクエストで反映されます。

ダッシュボードからのシークレット管理

プロジェクトを開き、設定 に移動して、 シークレット & 環境変数 セクションまでスクロールします。 そこから新しいシークレットを追加したり、既存のものを更新したり、 削除したりできます。リストにはキー名と値の最後の 4 文字が表示されます。 保存後は完全な値は表示されません。

チャット内のプロンプト

AI がまだ持っていない認証情報を必要とするコードを生成した場合、 インラインで要求します。キー名が事前に入力されたダイアログが開くので、 値を貼り付けて保存をクリックします。値は暗号化ストレージに直接送られ、 チャットのトランスクリプトには書き込まれず、AI には見えません。

キー命名規則

  • UPPER_SNAKE_CASE のみ(英字、数字、アンダースコア)。
  • 英字で始まる必要があります。
  • 1〜64 文字の長さ。
  • 例: STRIPE_SECRET_KEYOPENAI_API_KEYDATABASE_URL

制限

  • プロジェクトごとに 25 シークレット。 既存のシークレットの更新は 上限にカウントされません。新しいキーの追加のみが対象です。
  • 値ごとに 4096 文字。 これは標準的な API キーやトークンの 長さを大きく超えています。それより長い値はほぼ常に貼り付けエラーを示します。

保存方法

各値は FloopFloop を離れる前に AWS KMS カスタマー管理キーで暗号化されます。 暗号化コンテキストにより、暗号文テキストが特定のプロジェクトとキー名に バインドされるため、あるプロジェクトの暗号文テキストを別のプロジェクトで 復号することはできません。プロジェクトを提供する SSR ランタイムのみが 復号の権限を持ちます。ダッシュボード、AI、FloopFloop の従業員は復号できません。 値はログに記録されません。

プログラムによるアクセス

独自のツールからシークレットを管理したい場合は、公開 API がリスト、 作成/更新、削除のエンドポイントを公開しています。リクエストと レスポンスの形式については シークレット API を参照してください。