[{"data":1,"prerenderedAt":1334},["ShallowReactive",2],{"/ja-jp/blog/confidential-ai-for-gitlab-self-hosted":3,"navigation-ja-jp":545,"banner-ja-jp":974,"footer-ja-jp":982,"blog-post-authors-ja-jp-Mathias Ewald|Martin Paloncy, Edgeless Systems":1224,"blog-related-posts-ja-jp-confidential-ai-for-gitlab-self-hosted":1252,"blog-promotions-ja-jp":1272,"next-steps-ja-jp":1325},{"id":4,"title":5,"authors":6,"body":9,"category":526,"date":527,"description":528,"extension":529,"externalUrl":530,"faq":530,"featured":298,"heroImage":531,"meta":532,"navigation":298,"path":533,"seo":534,"slug":537,"stem":538,"tags":539,"template":542,"updatedDate":543,"__hash__":544},"blogPosts/ja-jp/blog/confidential-ai-for-gitlab-self-hosted.md","GitLab Self-Hostedで実現するコンフィデンシャルAI",[7,8],"Mathias Ewald","Martin Paloncy, Edgeless Systems",{"type":10,"value":11,"toc":514},"minimark",[12,16,26,30,39,42,45,48,51,54,58,61,156,159,162,165,168,172,175,183,190,193,196,199,218,226,229,232,235,245,394,396,405,408,411,417,423,429,435,438,460,464,473,476,510],[13,14,15],"p",{},"開発者はAIコーディングエージェントを使いたがっています。しかしソースコードは規制対象の知的財産であり、外部のAIサービスには送れません。コンプライアンス部門からも、書面でそう伝えられています。よくある逃げ道は、自前のGPUクラスターを立てて自社でモデルを動かすことです。しかしそこには、品薄のハードウェアを買い、運用チームを抱え、それでもフロンティアモデルから数か月遅れ続けるという代償が伴います。結局何も手を打てないまま時間が過ぎ、1年前にAIを導入したチームとの差だけが開いていきます。",[13,17,18,19,25],{},"GitLab Duo Self-Hostedのモデルプロバイダーとして、",[20,21,24],"a",{"href":22,"rel":23},"https://www.privatemode.ai/",[],"Privatemode AI","を利用できるようになりました。Privatemodeは最先端のモデルをコンフィデンシャルコンピューティング対応のハードウェア上で動かします。プロンプトもソースコードも生成結果も、推論の最中を含めてエンドツーエンドで暗号化されたままです。設定は、GitLab DuoのAIゲートウェイをPrivatemodeプロキシに向けるだけ。開発者が使えるDuoの機能は、ほかのモデルを使う場合と変わりません。違うのは一点、規制業界の組織にとって最も重要な点です。コードが暗号化された境界の外に出ることはなく、第三者がそれを読むこともできません。",[27,28,29],"h2",{"id":29},"規制業界のチームだけが手にできない生産性",[13,31,32,33,38],{},"AIによるコーディング支援は、すでに自動補完の域をはるかに超えています。",[20,34,37],{"href":35,"rel":36},"https://about.gitlab.com/ja-jp/gitlab-duo-agent-platform/",[],"GitLab Duo Agent Platform","が担うのは、複数のステップにまたがる作業です。マージリクエストのレビュー、ファイルをまたいだリファクタリング、テストの生成と実行、CIジョブとしてのエージェントフローの実行など、その範囲は広がり続けています。これはチームの開発の進め方そのものを変える変化であり、効果は使うほどに積み上がります。実際に導入したチームは、レビューが速くなり、定型作業にかける時間が減っています。",[13,40,41],{},"ただし、これらの機能はどれもプロンプトとソースコードをモデルプロバイダーに送ります。プロプライエタリなコード、規制対象のソフトウェア、機密性の高い知的財産を扱うチームにとっては、それだけで検討の対象から外れてしまいます。",[27,43,44],{"id":44},"規制業界の組織がセルフホストを選ぶ理由",[13,46,47],{},"こうした組織にとって、ソースコードは事業の中核をなす知的財産です。それをどこで処理するかは、利便性の問題ではなく、契約上・業界上・規制上の問題になります。銀行のトレーディングアルゴリズム、医療機器メーカーのファームウェア、防衛関連企業の制御ソフトウェア。これらを外部のAIサービスに送れば、知的財産の保護、データ処理契約、業界規則を一度に破りかねません。",[13,49,50],{},"しかも、圧力は複数の方向から同時にかかります。NIS2とデジタルオペレーショナルレジリエンス法（DORA）は、重要インフラと金融サービスに対して、運用のレジリエンスとサードパーティリスクの要求水準を引き上げました。GDPRは、コードやログに含まれる個人データの扱いを規定します。ドイツ金融業界におけるBaFinの監督、調達基準としてのBSI C5、医療データの規則など、業界ごとの制度も独自の制約を課します。加えて欧州では、特定の規制の有無にかかわらず、データ主権を最優先の要件と位置づける組織が少なくありません。",[13,52,53],{},"影響が最も大きいのは、金融サービス、ヘルスケア・製薬、防衛、公共部門、重要インフラです。GitLab Self-Hostedは、まさにこうしたコードを信頼された境界の内側にとどめるために存在しています。AIを組み込んだ結果その前提が知らないうちに崩れるようでは、本末転倒です。",[27,55,57],{"id":56},"なぜaiはセルフホストと相性が悪いのか","なぜAIはセルフホストと相性が悪いのか",[13,59,60],{},"AIコーディング支援を導入したいセルフホストのチームには、従来3つの選択肢がありました。ただし、どれも規制業界のユーザーには支払いにくいコストを伴います。",[62,63,64,82],"table",{},[65,66,67],"thead",{},[68,69,70,73,76,79],"tr",{},[71,72],"th",{},[71,74,75],{},"パブリックAI SaaS",[71,77,78],{},"VPC / プライベートクラウドAI",[71,80,81],{},"自前のLLMスタック",[83,84,85,100,114,128,142],"tbody",{},[68,86,87,91,94,97],{},[88,89,90],"td",{},"ソースコードが境界の外に出るか",[88,92,93],{},"出る",[88,95,96],{},"出る（運用事業者へ）",[88,98,99],{},"出ない",[68,101,102,105,108,111],{},[88,103,104],{},"保証の種類",[88,106,107],{},"契約（利用規約）",[88,109,110],{},"契約（運用事業者＋クラウド）",[88,112,113],{},"自社で担保",[68,115,116,119,122,125],{},[88,117,118],{},"平文を見られるのは誰か",[88,120,121],{},"プロバイダー",[88,123,124],{},"運用事業者とクラウドプロバイダー",[88,126,127],{},"自社だけ",[68,129,130,133,136,139],{},[88,131,132],{},"インフラ運用の負担",[88,134,135],{},"なし",[88,137,138],{},"低い",[88,140,141],{},"高い：GPU、モデル運用、更新",[68,143,144,147,150,153],{},[88,145,146],{},"フロンティアモデルへの追随",[88,148,149],{},"できる",[88,151,152],{},"おおむねできる",[88,154,155],{},"ほぼ無理。遅れ続ける",[157,158],"br",{},[13,160,161],{},"表のとおり、パブリックAI SaaSとVPCはいずれもコードを外部に露出させ、契約上の保証に頼ることになります。自前でスタックを運用すればコードは手元に残りますが、GPUとモデル運用の負担が重くのしかかります。",[13,163,164],{},"もう少し率直に書きます。パブリックSaaSは、コードが社外に出る時点で検討対象外です。VPCで隔離したサービスやプライベートクラウドは露出を減らせますが、平文が運用事業者と基盤クラウドに渡ることは変わりません。契約は約束であって、暗号技術による保証ではないのです。自前でモデルを運用すればコードは守れますが、導入にも人材にもコストがかかり、構造的に最良のモデルから遅れていきます。こうして多くの規制業界の組織が、AIの導入を限定的にとどめるか、まったく手をつけないという結論に至ります。",[13,166,167],{},"ここで問われるのは、次の点です。ソースコードを境界の外に出さず、自社でLLMスタックも抱えずに、最新のAIコーディングエージェントを開発者に届けるにはどうすればいいのか。答えるには、契約では出せない種類の保証、つまりハードウェアが強制する保証が必要になります。",[27,169,171],{"id":170},"コンフィデンシャルコンピューティングアーキテクチャによる答え","コンフィデンシャルコンピューティング：アーキテクチャによる答え",[13,173,174],{},"コンフィデンシャルコンピューティングは、ハードウェアベースの信頼実行環境（TEE）を使い、処理中のデータを_メモリ上で暗号化したまま_扱う技術です。TEEはCPUやGPU上に設けられた隔離領域で、OSもハイパーバイザーもマシンの運用者も、その中を読み取れません。ここで使われるのは、CPU側のAMD SEVまたはIntel TDXと、GPU側のNVIDIA Confidential Computingの組み合わせです。データは転送中も保存時もAES-256で暗号化され、復号されるのはTEEの_内側だけ_です。",[13,176,177,178,182],{},"これを「約束」から「保証」に変えるのが",[179,180,181],"strong",{},"リモートアテステーション","です。クライアントはデータを送る前に、TEEに対して自分が何者かを証明するよう求めます。ハードウェアは、エンクレーブの中で動いているコードが何であるかを示す、署名付きの暗号学的な証跡を返します。クライアントはそれを既知の正しい値と照合し、確認できてはじめて暗号化チャネルを張り、リクエストを送ります。まず検証、そのあとに送信、という順番です。",[13,184,185],{},[186,187],"img",{"alt":188,"src":189},"データフロー図","https://res.cloudinary.com/about-gitlab-com/image/upload/v1786033561/tjh50p5pliyu1oyftdtn.png",[13,191,192],{},"この図は、プロンプトがクライアント側で暗号化され、暗号文のまま送られ、サービス運用事業者にもクラウドプロバイダーにも読めないハードウェアTEEの中でだけ復号される流れを示しています。",[13,194,195],{},"ここから得られるセキュリティ特性が、この仕組みの核心です。AIサービスの運用事業者も、基盤となるクラウドプロバイダーも、プロンプトも生成結果もコンテキストも見られません。「見ないと約束しているから」ではなく、「ハードウェアが見せないから」です。",[27,197,24],{"id":198},"privatemode-ai",[13,200,201,205,206,211,212,217],{},[20,202,24],{"href":203,"rel":204},"https://docs.privatemode.ai/",[],"を開発しているのは、コンフィデンシャルコンピューティングソフトウェアを専門とするドイツの企業",[20,207,210],{"href":208,"rel":209},"https://edgeless.systems/",[],"Edgeless Systems","です。",[20,213,216],{"href":214,"rel":215},"https://images.nvidia.com/aem-dam/Solutions/Data-Center/confidential-computing/hpc-solution-brief-edgeless-systems-3427281.pdf?ncid=no-ncid",[],"NVIDIAは","Privatemodeを「プロンプトを常に暗号化したまま扱う初の生成AIフレームワーク」と紹介しています。",[13,219,220,221,225],{},"開発者がこの仕組みを意識する場面はありません。PrivatemodeはOpenAI互換のAPIを提供し、アテステーションと暗号化はクライアント側のプロキシが裏側で処理します。標準の",[222,223,224],"code",{},"/v1"," APIに対応したツールやSDKは、そのまま動きます。コーディング向けの現行フラッグシップは256Kコンテキストに対応したKimi K2.6で、Kimi K3やGLMなども近く追加される予定です。",[13,227,228],{},"これは実験段階の話ではありません。Privatemodeは、ここまで述べてきたような制約を抱える組織で、すでに本番運用されています。Capgeminiは機密性の高いコーディングを含む規制業界の案件で使い、ドイツ連邦雇用庁は公共部門で運用しています。銀行、保険会社、防衛関連組織も、ソースコードやデータを信頼された境界の外に出せない領域で採用しています。暗号方式はポスト量子安全で、「今のうちに集めて、あとで復号する（harvest now, decrypt later）」型の攻撃にも耐えます。将来のハードウェアで解読するつもりで今日の暗号文を盗んでも、攻撃者の手には何も残りません。",[27,230,231],{"id":231},"統合の仕組み",[13,233,234],{},"GitLab Duo Self-Hostedを使えば、GitLabが管理するゲートウェイではなく、自社が管理するモデルからDuoのAI機能を提供できます。Privatemodeは、その「自社が管理するモデル」として組み込まれます。",[13,236,237,238,241,242,244],{},"流れはシンプルです。GitLab Duoはセルフホストの",[179,239,240],{},"AIゲートウェイ","と通信し、AIゲートウェイが推論をOpenAI互換のエンドポイントに転送します。そのエンドポイントの正体が、Privatemodeプロキシです。プロキシは標準の",[222,243,224],{}," APIを公開し、Privatemodeサービスとのあいだで暗号化とアテステーションを担います。リクエストが届くと、プロキシはそれが自社ネットワークを出る前に暗号化し、アテステーションでリモートTEEを検証し、そのうえで転送します。復号が行われるのは、コンフィデンシャルコンピューティング環境の中だけです。Duo側では、コード提案、チャット、コードレビュー、エージェントフローのいずれも、開発者から見た使い勝手は変わりません。",[246,247,252],"pre",{"className":248,"code":249,"language":250,"meta":251,"style":251},"language-mermaid shiki shiki-themes github-light","sequenceDiagram\n    autonumber\n    actor Dev as 開発者 /\u003Cbr>Duo Agent Platform\n    participant GW as セルフホストのGitLab\u003Cbr>AIゲートウェイ\n    participant Proxy as Privatemode\u003Cbr>プロキシ\n    participant TEE as リモートTEE\u003Cbr>(CPU + GPU)\n\n    Dev->>GW: 推論リクエスト（コード提案、\u003Cbr>チャット、コードレビュー、\u003Cbr>エージェントフロー）\n    GW->>Proxy: OpenAI互換\u003Cbr>エンドポイントへ\u003Cbr>リクエストを転送\n\n    rect rgb(255, 244, 214)\n        Note over Proxy,TEE: コードを送る前にアテステーションを実施\n        Proxy->>TEE: アテステーション証跡を要求\n        TEE-->>Proxy: エンクレーブのコードに対する署名付き証跡\n        Proxy->>Proxy: 既知の正しい値と証跡を照合\n        Proxy->>TEE: 暗号化チャネルを確立（AES-256、ポスト量子安全）\n    end\n\n    Proxy->>TEE: 暗号化したリクエストを転送\n    Note over TEE: 復号と推論はエンクレーブ\u003Cbr>の中だけで実行される\n    TEE-->>Proxy: 暗号化されたレスポンス\n    Proxy-->>GW: 暗号化されたレスポンス\n    GW-->>Dev: 生成結果（開発者の\u003Cbr>使い勝手は変わらない）\n","mermaid","",[222,253,254,263,269,275,281,287,293,300,306,312,317,323,329,335,341,347,353,359,364,370,376,382,388],{"__ignoreMap":251},[255,256,259],"span",{"class":257,"line":258},"line",1,[255,260,262],{"class":261},"sgsFI","sequenceDiagram\n",[255,264,266],{"class":257,"line":265},2,[255,267,268],{"class":261},"    autonumber\n",[255,270,272],{"class":257,"line":271},3,[255,273,274],{"class":261},"    actor Dev as 開発者 /\u003Cbr>Duo Agent Platform\n",[255,276,278],{"class":257,"line":277},4,[255,279,280],{"class":261},"    participant GW as セルフホストのGitLab\u003Cbr>AIゲートウェイ\n",[255,282,284],{"class":257,"line":283},5,[255,285,286],{"class":261},"    participant Proxy as Privatemode\u003Cbr>プロキシ\n",[255,288,290],{"class":257,"line":289},6,[255,291,292],{"class":261},"    participant TEE as リモートTEE\u003Cbr>(CPU + GPU)\n",[255,294,296],{"class":257,"line":295},7,[255,297,299],{"emptyLinePlaceholder":298},true,"\n",[255,301,303],{"class":257,"line":302},8,[255,304,305],{"class":261},"    Dev->>GW: 推論リクエスト（コード提案、\u003Cbr>チャット、コードレビュー、\u003Cbr>エージェントフロー）\n",[255,307,309],{"class":257,"line":308},9,[255,310,311],{"class":261},"    GW->>Proxy: OpenAI互換\u003Cbr>エンドポイントへ\u003Cbr>リクエストを転送\n",[255,313,315],{"class":257,"line":314},10,[255,316,299],{"emptyLinePlaceholder":298},[255,318,320],{"class":257,"line":319},11,[255,321,322],{"class":261},"    rect rgb(255, 244, 214)\n",[255,324,326],{"class":257,"line":325},12,[255,327,328],{"class":261},"        Note over Proxy,TEE: コードを送る前にアテステーションを実施\n",[255,330,332],{"class":257,"line":331},13,[255,333,334],{"class":261},"        Proxy->>TEE: アテステーション証跡を要求\n",[255,336,338],{"class":257,"line":337},14,[255,339,340],{"class":261},"        TEE-->>Proxy: エンクレーブのコードに対する署名付き証跡\n",[255,342,344],{"class":257,"line":343},15,[255,345,346],{"class":261},"        Proxy->>Proxy: 既知の正しい値と証跡を照合\n",[255,348,350],{"class":257,"line":349},16,[255,351,352],{"class":261},"        Proxy->>TEE: 暗号化チャネルを確立（AES-256、ポスト量子安全）\n",[255,354,356],{"class":257,"line":355},17,[255,357,358],{"class":261},"    end\n",[255,360,362],{"class":257,"line":361},18,[255,363,299],{"emptyLinePlaceholder":298},[255,365,367],{"class":257,"line":366},19,[255,368,369],{"class":261},"    Proxy->>TEE: 暗号化したリクエストを転送\n",[255,371,373],{"class":257,"line":372},20,[255,374,375],{"class":261},"    Note over TEE: 復号と推論はエンクレーブ\u003Cbr>の中だけで実行される\n",[255,377,379],{"class":257,"line":378},21,[255,380,381],{"class":261},"    TEE-->>Proxy: 暗号化されたレスポンス\n",[255,383,385],{"class":257,"line":384},22,[255,386,387],{"class":261},"    Proxy-->>GW: 暗号化されたレスポンス\n",[255,389,391],{"class":257,"line":390},23,[255,392,393],{"class":261},"    GW-->>Dev: 生成結果（開発者の\u003Cbr>使い勝手は変わらない）\n",[157,395],{},[13,397,398,399,404],{},"シーケンス図が示すのは、GitLab DuoのリクエストがセルフホストのAIゲートウェイからPrivatemodeプロキシに渡り、プロキシがリモートエンクレーブをアテステーションして暗号化チャネルを確立したうえで、信頼実行環境での推論にリクエストを回すまでの流れです。\nAIゲートウェイとプロキシは自社で運用します。デプロイ方式は問いません（Linuxパッケージ、Docker、Kubernetesのいずれでも構いません）。手順はバージョンごとにドキュメント化されているので、ここで繰り返すのではなく、",[20,400,403],{"href":401,"rel":402},"https://www.privatemode.ai/coding-tool/gitlab-duo",[],"PrivatemodeのGitLab Duo統合ガイド","をご覧ください。",[27,406,407],{"id":407},"トレードオフ",[13,409,410],{},"ただで手に入るアーキテクチャはありません。技術者の読者には、コストも正直にお伝えします。",[13,412,413,416],{},[179,414,415],{},"ゲートウェイとプロキシは自社で運用します。"," これは実際のインフラ作業です。適切なホスト名でAIゲートウェイをデプロイし、アップグレードのたびにイメージのバージョンをGitLabのリリースに合わせ、JWTキーと証明書を設定し、プロキシを到達可能な状態に保つ必要があります。とはいえ、これは通常のインフラ運用の範囲であって、GPUの調達でもモデル運用でもありません。この違いが重要です。コードを守るもう一つの選択肢である自前のLLMスタックは、品薄のGPUを買い、モデルの運用と更新を担うチームを抱え、それでもフロンティアに遅れ続けることを意味します。Privatemodeはホスト型SaaSとしてモデル運用を引き受けるため、手元に残る負担はプロキシとゲートウェイだけです。",[13,418,419,422],{},[179,420,421],{},"汎用のOpenAI互換モデルは、GitLab Duo Self-Hostedではまだ成熟の途上です。"," 現時点ではベータ機能のため、モデル固有の問題へのサポートはまだ保証されていません。強化はロードマップに入っていますが、いますぐ完全にサポートされた構成が必要なら、そのタイムラインを展開計画に織り込んでください。",[13,424,425,428],{},[179,426,427],{},"アテステーションと暗号化には、多少のオーバーヘッドが伴います。"," 追加のラウンドトリップと暗号処理のぶん、リクエストごとに時間がかかります。私たちのテストでは実用上の問題にはなっていませんが、統合ガイドでは応答の遅いセルフホストバックエンド向けにAIゲートウェイのタイムアウトを延ばすことを推奨しています。自社のレイテンシ要件に照らして、一度計測しておくと安心です。",[13,430,431,434],{},[179,432,433],{},"信頼する対象はなくなりませんが、その範囲は狭まります。"," この保証は、ハードウェアTEEとアテステーションチェーンが健全であることを前提にしています。「運用事業者が覗かないと信じる」よりもはるかに小さく、検証しやすい前提であり、アテステーションの証跡は自分の手で確かめられます。それでもゼロではありません。コンフィデンシャルコンピューティングは信頼の範囲をシリコンまで狭めますが、信頼そのものを消し去るわけではないのです。",[27,436,437],{"id":437},"実務にとっての意味",[439,440,441,448,454],"ul",{},[442,443,444,447],"li",{},[179,445,446],{},"規制業界の組織にとって："," 既存の知的財産保護・データ保護ポリシーを崩さずに、最新のAIコーディングエージェントを使えるようになります。コードはハードウェアで暗号化された境界の内側にとどまり、GPUの購入もモデル運用体制の構築も必要ありません。",[442,449,450,453],{},[179,451,452],{},"開発者にとって："," GitLab Duoの使い勝手はこれまでどおり、モデルは同等かそれ以上、新しく覚えるツールもありません。モデルの選択はインスタンス側で管理されるため、GitLab Workflow拡張機能を通じたエディタ内のチャットとコード提案も、同じコンフィデンシャルな構成をそのまま引き継ぎます。",[442,455,456,459],{},[179,457,458],{},"コンプライアンス・セキュリティチームにとって："," このアーキテクチャは、コンフィデンシャルコンピューティングとリモートアテステーションへ向かうBSI C5:2026の方向性と合致します。NIS2、DORA、GDPRをめぐる議論には、「使用中のデータが暗号化されている」「実行がアテステーションされている」という具体的な技術的根拠を持ち込めます。もちろん、これだけでコンプライアンスが満たされるわけではありません。コンプライアンスは組織的かつ継続的な取り組みだからです。それでも、AI導入をそもそも止めている「自社のコードが境界の外に出てしまう」という反対理由は、これで取り除けます。",[27,461,463],{"id":462},"privatemodeを使ってみる","Privatemodeを使ってみる",[13,465,466,467,472],{},"PrivatemodeをGitLab Duoのセルフホストモデルプロバイダーとして使うには、GitLab Self-Managedのバージョン17.9以降（PremiumまたはUltimate）と、GitLab Duo Enterpriseアドオンが必要です。エージェントフローを使う場合は、さらにGitLab Duo Agent Platform（バージョン18.8以降で一般提供）が必要になります。利用時には、",[20,468,471],{"href":469,"rel":470},"https://docs.gitlab.com/ja-jp/subscriptions/gitlab_credits/",[],"GitLabクレジットのドキュメント","に記載されたBYOM（Bring Your Own Model）のルールと係数に従って、GitLabクレジットが消費されます。",[27,474,475],{"id":475},"さらに詳しく",[439,477,478,484,490,497,504],{},[442,479,480],{},[20,481,483],{"href":203,"rel":482},[],"Privatemodeのドキュメント",[442,485,486],{},[20,487,489],{"href":401,"rel":488},[],"GitLab Duo統合ガイド",[442,491,492],{},[20,493,496],{"href":494,"rel":495},"https://docs.privatemode.ai/guides/coding-assistants/",[],"コーディングアシスタントガイド",[442,498,499],{},[20,500,503],{"href":501,"rel":502},"https://www.privatemode.ai/case-studies/capgemini-case-study",[],"Capgeminiの事例",[442,505,506],{},[20,507,509],{"href":214,"rel":508},[],"NVIDIAソリューションブリーフ",[511,512,513],"style",{},"html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":251,"searchDepth":265,"depth":265,"links":515},[516,517,518,519,520,521,522,523,524,525],{"id":29,"depth":265,"text":29},{"id":44,"depth":265,"text":44},{"id":56,"depth":265,"text":57},{"id":170,"depth":265,"text":171},{"id":198,"depth":265,"text":24},{"id":231,"depth":265,"text":231},{"id":407,"depth":265,"text":407},{"id":437,"depth":265,"text":437},{"id":462,"depth":265,"text":463},{"id":475,"depth":265,"text":475},"engineering","2026-08-06","ソースコードをハードウェアで暗号化された境界の外に出すことなく、GitLab DuoのAIコーディングエージェントを開発者に提供します。GPUは不要です。","md",null,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773866173/vte9qh8rriznvyclhkes.png",{},"/ja-jp/blog/confidential-ai-for-gitlab-self-hosted",{"config":535,"title":5,"description":528},{"noIndex":536},false,"confidential-ai-for-gitlab-self-hosted","ja-jp/blog/confidential-ai-for-gitlab-self-hosted",[540,541],"AI","product","BlogPost","2026-08-07","dk-kfzl0OT2DUhyuig2tAYVH1rCrt_j32DmQML7_SIM",{"logo":546,"freeTrial":551,"sales":556,"login":561,"items":566,"search":894,"minimal":927,"duo":944,"switchNav":953,"pricingDeployment":964},{"config":547},{"href":548,"dataGaName":549,"dataGaLocation":550},"/ja-jp/","gitlab logo","header",{"text":552,"config":553},"無料トライアルを開始",{"href":554,"dataGaName":555,"dataGaLocation":550},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp&glm_content=default-saas-trial/","free trial",{"text":557,"config":558},"デモをリクエスト",{"href":559,"dataGaName":560,"dataGaLocation":550},"/ja-jp/sales/?contact-topic=request-demo","sales",{"text":562,"config":563},"サインイン",{"href":564,"dataGaName":565,"dataGaLocation":550},"https://gitlab.com/users/sign_in/","sign in",[567,595,697,702,816,872],{"text":568,"config":569,"menu":571},"プラットフォーム",{"dataNavLevelOne":570},"platform",{"type":572,"columns":573},"cards",[574,580,587],{"title":568,"description":575,"link":576},"DevSecOpsに特化したインテリジェントオーケストレーションプラットフォーム",{"text":577,"config":578},"プラットフォームの詳細はこちら",{"href":579,"dataGaName":570,"dataGaLocation":550},"/ja-jp/platform/",{"title":37,"description":581,"link":582},"ソフトウェアライフサイクル全体を支えるエージェント型AI",{"text":583,"config":584},"GitLab Duoのご紹介",{"href":585,"dataGaName":586,"dataGaLocation":550},"/ja-jp/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":588,"description":589,"link":590},"GitLabが選ばれる理由","エンタープライズがGitLabを選ぶ主な理由をご覧ください",{"text":591,"config":592},"詳細はこちら",{"href":593,"dataGaName":594,"dataGaLocation":550},"/ja-jp/why-gitlab/","why gitlab",{"text":596,"left":298,"config":597,"menu":599},"製品",{"dataNavLevelOne":598},"solutions",{"type":600,"link":601,"columns":605,"feature":676},"lists",{"text":602,"config":603},"すべてのソリューションを表示",{"href":604,"dataGaName":598,"dataGaLocation":550},"/ja-jp/solutions/",[606,631,654],{"title":607,"description":608,"link":609,"items":614},"自動化","CI/CDと自動化でデプロイを加速",{"config":610},{"icon":611,"href":612,"dataGaName":613,"dataGaLocation":550},"AutomatedCodeAlt","/ja-jp/solutions/delivery-automation/","automated software delivery",[615,619,622,627],{"text":616,"config":617},"CI/CD",{"href":618,"dataGaLocation":550,"dataGaName":616},"/ja-jp/solutions/continuous-integration/",{"text":37,"config":620},{"href":585,"dataGaLocation":550,"dataGaName":621},"gitlab duo agent platform - product menu",{"text":623,"config":624},"ソースコード管理",{"href":625,"dataGaLocation":550,"dataGaName":626},"/ja-jp/solutions/source-code-management/","Source Code Management",{"text":628,"config":629},"自動化されたソフトウェアデリバリー",{"href":612,"dataGaLocation":550,"dataGaName":630},"Automated software delivery",{"title":632,"description":633,"link":634,"items":639},"セキュリティ","セキュリティを犠牲にすることなくコード作成を高速化",{"config":635},{"href":636,"dataGaName":637,"dataGaLocation":550,"icon":638},"/ja-jp/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[640,644,649],{"text":641,"config":642},"アプリケーションセキュリティテスト",{"href":636,"dataGaName":643,"dataGaLocation":550},"Application security testing",{"text":645,"config":646},"ソフトウェアサプライチェーンセキュリティ",{"href":647,"dataGaLocation":550,"dataGaName":648},"/ja-jp/solutions/supply-chain/","Software supply chain security",{"text":650,"config":651},"ソフトウェアコンプライアンス",{"href":652,"dataGaName":653,"dataGaLocation":550},"/ja-jp/solutions/software-compliance/","software compliance",{"title":655,"link":656,"items":661},"測定",{"config":657},{"icon":658,"href":659,"dataGaName":660,"dataGaLocation":550},"DigitalTransformation","/ja-jp/solutions/visibility-measurement/","visibility and measurement",[662,666,671],{"text":663,"config":664},"可視性と測定",{"href":659,"dataGaLocation":550,"dataGaName":665},"Visibility and Measurement",{"text":667,"config":668},"バリューストリーム管理",{"href":669,"dataGaLocation":550,"dataGaName":670},"/ja-jp/solutions/value-stream-management/","Value Stream Management",{"text":672,"config":673},"分析とインサイト",{"href":674,"dataGaLocation":550,"dataGaName":675},"/ja-jp/solutions/analytics-and-insights/","Analytics and insights",{"title":677,"type":600,"items":678},"GitLabが活躍する場所",[679,685,691],{"text":680,"config":681},"大企業",{"icon":682,"href":683,"dataGaLocation":550,"dataGaName":684},"Building","/ja-jp/enterprise/","enterprise",{"text":686,"config":687},"スモールビジネス",{"icon":688,"href":689,"dataGaLocation":550,"dataGaName":690},"Work","/ja-jp/small-business/","small business",{"text":692,"config":693},"公共部門",{"icon":694,"href":695,"dataGaLocation":550,"dataGaName":696},"Organization","/ja-jp/solutions/public-sector/","public sector",{"text":698,"config":699},"価格",{"href":700,"dataGaName":701,"dataGaLocation":550,"dataNavLevelOne":701},"/ja-jp/pricing/","pricing",{"text":703,"config":704,"menu":706},"関連リソース",{"dataNavLevelOne":705},"resources",{"type":600,"link":707,"columns":711,"feature":805},{"text":708,"config":709},"すべてのリソースを表示",{"href":710,"dataGaName":705,"dataGaLocation":550},"/ja-jp/resources/",[712,745,772],{"title":713,"items":714},"はじめに",[715,720,725,730,735,740],{"text":716,"config":717},"インストール",{"href":718,"dataGaName":719,"dataGaLocation":550},"/ja-jp/install/","install",{"text":721,"config":722},"クイックスタートガイド",{"href":723,"dataGaName":724,"dataGaLocation":550},"/ja-jp/get-started/","quick setup checklists",{"text":726,"config":727},"学ぶ",{"href":728,"dataGaLocation":550,"dataGaName":729},"https://university.gitlab.com/","learn",{"text":731,"config":732},"製品ドキュメント",{"href":733,"dataGaName":734,"dataGaLocation":550},"https://docs.gitlab.com/ja-jp/","product documentation",{"text":736,"config":737},"ベストプラクティスビデオ",{"href":738,"dataGaName":739,"dataGaLocation":550},"/ja-jp/getting-started-videos/","best practice videos",{"text":741,"config":742},"インテグレーション",{"href":743,"dataGaName":744,"dataGaLocation":550},"/ja-jp/integrations/","integrations",{"title":746,"items":747},"検索する",[748,753,758,763,767],{"text":749,"config":750},"お客様成功事例",{"href":751,"dataGaName":752,"dataGaLocation":550},"/ja-jp/customers/","customer success stories",{"text":754,"config":755},"ブログ",{"href":756,"dataGaName":757,"dataGaLocation":550},"/ja-jp/blog/","blog",{"text":759,"config":760},"Demo Hub",{"href":761,"dataGaName":762,"dataGaLocation":550},"/ja-jp/demo-hub/","demo hub",{"text":764,"config":765},"The Source",{"href":766,"dataGaName":757,"dataGaLocation":550},"/ja-jp/the-source/",{"text":768,"config":769},"リモート",{"href":770,"dataGaName":771,"dataGaLocation":550},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":773,"items":774},"つなげる",[775,780,785,790,795,800],{"text":776,"config":777},"GitLabサービス",{"href":778,"dataGaName":779,"dataGaLocation":550},"/ja-jp/services/","services",{"text":781,"config":782},"コントリビュート",{"href":783,"dataGaName":784,"dataGaLocation":550},"https://contributors.gitlab.com","contribute",{"text":786,"config":787},"コミュニティ",{"href":788,"dataGaName":789,"dataGaLocation":550},"/community/","community",{"text":791,"config":792},"フォーラム",{"href":793,"dataGaName":794,"dataGaLocation":550},"https://forum.gitlab.com/","forum",{"text":796,"config":797},"イベント",{"href":798,"dataGaName":799,"dataGaLocation":550},"/events/","events",{"text":801,"config":802},"パートナー",{"href":803,"dataGaName":804,"dataGaLocation":550},"/ja-jp/partners/","partners",{"config":806,"title":809,"text":810,"link":811},{"background":807,"textColor":808},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","GitLabの最新情報","最新の機能と改善点に関する情報をお届けします。",{"text":812,"config":813},"最新情報を読む",{"href":814,"dataGaName":815,"dataGaLocation":550},"/ja-jp/whats-new/","whats new",{"text":817,"config":818,"menu":820},"企業情報",{"dataNavLevelOne":819},"company",{"type":600,"columns":821},[822],{"items":823},[824,829,835,837,842,847,852,857,862,867],{"text":825,"config":826},"GitLabについて",{"href":827,"dataGaName":828,"dataGaLocation":550},"/ja-jp/company/","about",{"text":830,"config":831,"footerGa":834},"採用情報",{"href":832,"dataGaName":833,"dataGaLocation":550},"/jobs/","jobs",{"dataGaName":833},{"text":796,"config":836},{"href":798,"dataGaName":799,"dataGaLocation":550},{"text":838,"config":839},"経営陣",{"href":840,"dataGaName":841,"dataGaLocation":550},"/company/team/e-group/","leadership",{"text":843,"config":844},"ハンドブック",{"href":845,"dataGaName":846,"dataGaLocation":550},"https://handbook.gitlab.com/","handbook",{"text":848,"config":849},"投資家向け情報",{"href":850,"dataGaName":851,"dataGaLocation":550},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":853,"config":854},"トラストセンター",{"href":855,"dataGaName":856,"dataGaLocation":550},"/ja-jp/security/","trust center",{"text":858,"config":859},"AI Transparency Center",{"href":860,"dataGaName":861,"dataGaLocation":550},"/ja-jp/ai-transparency-center/","ai transparency center",{"text":863,"config":864},"ニュースレター",{"href":865,"dataGaName":866,"dataGaLocation":550},"/company/contact/#contact-forms","newsletter",{"text":868,"config":869},"プレス",{"href":870,"dataGaName":871,"dataGaLocation":550},"/press/","press",{"text":873,"config":874,"menu":875},"お問い合わせ",{"dataNavLevelOne":819},{"type":600,"columns":876},[877],{"items":878},[879,884,889],{"text":880,"config":881},"お問い合わせはこちら",{"href":882,"dataGaName":883,"dataGaLocation":550},"/ja-jp/sales/","talk to sales",{"text":885,"config":886},"サポートを受ける",{"href":887,"dataGaName":888,"dataGaLocation":550},"https://support.gitlab.com/hc/en-us","support portal",{"text":890,"config":891},"カスタマーポータル",{"href":892,"dataGaName":893,"dataGaLocation":550},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":895,"login":896,"suggestions":903},"閉じる",{"text":897,"link":898},"リポジトリとプロジェクトを検索するには、次にログインします",{"text":899,"config":900},"GitLab.com",{"href":564,"dataGaName":901,"dataGaLocation":902},"search login","search",{"text":904,"default":905},"提案",[906,908,913,915,919,923],{"text":37,"config":907},{"href":585,"dataGaName":37,"dataGaLocation":902},{"text":909,"config":910},"コード提案（AI）",{"href":911,"dataGaName":912,"dataGaLocation":902},"/ja-jp/solutions/code-suggestions/","Code Suggestions (AI)",{"text":616,"config":914},{"href":618,"dataGaName":616,"dataGaLocation":902},{"text":916,"config":917},"GitLab on AWS",{"href":918,"dataGaName":916,"dataGaLocation":902},"/ja-jp/partners/technology-partners/aws/",{"text":920,"config":921},"GitLab on Google Cloud",{"href":922,"dataGaName":920,"dataGaLocation":902},"/ja-jp/partners/technology-partners/google-cloud-platform/",{"text":924,"config":925},"GitLabを選ぶ理由",{"href":593,"dataGaName":926,"dataGaLocation":902},"Why GitLab?",{"freeTrial":928,"mobileIcon":932,"desktopIcon":937,"secondaryButton":940},{"text":552,"config":929},{"href":930,"dataGaName":555,"dataGaLocation":931},"https://gitlab.com/-/trials/new/","nav",{"altText":933,"config":934},"GitLabアイコン",{"src":935,"dataGaName":936,"dataGaLocation":931},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":933,"config":938},{"src":939,"dataGaName":936,"dataGaLocation":931},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":713,"config":941},{"href":942,"dataGaName":943,"dataGaLocation":931},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp/get-started/","get started",{"freeTrial":945,"mobileIcon":949,"desktopIcon":951},{"text":946,"config":947},"GitLab Duoの詳細について",{"href":585,"dataGaName":948,"dataGaLocation":931},"gitlab duo",{"altText":933,"config":950},{"src":935,"dataGaName":936,"dataGaLocation":931},{"altText":933,"config":952},{"src":939,"dataGaName":936,"dataGaLocation":931},{"button":954,"mobileIcon":959,"desktopIcon":961},{"text":955,"config":956},"/switch",{"href":957,"dataGaName":958,"dataGaLocation":931},"#contact","switch",{"altText":933,"config":960},{"src":935,"dataGaName":936,"dataGaLocation":931},{"altText":933,"config":962},{"src":963,"dataGaName":936,"dataGaLocation":931},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":965,"mobileIcon":970,"desktopIcon":972},{"text":966,"config":967},"料金ページに戻る",{"href":700,"dataGaName":968,"dataGaLocation":931,"icon":969},"back to pricing","GoBack",{"altText":933,"config":971},{"src":935,"dataGaName":936,"dataGaLocation":931},{"altText":933,"config":973},{"src":939,"dataGaName":936,"dataGaLocation":931},{"title":975,"button":976,"config":980},"GitLab Orbitが登場: AIエージェントのためのコンテキストレイヤー",{"text":591,"config":977},{"href":978,"dataGaName":979,"dataGaLocation":550},"/ja-jp/gitlab-orbit/","orbit",{"layout":981,"disabled":536},"release",{"data":983},{"text":984,"source":985,"edit":991,"contribute":996,"config":1001,"items":1006,"minimal":1215},"GitはSoftware Freedom Conservancyの商標です。当社は「GitLab」をライセンスに基づいて使用しています",{"text":986,"config":987},"ページのソースを表示",{"href":988,"dataGaName":989,"dataGaLocation":990},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":992,"config":993},"このページを編集",{"href":994,"dataGaName":995,"dataGaLocation":990},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":997,"config":998},"ご協力をお願いします",{"href":999,"dataGaName":1000,"dataGaLocation":990},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":1002,"facebook":1003,"youtube":1004,"linkedin":1005},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[1007,1052,1105,1148,1182],{"title":698,"links":1008,"subMenu":1023},[1009,1013,1018],{"text":1010,"config":1011},"プランの表示",{"href":700,"dataGaName":1012,"dataGaLocation":990},"view plans",{"text":1014,"config":1015},"Premiumを選ぶ理由",{"href":1016,"dataGaName":1017,"dataGaLocation":990},"/ja-jp/pricing/premium/","why premium",{"text":1019,"config":1020},"Ultimateを選ぶ理由",{"href":1021,"dataGaName":1022,"dataGaLocation":990},"/ja-jp/pricing/ultimate/","why ultimate",[1024],{"title":873,"links":1025},[1026,1028,1030,1032,1037,1042,1047],{"text":873,"config":1027},{"href":882,"dataGaName":560,"dataGaLocation":990},{"text":885,"config":1029},{"href":887,"dataGaName":888,"dataGaLocation":990},{"text":890,"config":1031},{"href":892,"dataGaName":893,"dataGaLocation":990},{"text":1033,"config":1034},"ステータス",{"href":1035,"dataGaName":1036,"dataGaLocation":990},"https://status.gitlab.com/","status",{"text":1038,"config":1039},"利用規約",{"href":1040,"dataGaName":1041,"dataGaLocation":990},"/terms/","terms of use",{"text":1043,"config":1044},"プライバシーに関する声明",{"href":1045,"dataGaName":1046,"dataGaLocation":990},"/ja-jp/privacy/","privacy statement",{"text":1048,"config":1049},"Cookie 優先設定",{"dataGaName":1050,"dataGaLocation":990,"id":1051,"isOneTrustButton":298},"cookie preferences","ot-sdk-btn",{"title":596,"links":1053,"subMenu":1062},[1054,1058],{"text":1055,"config":1056},"DevSecOpsプラットフォーム",{"href":579,"dataGaName":1057,"dataGaLocation":990},"devsecops platform",{"text":1059,"config":1060},"AI支援開発",{"href":585,"dataGaName":1061,"dataGaLocation":990},"ai-assisted development",[1063],{"title":1064,"links":1065},"トピック",[1066,1070,1075,1080,1085,1090,1095,1100],{"text":616,"config":1067},{"href":1068,"dataGaName":1069,"dataGaLocation":990},"/ja-jp/topics/ci-cd/","cicd",{"text":1071,"config":1072},"GitOps",{"href":1073,"dataGaName":1074,"dataGaLocation":990},"/ja-jp/topics/gitops/","gitops",{"text":1076,"config":1077},"DevOps",{"href":1078,"dataGaName":1079,"dataGaLocation":990},"/ja-jp/topics/devops/","devops",{"text":1081,"config":1082},"バージョン管理",{"href":1083,"dataGaName":1084,"dataGaLocation":990},"/ja-jp/topics/version-control/","version control",{"text":1086,"config":1087},"DevSecOps",{"href":1088,"dataGaName":1089,"dataGaLocation":990},"/ja-jp/topics/devsecops/","devsecops",{"text":1091,"config":1092},"クラウドネイティブ",{"href":1093,"dataGaName":1094,"dataGaLocation":990},"/ja-jp/topics/cloud-native/","cloud native",{"text":1096,"config":1097},"コーディングのためのAI",{"href":1098,"dataGaName":1099,"dataGaLocation":990},"/ja-jp/topics/devops/ai-for-coding/","ai for coding",{"text":1101,"config":1102},"エージェント型AI",{"href":1103,"dataGaName":1104,"dataGaLocation":990},"/ja-jp/topics/agentic-ai/","agentic ai",{"title":1106,"links":1107},"ソリューション",[1108,1111,1113,1118,1122,1125,1128,1131,1133,1135,1138,1143],{"text":641,"config":1109},{"href":636,"dataGaName":1110,"dataGaLocation":990},"Application Security Testing",{"text":628,"config":1112},{"href":612,"dataGaName":613,"dataGaLocation":990},{"text":1114,"config":1115},"アジャイル開発",{"href":1116,"dataGaName":1117,"dataGaLocation":990},"/ja-jp/solutions/agile-delivery/","agile delivery",{"text":1119,"config":1120},"SCM",{"href":625,"dataGaName":1121,"dataGaLocation":990},"source code management",{"text":616,"config":1123},{"href":618,"dataGaName":1124,"dataGaLocation":990},"continuous integration & delivery",{"text":667,"config":1126},{"href":669,"dataGaName":1127,"dataGaLocation":990},"value stream management",{"text":1071,"config":1129},{"href":1130,"dataGaName":1074,"dataGaLocation":990},"/ja-jp/solutions/gitops/",{"text":680,"config":1132},{"href":683,"dataGaName":684,"dataGaLocation":990},{"text":686,"config":1134},{"href":689,"dataGaName":690,"dataGaLocation":990},{"text":1136,"config":1137},"公共機関",{"href":695,"dataGaName":696,"dataGaLocation":990},{"text":1139,"config":1140},"教育",{"href":1141,"dataGaName":1142,"dataGaLocation":990},"/ja-jp/solutions/education/","education",{"text":1144,"config":1145},"金融サービス",{"href":1146,"dataGaName":1147,"dataGaLocation":990},"/ja-jp/solutions/finance/","financial services",{"title":1149,"links":1150},"リソース",[1151,1153,1155,1157,1161,1163,1166,1168,1170,1172,1174,1176,1178,1180],{"text":716,"config":1152},{"href":718,"dataGaName":719,"dataGaLocation":990},{"text":721,"config":1154},{"href":723,"dataGaName":724,"dataGaLocation":990},{"text":726,"config":1156},{"href":728,"dataGaName":729,"dataGaLocation":990},{"text":731,"config":1158},{"href":1159,"dataGaName":1160,"dataGaLocation":990},"https://docs.gitlab.com/ja-jp","docs",{"text":754,"config":1162},{"href":756,"dataGaName":757,"dataGaLocation":990},{"text":1164,"config":1165},"最新リリース",{"href":814,"dataGaName":815,"dataGaLocation":990},{"text":749,"config":1167},{"href":751,"dataGaName":752,"dataGaLocation":990},{"text":768,"config":1169},{"href":770,"dataGaName":771,"dataGaLocation":990},{"text":776,"config":1171},{"href":778,"dataGaName":779,"dataGaLocation":990},{"text":781,"config":1173},{"href":783,"dataGaName":784,"dataGaLocation":990},{"text":786,"config":1175},{"href":788,"dataGaName":789,"dataGaLocation":990},{"text":791,"config":1177},{"href":793,"dataGaName":794,"dataGaLocation":990},{"text":796,"config":1179},{"href":798,"dataGaName":799,"dataGaLocation":990},{"text":801,"config":1181},{"href":803,"dataGaName":804,"dataGaLocation":990},{"title":1183,"links":1184},"会社情報",[1185,1187,1189,1191,1193,1195,1199,1204,1206,1208,1210],{"text":825,"config":1186},{"href":827,"dataGaName":819,"dataGaLocation":990},{"text":830,"config":1188},{"href":832,"dataGaName":833,"dataGaLocation":990},{"text":838,"config":1190},{"href":840,"dataGaName":841,"dataGaLocation":990},{"text":843,"config":1192},{"href":845,"dataGaName":846,"dataGaLocation":990},{"text":848,"config":1194},{"href":850,"dataGaName":851,"dataGaLocation":990},{"text":1196,"config":1197},"Sustainability",{"href":1198,"dataGaName":1196,"dataGaLocation":990},"/sustainability/",{"text":1200,"config":1201},"ダイバーシティ、インクルージョン、ビロンギング（DIB）",{"href":1202,"dataGaName":1203,"dataGaLocation":990},"/ja-jp/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":853,"config":1205},{"href":855,"dataGaName":856,"dataGaLocation":990},{"text":863,"config":1207},{"href":865,"dataGaName":866,"dataGaLocation":990},{"text":868,"config":1209},{"href":870,"dataGaName":871,"dataGaLocation":990},{"text":1211,"config":1212},"現代奴隷制の透明性に関する声明",{"href":1213,"dataGaName":1214,"dataGaLocation":990},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1216},[1217,1219,1222],{"text":1038,"config":1218},{"href":1040,"dataGaName":1041,"dataGaLocation":990},{"text":1220,"config":1221},"Cookieの設定",{"dataGaName":1050,"dataGaLocation":990,"id":1051,"isOneTrustButton":298},{"text":1043,"config":1223},{"href":1045,"dataGaName":1046,"dataGaLocation":990},[1225,1239],{"id":1226,"title":7,"body":530,"config":1227,"content":1229,"description":530,"extension":1233,"meta":1234,"navigation":298,"path":1235,"seo":1236,"stem":1237,"__hash__":1238},"blogAuthors/en-us/blog/authors/mathias-ewald.yml",{"template":1228},"BlogAuthor",{"name":7,"config":1230},{"headshot":1231,"ctfId":1232},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664526/Blog/Author%20Headshots/mathias_ewald_headshot.png","7vLTPhU3yvh4xTToXcLpg9","yml",{},"/en-us/blog/authors/mathias-ewald",{},"en-us/blog/authors/mathias-ewald","6h3mh_Isl2z7n-akRG5H9ijs9YS5wqTMLWKfyPjjDyQ",{"id":1240,"title":1241,"body":530,"config":1242,"content":1243,"description":530,"extension":1233,"meta":1247,"navigation":298,"path":1248,"seo":1249,"stem":1250,"__hash__":1251},"blogAuthors/en-us/blog/authors/martin-paloncy.yml","Martin Paloncy",{"template":1228},{"name":8,"config":1244},{"headshot":1245,"ctfId":1246},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1785326039/hwas3seqhkctvhkj8ef7.jpg","4vZLX2E8BoR3LCNoYdooCY",{},"/en-us/blog/authors/martin-paloncy",{},"en-us/blog/authors/martin-paloncy","lP6L0Yy34oAq9nOHHCrtZUp0OkRpvnwh33V8M10Qv0Y",[1253,1259,1265],{"title":1254,"description":1254,"heroImage":1255,"category":526,"date":543,"authors":1256,"slug":1258,"externalUrl":530},"MCPサーバーとは？仕組みやソフトウェア開発の活用例をわかりやすく解説","https://res.cloudinary.com/about-gitlab-com/image/upload/v1786001428/qedvughylmeposoqm5zs.jpg",[1257],"GitLab Team","what-is-mcp-server",{"title":1260,"description":1261,"heroImage":1262,"category":526,"date":527,"authors":1263,"slug":1264,"externalUrl":530},"イテレーションとは？意味や進め方、おすすめの支援ツールを紹介","イテレーションとは、アジャイル開発における「反復」を意味する開発単位です。本記事では、イテレーションの意味やスプリントとの違い、具体的な進め方、成功のポイントをわかりやすく解説します。アジャイル開発を支援するツールもあわせて紹介します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1785816755/mj23yaguu0gxvbztd6pl.jpg",[1257],"what-is-iteration",{"title":1266,"description":1267,"heroImage":1268,"category":526,"date":1269,"authors":1270,"slug":1271,"externalUrl":530},"ミドルウェアとは？役割や種類、メリット、ユースケースを解説","ミドルウェアの基本概念から種類、役割、導入メリット、具体的なユースケースまでを初心者にもわかりやすく解説。システム・アプリ開発を効率化したい方におすすめの記事です。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1785814740/uqj34zdbhnhcq6zhiujh.jpg","2026-08-05",[1257],"what-is-middleware",{"promotions":1273},[1274,1288,1299,1311],{"id":1275,"categories":1276,"header":1278,"text":1279,"button":1280,"image":1285},"ai-modernization",[1277],"ai","AIの真価、組織全体で発揮できていますか？","所要時間は5分以内です",{"text":1281,"config":1282},"AI成熟度スコアを確認する",{"href":1283,"dataGaName":1284,"dataGaLocation":757},"/ja-jp/assessments/ai-modernization-assessment/","modernization assessment",{"config":1286},{"src":1287},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1289,"categories":1290,"header":1291,"text":1279,"button":1292,"image":1296},"devops-modernization",[541,1089],"単にツールを管理するだけでなく、イノベーションを提供していますか？",{"text":1293,"config":1294},"DevOps成熟度スコアを確認しましょう",{"href":1295,"dataGaName":1284,"dataGaLocation":757},"/ja-jp/assessments/devops-modernization-assessment/",{"config":1297},{"src":1298},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1300,"categories":1301,"header":1303,"text":1279,"button":1304,"image":1308},"security-modernization",[1302],"security","スピードのためにセキュリティを犠牲にしていませんか？",{"text":1305,"config":1306},"セキュリティ成熟度スコアを確認しましょう",{"href":1307,"dataGaName":1284,"dataGaLocation":757},"/ja-jp/assessments/security-modernization-assessment/",{"config":1309},{"src":1310},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1312,"paths":1313,"header":1316,"text":1317,"button":1318,"image":1323},"github-azure-migration",[1314,1315],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","チームはGitHubのAzure移行に対応できていますか？","GitHubはすでにAzureを基盤として再構築を進めています。それがあなたのチームにとって何を意味するのか、ご確認ください。",{"text":1319,"config":1320},"GitLabとGitHubの比較を見る",{"href":1321,"dataGaName":1322,"dataGaLocation":757},"/ja-jp/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1324},{"src":1298},{"header":1326,"blurb":1327,"button":1328,"secondaryButton":1332},"今すぐ開発をスピードアップ","DevSecOpsに特化したインテリジェントオーケストレーションプラットフォームで実現できることをご確認ください。\n",{"text":552,"config":1329},{"href":1330,"dataGaName":555,"dataGaLocation":1331},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/ja-jp/","feature",{"text":873,"config":1333},{"href":882,"dataGaName":560,"dataGaLocation":1331},1786803752206]