セキュリティ概要
最終更新: 2026-10-10
このページは、情報システム部門や導入検討者がフラクソンのセキュリティを確認するための概要です。
要点
フラクソンは、Remote MCP対応生成AIクライアントからkintoneを利用するための管理型MCPサーバーです。
セキュリティ上の基本方針は次の通りです。
- kintoneアクセスは利用者本人のkintone OAuth認可を使います。
- フラクソンはkintone権限を広げません。
- フラクソンはkintone権限の上に、アプリ利用制限、フィールド制御、レコード条件、件数上限を追加できます。
- 生成AIクライアントへkintone OAuth tokenを渡しません。
- Remote MCP tokenは検証用のハッシュとして保存し、kintone OAuth tokenは保存時に暗号化します。
- 監査ログには、原則としてレコード本文や実行クエリ本文ではなく、操作メタデータを保存します。
- 判断できない状態は許可せず拒否する設計です。
全体構成
生成AIクライアントはフラクソンに接続します。フラクソンは、利用者本人のkintone OAuth認可を使ってkintone APIを呼び出します。
生成AIクライアントがkintoneのtokenを直接持つ構成ではありません。
認証と認可の層
フラクソンでは認証・認可を3つに分けて扱います。
| 層 | 内容 | 主な目的 |
|---|---|---|
| フラクソンログイン | 利用者・管理者がフラクソン画面へログインする | テナント所属、ロール、MFA、利用者確認 |
| Remote MCP OAuth | 生成AIクライアントがフラクソンへ接続する | 生成AI接続ごとのBearer tokenとスコープ管理 |
| kintone OAuth | フラクソンがkintone APIへアクセスする | 利用者本人のkintone権限でアクセスする |
Remote MCPの実効権限は、ユーザー許可スコープと接続発行済みスコープの両方で判定します。
kintone権限との関係
フラクソンは、kintoneで許可されていない操作を許可するための仕組みではありません。
評価の考え方:
- 利用者本人のkintone OAuth認可があるか。
- kintone側で対象アプリ、レコード、フィールドへアクセスできるか。
- フラクソン側で対象アプリや操作が拒否されていないか。
- フィールド制御やレコード条件に違反していないか。
- 返却前に非表示・マスクなどのサニタイズを行う。
- 監査ログを記録する。
kintoneから取得するデータと保持期間
この一覧でいう「保持」には、データベースや一時ファイルへの保存だけでなく、処理中にメモリへ読み込むことも含みます。通常のレコード参照では、取得したレコード本文をフラクソンのデータベースへ長期保存しません。ただし、分析結果、一時ダウンロード、OAuth認可情報、管理者が登録した設定には、次の保持があります。
| 区分 | 保持するデータ | 保持方法 | 保持期間・削除契機 |
|---|---|---|---|
| 通常のアプリ参照 | アプリID・名称、フィールドコード・名称・型・選択肢、フォーム、一覧、グラフ、プロセス管理、通知、アクセス権などのアプリ設定 | 処理中のメモリ | 要求の処理中のみ使用し、処理終了後は継続保持しません。管理者が設定として登録した情報は「アプリ制御・意味定義」の扱いになります。 |
| 通常のレコード・コメント参照 | レコードID、revision、フィールド値、作成者・更新者、添付ファイル情報、コメント本文、投稿者、メンション、投稿日時 | 処理中のメモリ | 要求の処理中のみ使用し、通常の参照結果としてデータベースへ保存しません。 |
| 通常の添付ファイル取得 | ファイル本体、ファイル名、Content-Type、ファイルサイズ | 処理中のメモリ | 生成AIクライアントへ返す処理中のみ使用し、通常のファイル取得では一時ファイルとして保存しません。 |
| 分析の実行中データ | 分析対象レコード、グループ、重複キー、結合、最新レコード候補などの中間データ | 分析処理中のメモリ | 分析ジョブの実行中のみ使用し、ジョブ終了後は継続保持しません。 |
| 分析の検証済み入力 | 対象アプリ、フィールド、抽出条件、条件値、計算方法など | 短期保存 | 15分です。 |
| 分析ジョブの入力・結果・根拠 | 分析条件、集計値、分類値、最新項目値、根拠となるレコードIDなど。大量レコード検索では、検索結果のレコード本文を含む場合があります。 | 非公開の短期保存 | 取得可能な期限は完了後24時間が既定、指定できる最長期間は7日です。物理削除の完了が遅れても、期限を過ぎた結果は取得できません。 |
| 一時ダウンロード | 添付ファイル本体、ファイル名、Content-Type、ファイルサイズ | 非公開の一時保存 | ダウンロードURLは既定5分で無効になります。ファイルは作成から1日後に削除対象となります。 |
| kintone OAuth認可情報 | access token、refresh token、有効期限、許可済みスコープ、kintoneユーザーID、接続先ドメイン | 保存時に暗号化 | 再認可時に更新し、フラクソン利用者の削除時に利用者のtokenを削除します。自動的に期限削除する保存期間は設定していません。 |
| アプリ制御・意味定義 | アプリID・名称、フィールドコード・名称・型・階層、アプリ別名、利用制限、フィールド制御、レコード条件、意味定義 | 設定として保存 | 現在の設定は管理者または権限を持つ利用者が更新・削除できます。意味定義の旧版は最新50世代かつ180日以内です。現行定義は、この履歴保持期限では自動削除しません。 |
| 保存済み分析・分析カタログ | 対象アプリ、フィールド、抽出条件、条件値、計算方法、定義のrevision、実行結果の変更判定用ハッシュ・要約 | 設定と履歴として保存 | 旧定義は最新50世代かつ180日以内、保存済み分析の実行履歴は最新1,000件かつ90日以内です。現行定義は無効化後もこの期限では自動削除しません。実行履歴の保持は、分析結果本文の取得期限を延長しません。 |
| 監査ログ | 利用者、生成AI接続、ツール、アプリID、recordId、結果件数、成功・拒否・失敗、エラー種別などの操作メタデータ | 監査情報として保存 | 契約ティアAは3日、Bは30日、Cは180日です。レコード本文、コメント本文、ファイル本文、実行クエリ本文は保存しません。 |
| 運用ログ | kintone APIの応答status、エラーコード、request ID、処理件数など。レコード本文やファイル本文は含みません。 | 障害調査用ログ | 本番環境では30日です。 |
処理終了後のメモリはシステムが再利用できる状態になります。短期保存の期限や一時ファイルの削除時刻は、期限到達後に削除対象となる時刻です。期限到達と物理的な削除の完了が同時になるとは限りません。
障害復旧用のバックアップに含まれたデータは、元データの削除後もバックアップの保持期間が終わるまで残る場合があります。バックアップから復旧する場合も、期限切れのtokenや一時データをそのまま再有効化しません。
フラクソンの利用に必要なその他の情報
| 区分 | 保存する情報 | 目的 |
|---|---|---|
| テナント情報 | テナントID、名称、契約状態 | テナント分離、契約管理 |
| ユーザー情報 | フラクソンユーザー、所属、ロール、状態 | ログイン、管理権限、利用者管理 |
| Remote MCP接続 | クライアント名、接続状態、発行済みスコープ、token検証用ハッシュ、最終利用時刻 | 生成AIクライアント接続の認証と失効管理 |
保存しない情報
| 保存しないもの | 理由 |
|---|---|
| Remote MCP tokenの平文 | 生成AI接続用tokenを再利用されにくくするため |
| authorization codeの平文 | OAuth途中の秘密情報を残さないため |
| 通常のレコード・コメント参照結果の永続コピー | 通常の参照を、kintone業務データの二次保管場所にしないため |
| 通常の添付ファイル取得で読み込んだファイルの永続コピー | 一時ダウンロードを明示的に利用した場合を除き、ファイルを二次保管しないため |
| 監査ログ内のレコード本文 | 監査ログを業務データの二次保管場所にしないため |
| 監査ログ内の実行クエリ本文 | 条件式や値から機微情報が漏れることを避けるため |
| kintone APIの生エラー本文 | 内部情報やkintone由来の詳細情報を生成AIへ漏らさないため |
ただし、生成AIがフラクソンを通じて取得したkintoneデータは、MCPレスポンスとして生成AIクライアントに返ります。その後の会話履歴、保存、学習利用、管理者監査の扱いは、利用する生成AIサービス側の契約と設定も確認してください。
Remote MCPのセキュリティ
Remote MCPは、生成AIクライアントがHTTPS上のMCPサーバーに接続する方式です。
フラクソンでは次の考え方を採用します。
- HTTPSのRemote MCP URLを使う。
- OAuth Bearer tokenで生成AIクライアントからの接続を認証する。
- tokenはURLクエリに含めず、Authorizationヘッダーで扱う。
- public clientではPKCEを使う。
- redirect URIは登録済みURIとの完全一致で検証する。
- stateは予測不能、短期TTL、単回使用、開始セッション束縛にする。
- tokenはフラクソン向けに発行されたものだけを受け付ける。
- 生成AIクライアントから受けたtokenをkintoneへ渡さない。
フィールド制御
フラクソンのフィールド制御では、生成AIに返すフィールドを制限できます。
例:
- 会社名、ステータス、担当者は表示。
- 個人携帯番号は非表示。
- 社内評価コメントはマスク。
- ステータスだけ更新可。
- 金額や契約番号は更新不可。
フィールド制御は、kintone権限に加えて適用されます。kintoneで見えないものがフラクソンで見えるようになるわけではありません。
監査ログ
監査ログでは、次のような情報を確認します。
- 利用者。
- テナント。
- 生成AIクライアントまたはRemote MCP接続。
- 利用したMCPツール。
- 対象アプリ。
- 成功、拒否、失敗。
- 件数やrecordIdなどの最小限のメタデータ。
- エラー種別や拒否理由。
監査ログにレコード本文を保存しない方針にすることで、監査ログ自体が機微情報の集積場所になるリスクを下げます。
生成AIサービス側で別途確認すること
フラクソンはkintoneとの接続窓口を制御しますが、生成AIサービスそのものの管理設定は各生成AIサービス側の責任範囲です。
情報システム部門は次を確認してください。
- 利用する生成AIサービスの契約プラン。
- 会話履歴の保存設定。
- 学習利用の有無とオプトアウト条件。
- 管理者によるアプリ・コネクタの許可設定。
- 利用者ログ、監査、エクスポート機能。
- データ所在地やサブプロセッサ。
- 退職者・異動者のアカウント削除・停止手順。
導入時の推奨
- まず読み取りと集計から始める。
- 書き込み系操作は対象アプリとフィールドを限定する。
- 個人情報や機微情報を含むアプリは、利用拒否または強いフィールド制御にする。
- テスト利用者で制御が効いていることを確認する。
- 情報システム部門と管理者で、利用できる生成AIサービスを明確にする。