> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 信頼性とセキュリティ

> データの取り扱い、ビルドの配布、セキュリティ上の責任について理解します。

Ayakaleaf Pro はお客様のインフラ上で動作します。データ、アクセス、ネットワーク境界はお客様が管理します。このページでは、デフォルトのセキュリティモデルについて説明するとともに、運用上のお客様の責任についても明らかにします。

### Ayakaleaf Pro は信頼性が高く安全ですか？

Ayakaleaf Pro はセルフホスト型の Overleaf Pro 拡張版で、ソースコードは [ayaka-notes/ayakaleaf-pro](https://github.com/ayaka-notes/ayakaleaf-pro) で公開されています。サービスをどこで実行し、データをどこに置くかは、お客様のデプロイによって決まります。

セキュリティはお客様の設定と運用に左右されます。管理者アクセスを保護し、HTTPS を有効にし、バックアップを維持してください。

OpenAI のご支援に感謝します。私たちは [Codex Security](https://chatgpt.com/codex/cloud/security/findings) を定期的に使用してリポジトリのセキュリティ問題をスキャンし、脆弱性修正の結果を公開しています。

### データはどこに送られますか？

デフォルトでは、アプリケーションデータはお客様のデプロイ内にとどまります。

* MongoDB はユーザーとプロジェクトのデータを保存します。
* Redis はキャッシュとリアルタイム共同編集のデータを保存します。
* ローカルボリュームまたは S3 互換ストレージがプロジェクトファイルを保持します。

デフォルトで公開されるのは web サービスのみです。内部サービスは Docker ネットワークを通じて通信します。

### データが第三者に送信されたり、第三者から取得されたりしますか？

それを必要とする機能を有効にしない限り、データがデプロイの外に出ることはありません。Ayakaleaf Pro は *テレメトリ、利用状況の分析、クラッシュレポートを一切送信しません*。エラーレポートと分析はデフォルト設定で無効になっています。

いくつかの機能は外部へのリクエストを一切行いません。テンプレートはお客様のデプロイ内に保存され、そこから提供されます。Python スクリプトランナーは WebAssembly を通じてユーザーのブラウザ内で実行され、そのランタイムは公開 CDN ではなくお客様自身の web サービスから提供されるため、スクリプトのコードや出力がネットワークに送られることはありません。Git Bridge は内部の Docker ネットワーク上でのみ到達可能です。プロジェクト全体の検索、記号パレット、変更履歴、プロジェクト履歴、管理パネルはすべてローカルで完結します。サンドボックスコンパイル用のコンテナは、ネットワークが無効な状態で作成されます。

その他の機能のリクエストは、次の宛先に送られます。各リクエストは web サービスから送信されます。

<Accordion title="AI アシスタントと検索">
  AI 機能はデフォルトで無効です。有効にすると、チャットと LaTeX エラーの提案機能は、プロンプトと関連するプロジェクトのコンテキストを `AI_BASE_URL` で設定されたモデルのエンドポイントに送信します。オプションの Web 検索はクエリを設定された Tavily 互換サービスに送信し、ドキュメント検索はクエリを `DOCS_MCP_URL`（デフォルト：`https://docs.overleaf.com/~gitbook/mcp`）に送信します。検索結果はモデルプロバイダーへのリクエストに含まれる場合があります。設定とユーザー側の制御については [AI Integration](/ja/on-premises/configuration/overleaf-toolkit/ai-integration "mention") を参照してください。
</Accordion>

<Accordion title="GitHub 連携">
  **GitHub 連携**は `github.com` と `api.github.com` に接続します。ユーザーごとに GitHub アカウントをリンクすることで有効になり、認可時には `read:org`、`repo`、`workflow` のスコープを要求します。プッシュ時には、プロジェクトファイルの内容全体が Git blob としてアップロードされ、それらが tree と commit に組み立てられます。また、ブランチ、リファレンス、比較、マージの操作を行い、リンクされたアカウントのプロフィール、所属組織、リポジトリ一覧を読み取ります。プロジェクトの内容は双方向でデプロイの外に出ます。リンクされた GitHub アカウントは、それに接続されたすべてのプロジェクトのエクスポート経路とみなしてください。
</Accordion>

<Accordion title="Zotero 連携">
  **Zotero 連携**は、認可のために `www.zotero.org` に、ライブラリデータのために `api.zotero.org` に接続します。ユーザーごとに Zotero アカウントをリンクすることで有効になります。OAuth ハンドシェイクとユーザーの API キーが送信されます。読み取りは一方向のみで、参考文献ライブラリが BibTeX として取り込まれ、プロジェクトの内容がアップロードされることはありません。
</Accordion>

<Accordion title="Mendeley 連携">
  **Mendeley 連携**は、認可とライブラリデータの両方のために `api.mendeley.com` に接続します。ユーザーごとに Mendeley アカウントをリンクすることで有効になります。OAuth ハンドシェイクでは Mendeley の `all` スコープ（同 API が提供する唯一のスコープ）を要求しますが、Ayakaleaf が行うのは読み取りのみです。参考文献ライブラリとグループライブラリが BibTeX として取り込まれ、プロジェクトの内容がアップロードされることはありません。アクセストークンは自動的に更新されます。Mendeley が許可を取り消した場合、保存されている認証情報は破棄され、ユーザーにはアカウントを再度リンクするよう求められます。
</Accordion>

<Accordion title="ドキュメントページ">
  **ドキュメントページ**は `https://learnwiki.overleaf.com` から取得され、`WIKI_URL` で変更できます。リクエストはユーザーのブラウザではなく web サービスが行うため、上流の wiki から見えるのはお客様のサーバーであり、ユーザーのアドレスが知られることはありません。送信されるのは要求されたページのタイトルのみで、レスポンスはディスクにキャッシュされます。ドキュメントのための外向き通信が許容されない場合は、`WIKI_URL` を独自のミラーに向けるか、宛先をブロックしてください。
</Accordion>

<Accordion title="メール配信">
  **メール配信**は、お客様が設定した SMTP サーバーまたはメール API に接続します。デフォルトの設定はありません。パスワードリセットや招待のリンクを含め、宛先アドレスとメッセージの内容がデプロイの外に出ます。
</Accordion>

<Accordion title="2 つのオプションのチェック（PWD/reCAPTCHA）">
  <strong>2 つのオプションのチェックはデフォルトで無効です。</strong> 漏洩パスワードチェックは `HAVE_I_BEEN_PWNED_ENABLED` を設定しない限り無効です。有効にすると、パスワードの SHA-1 ハッシュの先頭数文字を `api.pwnedpasswords.com` に送信します。パスワードそのものが送信されることはありません。CAPTCHA 検証は reCAPTCHA のサイトキーを設定しない限り無効で、有効な場合は `www.google.com` に接続します。
</Accordion>

<Accordion title="シングルサインオン（OAuth/LDAP/SAML）">
  **シングルサインオン**は、お客様が指定した ID プロバイダーにのみ接続し、そこに送られる情報はプロトコルによって異なります。LDAP の場合、web サービスはディレクトリに直接接続します。設定したサービスアカウントでバインドし、定義したベース、フィルター、属性リストに基づいて検索し、ログインフォームに入力されたパスワードをディレクトリと照合します。そのため、ユーザー名とパスワードがディレクトリサーバーに送られます。ディレクトリ連携の連絡先を有効にすると、連絡先リストを作成するための追加の検索が行われます。OIDC の場合、web サービスはトークンエンドポイントで認可コードを交換し、その後ユーザー情報エンドポイントを呼び出します。デフォルトでは `openid profile email` スコープを要求し、これは `OVERLEAF_OIDC_SCOPE` で変更できます。SAML の場合、認証リクエストはサーバー間の直接接続ではなく、ユーザーのブラウザを経由して ID プロバイダーに送られます。いずれの場合も、ユーザーの名前とメールアドレスはプロバイダーへ送られるのではなくプロバイダーから受け取るもので、受け取った後はローカルのユーザーレコードに保存されます。
</Accordion>

<Accordion title="サードパーティの認証情報">
  **サードパーティの認証情報**（OAuth トークンや API キー）は、MongoDB のユーザーレコードに保持され、レコードごとのソルトと初期化ベクトルを用いて AES-256-CTR で暗号化されます。平文で保存されることも、ログに書き込まれることもありません。暗号化キーは、`${PROVIDER}_CIPHER_PASSWORD` が設定されていればそれを使用し（Zotero や Mendeley など）、設定されていなければ初回使用時に生成され、所有者のみがアクセスできる権限でデータボリューム内に保存されます。このキーはデータボリュームと一緒にバックアップしてください。キーを失うと、保存されている認証情報を復号できなくなり、すべてのユーザーがアカウントを再度リンクする必要があります。
</Accordion>

<Accordion title="URL からリンクされたファイル">
  **URL からリンクされたファイル**は、ユーザーに代わってお客様のデプロイが取得するため、宛先はユーザーが指定した任意のアドレスになります。URL リンクファイルは、`ENABLED_LINKED_FILE_TYPES` に `url` を追加しない限り無効で、デフォルト設定には含まれていません。Open in Overleaf API を通じた外部 ZIP や TeX のインポートも、同じ `linked-url-proxy` コンポーネントを使用します。直接リクエストではターゲットのホスト名を解決し、設定された許可リソースの例外を除き、制限されたネットワーク範囲を拒否します。`OVERLEAF_LINKED_URL_OUTBOUND_PROXY` を設定した場合は、アウトバウンドプロキシがホスト名を解決するため、内部ネットワークへの制限はプロキシ自身で行う必要があります。アプリケーションのネットワークチェックは、IP アドレスを含む URL にのみ適用されます。詳しくは [External URL — Outbound Proxy](/ja/on-premises/configuration/overleaf-toolkit/external-url#outbound-proxy "mention") を参照してください。これらのリクエストは指定された URL を取得するもので、プロジェクトファイルをアップロードするものではありません。
</Accordion>

ポリシーで外向き通信の許可リストが必要な場合は、有効にした機能に対応するホストのみを許可してください。GitHub には `github.com` と `api.github.com`、Zotero には `www.zotero.org` と `api.zotero.org`、Mendeley には `api.mendeley.com`、ドキュメントには `learnwiki.overleaf.com` または独自の `WIKI_URL`、パスワードチェックには `api.pwnedpasswords.com`、CAPTCHA には `www.google.com`、それに加えてお客様自身のメールサーバーと ID プロバイダーです。AI 機能や検索を有効にしている場合は、設定したモデル、Web 検索、ドキュメント MCP のエンドポイントも許可してください。有効にした機能に必要のない宛先は拒否してください。外向き通信を一元的に検査またはログ記録する必要がある場合、GitHub、Zotero、Mendeley の各連携は、`GITHUB_SYNC_PROXY_URL`、`MENDELEY_PROXY_URL`、`ZOTERO_PROXY_URL` を設定することで HTTP プロキシ経由にできます。URL リンクの取得とリモートインポートには `OVERLEAF_LINKED_URL_OUTBOUND_PROXY` を使用できます。URL からリンクされたファイルは、宛先がリクエスト時にユーザーによって選ばれるため、ホストリストで制限することはできません。この機能はプロキシコンポーネント自体の許可リソース設定で制限するか、無効のままにしておいてください。

<Warning>
  [s3.md](/ja/on-premises/configuration/overleaf-toolkit/s3 "mention") ストレージを有効にして Ayakaleaf Pro をデプロイした場合、S3 に保存されるデータは暗号化されますか？

  *<strong>いいえ。</strong>* データは暗号化されません。すべての履歴チャンク、テンプレートファイル、PDF、その他のファイルは平文で保存されます。サードパーティの外部 S3 ストレージプロバイダーを使用する場合は、データのセキュリティとプライバシーに十分注意してください。
</Warning>

### プロジェクトのコンパイルは分離されていますか？

Ayakaleaf Pro はサンドボックスコンパイルに対応しています。各コンパイルは個別のコンテナで実行されます。サンドボックスコンテナはデフォルトでネットワークにアクセスできません。これにより、内部ネットワークのリソースが露出するリスクが軽減されます。

サンドボックスコンパイルには、ホストの Docker ソケットへのアクセスが必要です。ホストの管理は信頼できる運用担当者に限定してください。

### CI ビルドやコンテナイメージは信頼できますか？

Ayakaleaf Pro のコンテナイメージは GitHub Actions でビルド・公開されています。イメージは公開の GitHub Container Registry から入手できます。

イメージは `amd64` と `arm64` に対応しています。Docker はイメージを pull する際に、一致するアーキテクチャを選択します。

本番環境では `latest` タグを使用しないでください。明示的なバージョン、できればイメージダイジェストで固定してください。

すべてのアップグレードは本番以外の環境でテストしてください。展開前に、イメージ、設定、連携機能を検証してください。

### コードはオープンソースですか？

Ayakaleaf Pro と関連する機能リポジトリは公開されています。これにより、ユーザーは変更内容を確認し、上流のソースをたどることができます。

ソースコードが公開されていることで、独立したレビューが可能になります。ただし、それだけでリリースビルドの再現性が保証されるわけではありません。

アップグレードの前に、次の点を確認してください。

* リリースタグまたはコミット。
* イメージのバージョンまたはダイジェスト。
* サードパーティの依存関係とライセンス要件。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.