# セキュリティ

> コードの実行場所、認証情報の保管方法、問題の報告方法。

このページでは、Skynet があなたのアカウント、キー、データをどのように保護しているかを説明します。また、セキュリティ上の問題を報告する方法も説明します。

## 脆弱性を報告する

セキュリティ上の問題は非公開で報告してください。公開の Issue は作成しないでください。

- GitHub で Skynet リポジトリを開き、**Security** > **Report a vulnerability** に進みます。
- または、`security@skynetml.com` にメールを送信します。

チームは、各報告に 5 営業日以内に受領の返信をすることを目指しています。

## アカウント

### サインイン方法

次の方法でサインインできます。

- メールアドレスとパスワード。
- **Google で続ける** または **GitHub で続ける**。
- **パスキーでサインイン**。パスキーは Face ID、Touch ID、またはハードウェアキーを使います。

使用するプロバイダーは **連携アカウント** で管理できます。

### パスワードのルール

パスワードは次の条件を満たす必要があります。

- 8 文字以上であること。
- 128 文字以下であること。
- メールアドレスを含まないこと。

新しいアカウントは、コードを使ってメールアドレスを確認する必要があります。パスワードのリセットにも、Skynet がメールで送信するコードを使います。

サインインの失敗が繰り返されると、Skynet はそのメールアドレスのサインインを一定期間ロックします。

### 2 段階認証

保護を強化するには、2 段階認証をオンにしてください。次のいずれかの方法を選びます。

| 方法             | 仕組み                                                               |
| ---------------- | -------------------------------------------------------------------- |
| **認証アプリ**   | 認証アプリに表示される 6 桁のコードを入力します。                    |
| **メールコード** | サインインのたびに Skynet が送信する 6 桁のコードを入力します。      |

Skynet は復旧コードも発行します。安全な場所に保管してください。認証方法にアクセスできなくなったときに、そのうち 1 つを使います。

> [!NOTE]
> Google または GitHub でサインインする場合、2 段階認証はそのプロバイダーが管理します。

## コードが実行される場所

ユーザーのワークロードは、分離されたサンドボックスで実行されます。ホスト型のプロダクトでは、Vercel Sandbox が実行の境界です。これには、設定チェック、最適化の実行、復旧、完了した実行に対する作業が含まれます。

Skynet のワーカーはあなたのコードを実行しません。ワーカーはコントロールプレーンです。ジョブを開始し、予算を確保・精算し、スコープを限定した認証情報をサンドボックスに渡し、チェックポイントを保存します。

有料の処理を始める前に、Skynet はウォレットと実行予算に余裕分を確保します。[請求](/docs/ja/concepts/billing) をご覧ください。

[Mac アプリ](/docs/ja/guides/mac-app) では、ジョブはローカルの Docker コンテナで実行されます。すべてのローカルサービスは `127.0.0.1` でのみ待ち受けます。

## プロバイダーキー (BYOK)

独自のモデルプロバイダーキーを追加できます。

- Skynet は各キーを保存時に暗号化します。
- Skynet が API を通じてキー全体を返すことはありません。
- Skynet が保持するのは、末尾 4 文字と状態（未確認、確認済み、無効）だけです。
- キーを入力すると、Skynet は小さなテストリクエストを送信してキーを確認します。

独自のキーを使う場合、プロバイダーはあなたのキーに直接請求します。Skynet は、プラットフォーム手数料とサンドボックスの使用量を引き続き残高から請求します。

Skynet は、ログやエラーメッセージからシークレットも取り除きます。シークレットは `[REDACTED]` に置き換えられます。

## API トークン

API トークンを使うと、スクリプトやツールから Skynet API を呼び出せます。

- 各ユーザーが持てる有効なトークンは最大 1 つです。新しいトークンを生成すると、古いトークンは使えなくなります。
- トークンは `skyd_` で始まります。
- Skynet はトークンのハッシュだけを保存します。
- Skynet がトークン全体を表示するのは 1 回だけです。すぐにトークンをコピーして保管してください。
- その後、Skynet はマスクされた形式（`skyd_…` と末尾 4 文字）だけを表示します。

トークンは `Authorization` ヘッダーで送信します。

```http
Authorization: Bearer skyd_...
```

トークンを無効にするには、**トークンを無効化** をクリックします。API の全体については、[API](/docs/ja/api) をお読みください。

> [!WARNING]
> トークンはパスワードと同じように扱ってください。トークンを持っている人は誰でも、API を通じてあなたとして操作できます。リポジトリにコミットしないでください。

## モデルのデータプライバシー

**モデルのデータプライバシー** 設定は、モデルプロバイダーがあなたのデータをどのように扱えるかを制御します。この設定は、Skynet があなたの残高に請求する最適化に適用されます。

| オプション     | 効果                                                                                   |
| -------------- | -------------------------------------------------------------------------------------- |
| **すべて許可** | プロンプトで学習したり保存したりできるプロバイダーを含む、すべてのプロバイダー。       |
| **学習なし**   | プロンプトで学習せず、保持もしないプロバイダーのみ。これが既定値です。                 |
| **保持なし**   | データを保持しない契約があるエンドポイントのみ。一部のモデルが利用できない場合があります。 |

> [!NOTE]
> あなた自身のキーによる最適化は、OpenRouter アカウントのプライバシー設定に従います。

## 実行の公開範囲

> [!WARNING]
> 新しい実行は既定で **公開** です。公開された実行は公開検索に表示されます。誰でもそれを見つけて、結果を閲覧できます。

実行を公開検索に表示させないようにするには、送信時に **公開範囲** を **非公開** に設定します。公開範囲は、後から共有ダイアログで変更できます。[共有と公開](/docs/ja/guides/sharing) をご覧ください。

新しいデータセットは **制限付き** です。リンクのアクセス設定を変更するまで、開けるのはあなたと、あなたが招待した人だけです。[データセットを準備する](/docs/ja/guides/datasets) をご覧ください。

## データ

データを管理するには、**設定** の **プライバシーとデータ** タブを開きます。

### データをエクスポートする

**データをエクスポート** の下にある **エクスポート** をクリックします。エクスポートには、アカウント内のすべてのデータが含まれます。形式を 1 つ選びます: JSON、CSV、Excel、Pickle、Parquet、Feather。

### アカウントを削除する

**アカウントを削除** をクリックします。確認のため、現在のパスワードを入力し、メールアドレスを入力します。

> [!WARNING]
> この操作により、アカウントとそのすべてのデータが完全に削除されます。元に戻すことはできません。

### 使用状況の分析

**匿名の使用状況分析を送信** 設定で、匿名のプロダクト分析のオン・オフを切り替えます。

## 次のステップ

- [制限](/docs/ja/limits) をお読みください。
- [よくある質問](/docs/ja/faq) をお読みください。

---

Source: https://staging.skynetml.com/docs/ja/security
