legal-tos-privacy について
legal-tos-privacyは、コードベースやマーケティング資料をもとに利用規約とプライバシーポリシーを作成するスキルです。データの取り扱いやサービス情報を調査し、法域別のガイドを参照したうえで、発見・推定できない情報のみを尋ねます。
主な機能
- 01コードとマーケティング資料の監査
- 02企業・サービス・データ取り扱い情報の抽出
- 03利用規約とプライバシーポリシーの作成
- 04法域別コンプライアンス資料の参照
- 05残ったテンプレート変数をユーザー入力で解決
活用シーン
- 01ソフトウェアサービスの法的文書の作成
- 02データ収集と第三者へのデータ共有の確認
- 03法域要件を考慮したポリシー草案の準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ miketromba/ skills --skill legal-tos-privacyインストール後、Claude Code で/legal-tos-privacyを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/compliance-checklist.mdlegal-guide.mdprotective-clauses.md詳細
法的文書ジェネレーター:利用規約とプライバシーポリシー
包括的で法的保護を備えた利用規約およびプライバシーポリシー文書を作成します。このスキルでは、以下を行います。
- 監査:コードベースとマーケティング資料を監査します
- 抽出:会社情報、サービスの詳細、データの取り扱いを自動的に抽出します
- 起草:完全な文書を作成します(不明な項目には
[[TEMPLATE_VARIABLES]]を使用します) - 質問:見つけられなかった情報のみをユーザーに尋ねます(やり取りは最小限にします)
- 提供:プレースホルダーのない、公開可能な最終文書を提供します
参照ファイル
references/legal-guide.md- 利用規約とプライバシーポリシーの起草に関する包括的なガイドreferences/compliance-checklist.md- 法域ごとの要件(GDPR、CCPA、LGPD、COPPA など)references/protective-clauses.md- 一般的なリスクシナリオに合わせて調整できる、すぐに使える法的条項
実際の文書を起草する際は、必要に応じてこれらの参照資料をお読みください。
重要な原則:可能な限りすべて推測し、不明な点だけを尋ねる
ユーザーとのやり取りを最小限に抑えてください。 コードベース、マーケティングサイト、設定ファイル、既存の法的文書から、できるだけ多くの情報を抽出し、推測してください。ユーザーには、実際に見つけることも推測することもできない情報だけを尋ねてください。
ワークフロー:
- コードベースとマーケティング資料を監査する(フェーズ 1~3)
- 監査中にコードから会社とサービスの情報を抽出する
- 不明な項目にはテンプレート変数を使って文書を起草する(フェーズ 4~5)
- 最後に、残っているテンプレート変数を解消するためユーザーに尋ねる(フェーズ 7)
フェーズ 1:コードベースとデータフローの監査
データの取り扱いに関するあらゆる側面を把握するため、網羅的に調査してください。この監査中に、以下の情報源から会社とサービスに関する情報も抽出してください。
1.0 会社とサービスに関する情報の抽出
会社の詳細を推測するため、次の場所を検索してください。見つけられる場合は、ユーザーに尋ねないでください。
# Package/project metadata
Read: package.json (name, author, description, homepage, repository)
Read: README.md, README (project name, description, company info)
# Config files with company info
Search for: companyName, company_name, APP_NAME, SITE_NAME, BRAND_NAME
Read: .env.example, .env.local.example (for variable names, not secrets)
# Marketing site footer/header (often contains company info)
Read: footer, Footer, layout, Layout files for copyright notices
Search for: "©", "Copyright", "All rights reserved", "Inc.", "LLC", "Ltd."
# Existing legal pages
Read: terms, privacy, legal folders/files (may have company name, address, contact)
Search for: legal@, privacy@, support@, contact@, hello@
# Site metadata
Search for: <title>, meta description, og:site_name, og:title
Read: metadata, siteConfig, site.config, app.config files
# Contact pages
Read: contact, about, company pages for addresses/emails
見つかった情報と不足している情報を記録してください:
| フィールド | 見つかったか | 値 | 情報源 |
|---|---|---|---|
| 法的事業体名 | |||
| DBA/商号 | |||
| 事業体の種類 | |||
| 物理的な住所 | |||
| 法務連絡先メールアドレス | |||
| プライバシー連絡先メールアドレス | |||
| サポート連絡先メールアドレス | |||
| サービス/製品名 | |||
| ウェブサイトの URL | |||
| 準拠法 |
推測のルール:
- 著作権表示が「© 2024 Acme Inc.」の場合、法的事業体名は「Acme Inc.」である可能性が高いです
- package.json に
"author": "Acme Software"がある場合、会社名として使用してください - フッターに
[email protected]があり、法務連絡先メールアドレスがない場合は、法務連絡先として hello@ を使用してください - サイトが
acme.comの場合、ウェブサイトの URL はhttps://acme.comです - フッターまたは連絡先ページで会社の住所が見つかった場合は、物理的な住所として使用してください
- 準拠法が見つからない場合は、テンプレート変数のままにしてください(後で尋ねます)
1.1 データ収集箇所の特定
すべてのデータ収集箇所を検索してください:
# User input collection
Search for: form, input, useState, formData, register, signup, login, email, password, name, phone, address, billing, payment
# API data handling
Search for: req.body, request.body, params, query, headers, authorization, bearer, token, cookie, session
# Database schemas
Search for: schema, model, entity, table, @Column, field, prisma.schema, drizzle, mongoose
# Third-party integrations
Search for: stripe, paddle, polar, analytics, google, facebook, pixel, segment, mixpanel, amplitude, sentry, posthog, plausible
見つかったデータ項目をすべて記録してください:
- フィールド名と種類
- 収集場所(登録、チェックアウト、アプリ内)
- 目的(認証、請求、分析、マーケティング)
- 保存先(データベース、サードパーティ)
- 保持期間(特定できる場合)
1.2 サードパーティサービスの一覧
ユーザーデータを受け取る外部サービスをすべて特定してください:
# Check dependencies
Read: package.json, requirements.txt, go.mod, Cargo.toml
# Check environment variables
Search for: process.env, import.meta.env, Deno.env, .env files
# Check API integrations
Search for: fetch, axios, http, api, client, sdk
サードパーティサービスごとに、以下を記録してください:
- サービス名と目的
- 共有するデータ
- データ処理における役割(処理者または管理者)
- プライバシーポリシー/DPA へのリンク
1.3 認証とセキュリティの仕組み
Search for: auth, session, jwt, oauth, password, hash, bcrypt, argon, encrypt, ssl, tls, https, 2fa, mfa, totp
以下を記録してください:
- 使用している認証方法
- パスワードの保存方法
- セッション管理
- ユーザーに提供するセキュリティ機能
1.4 ユーザーコンテンツと生成データ
Search for: upload, file, image, document, content, post, comment, message, storage, s3, blob, bucket
以下を記録してください:
- 受け付けるユーザー生成コンテンツの種類
- 保存の仕組み
- ユーザーコンテンツに対して実行される処理
- ユーザーコンテンツにアクセスできる人
1.5 トラッキングと分析
Search for: cookie, localStorage, sessionStorage, tracking, analytics, gtag, ga4, pixel, event, track, identify, page
以下を記録してください:
- 設定されるすべての Cookie(名前、目的、有効期間)
- 分析ツールとその追跡内容
- 広告/リマーケティングピクセル
- サイトをまたいだトラッキング機能
フェーズ 2:マーケティング上の主張の監査
法的な対応が必要となる主張がないか、一般公開されているすべての資料を確認します。
2.1 機能に関する主張
# Check marketing site
Read all files in: marketing/, website/, landing/, pages/marketing, app/(marketing)
Search for: guarantee, promise, ensure, always, never, 100%, unlimited, secure, safe, protect, best, fastest, #1, leading
法的責任につながる可能性のある主張をすべて記録します:
- 稼働時間/可用性に関する主張
- セキュリティ/プライバシーに関する主張
- パフォーマンスに関する主張
- 結果/成果に関する主張
- 比較に関する主張
2.2 料金とサブスクリプションに関する主張
Search for: pricing, price, plan, tier, subscription, trial, free, refund, cancel, money-back
以下を記録します:
- すべての料金プランと各プランに含まれる内容
- トライアルの条件
- 返金ポリシーに関する主張
- 解約手続きに関する主張
2.3 コンプライアンスと認証に関する主張
Search for: GDPR, CCPA, HIPAA, SOC, ISO, compliant, certified, secure
法的に裏付ける必要があるコンプライアンスに関する主張を記録します。
フェーズ 3:リスク評価
起草に入る前に、最もリスクの高い領域を特定します。
3.1 責任が生じやすい領域
各領域のリスクを評価します(高/中/低):
- データ侵害のリスク - データが漏えいした場合、どのような損害が生じますか?
- サービス障害の影響 - 製品が停止した場合、何が起こりますか?
- 不正確な出力に関する責任 - 間違った結果によって損害が生じる可能性はありますか?
- サードパーティ依存のリスク - 連携機能が動作しなくなった場合はどうなりますか?
- ユーザーコンテンツに関する責任 - ユーザーコンテンツが法的な問題を引き起こす可能性はありますか?
- 規制上のリスク - どの規制が適用されますか?
3.2 地理的範囲
以下に基づいて、適用される規制を特定します:
- 会社の所在地
- サーバー/データの保管場所
- 対象ユーザーの所在地
- 実際のユーザーの所在地(判明している場合)
検討すべき規制:
- GDPR(EU/EEA のユーザー)
- CCPA/CPRA(カリフォルニア州のユーザー)
- LGPD(ブラジルのユーザー)
- PIPEDA(カナダのユーザー)
- COPPA(子どもがサービスを利用する可能性がある場合)
- 業界固有の規制(HIPAA、PCI-DSS など)
フェーズ 4:利用規約の起草
監査で得た知見を使って、包括的な利用規約(ToS)を起草します。各セクションの詳細なガイダンスについては、references/legal-guide.md を参照してください。
必須セクションのチェックリスト
すべての利用規約には、以下を含める必要があります:
- はじめにと同意 - 拘束力のある契約、クリックラップによる同意、発効日
- 定義 - 「サービス」、「ユーザー」、「コンテンツ」、「データ」などを定義する
- アカウント条件 - 登録、正確性、セキュリティに関する責任、共有の禁止
- 利用規定 - 製品に合わせた禁止行為
- 支払い条件(有料の場合) - 料金、請求、税金、返金、解約
- 知的財産 - 会社がサービスを所有し、ユーザーが自身のコンテンツを所有すること、ライセンスの付与
- ユーザーコンテンツのライセンス - サービスの運営に必要な権利(ホスト、表示、処理)
- プライバシーに関する参照 - プライバシーポリシーの組み込み
- サードパーティサービス - 統合サービスに関する免責事項
- 保証の否認 - 「現状有姿」、保証なし、自己責任での利用
- 責任の制限 - 損害賠償額の上限、間接損害の除外
- 補償 - ユーザーの不正利用/違反についてユーザーが補償すること
- 期間と終了 - 契約期間、終了する権利、終了後の取り扱い
- 紛争解決 - 仲裁、集団訴訟の放棄、準拠法
- 準拠法と裁判地 - 管轄の選択
- 不可抗力 - 制御不能な事由に対する免責
- 分離可能性 - 無効な条項があっても契約全体は無効にならないこと
- 完全合意 - 本契約が従前の契約に優先すること
- 変更権 - 規約の変更方法と通知要件
- 連絡先情報 - 問い合わせ方法
責任を限定する条項
以下の保護条項を含めます:
サービス提供状況に関する免責事項:
The Service is provided on an "as is" and "as available" basis. We do not
guarantee that the Service will be uninterrupted, timely, secure, or error-free.
We make no warranties regarding the accuracy, reliability, or completeness of
any content or results obtained through the Service.
間接損害の除外:
IN NO EVENT SHALL [[LEGAL_ENTITY_NAME]] BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
SPECIAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES, INCLUDING BUT NOT LIMITED TO LOSS OF
PROFITS, DATA, USE, GOODWILL, OR OTHER INTANGIBLE LOSSES, REGARDLESS OF WHETHER WE
HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
(注:[[LEGAL_ENTITY_NAME]] は監査で特定した実際の会社名に置き換えるか、フェーズ 7 で解決してください)
責任の上限:
OUR TOTAL LIABILITY TO YOU FOR ALL CLAIMS ARISING FROM OR RELATED TO THE SERVICE
SHALL NOT EXCEED THE GREATER OF (A) THE AMOUNTS YOU PAID TO US IN THE TWELVE (12)
MONTHS PRECEDING THE CLAIM, OR (B) ONE HUNDRED DOLLARS ($100).
結果に関する免責事項(AI/分析製品向け):
Any insights, recommendations, or outputs generated by the Service are provided
for informational purposes only and should not be relied upon as professional
advice. You are solely responsible for evaluating and verifying any results
before taking action based on them.
監査に基づく追加条項
監査結果に基づき、以下の条項を追加します。
AI/ML 機能がある場合:
- 出力精度に関する免責事項
- 重要な判断に依拠しないこと
- 学習データの使用権
ユーザーコンテンツを処理する場合:
- コンテンツの所有権の明確化
- 処理に必要なライセンスの付与
- 禁止されるコンテンツの種類
- 削除要請の手続き
金融データを取り扱う場合:
- 金融アドバイスではない旨の免責事項
- 判断に対するユーザーの責任
- 結果の保証がないこと
健康関連の機能がある場合:
- 医療アドバイスではない旨の免責事項
- 専門家への相談に関する警告
- 緊急サービスに関する免責事項
フェーズ 5:プライバシーポリシーの作成
監査で明らかになったすべての事項に対応する、包括的なプライバシーポリシーを作成します。
必須セクションのチェックリスト
すべてのプライバシーポリシーには、以下を含める必要があります。
- はじめに - 運営者と、このポリシーの適用範囲
- 収集する情報 - 監査で明らかになったすべてのカテゴリー(漏れなく記載)
- 情報の収集方法 - 直接入力、自動収集、第三者からの情報
- 情報を収集する理由 - 各カテゴリーの目的と法的根拠(GDPR)
- 情報の利用方法 - 監査で明らかになったすべての利用目的
- 情報の共有 - インベントリに記載されたすべての第三者
- Cookie とトラッキング - 監査で明らかになったすべての Cookie/ピクセル
- データの保持 - 各カテゴリーの保持期間
- データセキュリティ - 監査で明らかになったセキュリティ対策
- お客様の権利 - アクセス、訂正、削除、データポータビリティ、異議申し立て
- 子どものプライバシー - COPPA への準拠、年齢制限
- 国際移転 - データの移転先と保護措置
- カリフォルニア州の権利(該当する場合) - CCPA/CPRA に基づく具体的な開示事項
- EU/英国の権利(該当する場合) - GDPR に基づく具体的な開示事項
- ポリシーの変更 - 更新の通知方法
- 連絡先情報 - プライバシーに関する問い合わせ先、必要に応じて DPO
データインベントリ表
収集するすべてのデータを明確な表にまとめます。
| データカテゴリー | 例 | 収集方法 | 目的 | 法的根拠 | 保持期間 |
|---|---|---|---|---|---|
| アカウント情報 | メールアドレス、氏名 | 登録フォーム | サービスの提供 | 契約 | アカウントの存続期間 |
| 決済データ | カード情報 | チェックアウト | 請求処理 | 契約 | 法律で定められた期間 |
| 利用データ | 閲覧したページ、使用した機能 | 自動記録 | 製品の改善 | 正当な利益 | 24 か月 |
| デバイス情報 | IP、ブラウザー、OS | 自動 | セキュリティ、サポート | 正当な利益 | 12 か月 |
第三者への開示表
すべての第三者を列挙します。
| サービス | 目的 | 共有するデータ | プライバシーポリシー |
|---|---|---|---|
| Stripe | 決済 | 請求情報 | stripe.com/privacy |
| AWS | ホスティング | すべてのデータ(処理者) | aws.amazon.com/privacy |
| Google Analytics | アナリティクス | 利用データ、IP | policies.google.com/privacy |
フェーズ 6:確認チェックリスト
最終確定する前に、以下を確認します。
法的保護の確認
- すべてのマーケティング上の主張に、必要に応じて対応する免責事項がある
- すべてのデータ収集について、目的と法的根拠が明記されている
- すべての第三者が開示されている
- 法律で認められる最大限の範囲で責任が制限されている
- 保証の免責事項が、製品のすべての機能を対象としている
- 補償条項が、ユーザーによる不正利用から保護している
- 紛争解決において、自社の管轄地が有利になっている
- 不可抗力条項が、サービスの中断を対象としている
- 違反時の契約解除権が確保されている
コンプライアンスの確認
- GDPR に準拠している(EU のユーザーがいる場合):法的根拠、権利、必要に応じて DPO の連絡先
- CCPA に準拠している(カリフォルニア州のユーザーがいる場合):カテゴリーの記載、販売に関する開示、オプトアウト
- COPPA に準拠している:年齢確認、子どものデータを収集しないこと
- Cookie の同意取得方法が説明されている
- データの保持期間が明記されている
- 国際移転の保護措置が記載されている
一貫性の確認
- ToS とプライバシーポリシーに矛盾がない
- ToS に、プライバシーポリシーと矛盾する約束がない
- マーケティング上の主張が、法的免責事項と一致している
- 返金ポリシーが、チェックアウト画面の表示と一致している
- データの取り扱いが、コードの実際の動作と一致している
フェーズ 7:テンプレート変数を解決する(最終ステップ)
両方の文書を作成した後、テンプレート変数が残っていないか確認します。テンプレート変数は [[VARIABLE_NAME]](二重角括弧)の形式です。
7.1 残っている変数を確認する
作成した文書内で [[...]] のパターンを検索します。ユーザーへの確認が必要になる可能性がある一般的な変数は次のとおりです。
| 変数 | 確認する内容 |
|---|---|
[[LEGAL_ENTITY_NAME]] | 「会社の正式な法人名(例:『Acme Software, Inc.』)は何ですか?」 |
[[PHYSICAL_ADDRESS]] | 「法的通知に使用する住所はどこですか?」 |
[[LEGAL_EMAIL]] | 「法的な問い合わせを受け付けるメールアドレスは何ですか?」 |
[[PRIVACY_EMAIL]] | 「プライバシー/GDPR に関する依頼を受け付けるメールアドレスは何ですか?」 |
[[GOVERNING_LAW_STATE]] | 「本規約に適用する州または国の法律はどれですか?」 |
[[DISPUTE_VENUE]] | 「法的紛争を解決する場所(市/郡、州)はどこですか?」 |
[[EFFECTIVE_DATE]] | 「これらの文書の発効日はいつですか?(既定値:本日)」 |
[[ARBITRATION_PROVIDER]] | 「拘束力のある仲裁を希望しますか?希望する場合、どの仲裁機関を利用しますか(例:JAMS、AAA)?」 |
7.2 不足情報をユーザーに確認する
テンプレート変数が残っている場合は、不足している値をすべてまとめて、一度の依頼でユーザーに確認します。関連する質問はまとめてください。
例:
I've drafted your Terms of Service and Privacy Policy based on your codebase.
I found most information automatically, but need a few details to finalize:
1. **Legal entity name:** What is your company's full legal name as registered?
(e.g., "Acme Software, Inc." or "Acme LLC")
2. **Physical address:** What address should appear for legal notices?
3. **Governing law:** Which state's laws should govern? (I'd suggest Delaware
or California based on most SaaS companies, but this is your choice)
Once you provide these, I'll finalize the documents with no placeholders.
7.3 値を入力して確認する
回答を受け取った後:
- すべてのテンプレート変数を実際の値に置き換えます
- 再スキャンして
[[...]]のパターンが一つも残っていないことを確認します - 最終版の完全な文書を提示します
最終出力には、テンプレート変数を一切残さないでください。
出力形式
作成中(フェーズ 4~5)
監査中に見つけられなかった情報には、[[VARIABLE_NAME]] の形式(二重角括弧)を使用します。これにより、フェーズ 7 で変数を簡単に確認できます。
最終出力(フェーズ 7 の完了後)
最終出力にプレースホルダーを含めないでください。 ユーザーとすべてのテンプレート変数を解決した後、最終文書は完成し、公開できる状態でなければなりません。
最終出力では、次の形式は禁止されています。
[[VARIABLE]]の二重角括弧のテンプレート変数[COMPANY]、[DATE]、[ADDRESS]の単一角括弧のプレースホルダー{{variable}}または{variable}のテンプレート構文- "INSERT X HERE"、"YOUR X"、"TBD"、"TBA"、"Coming Soon"
最終文書は、次の構成で提示してください。
# Terms of Service
**Last Updated: [actual date]**
[Full ToS content - every field filled with real values, zero placeholders]
---
# Privacy Policy
**Last Updated: [actual date]**
[Full Privacy Policy - every field filled with real values, zero placeholders]
重要な注意事項
-
ユーザーとのやり取りは最小限にする - コードベースから可能な限り多くの情報を推測し、抽出してください。本当に見つけられない情報だけをユーザーに確認します。質問はすべてまとめて、最後に一度で確認してください(フェーズ 7)。
-
最終出力にプレースホルダーを含めない - 作成中は不明な情報に
[[VARIABLE]]を使用しますが、最終文書を提示する前にすべて解決してください。ユーザーが受け取る文書は、そのまま公開できる状態でなければなりません。 -
具体的にする - 一般的なテンプレートは、責任に関する抜け漏れを生みます。各条項は、監査で判明した実際の製品の動作を反映する必要があります。
-
平易な言葉を使う - 明確に記述してください。裁判所や規制当局は、理解しやすいポリシーを重視します。
-
主張は控えめにする - 判断に迷う場合は、免責事項を多めに記載してください。法的には、約束しすぎるよりも控えめな表現のほうが望ましいです。
-
提示前に確認する - フェーズ 7 の後、
[[...]]のパターンが残っていないか確認してください。見つかった場合は、最終文書を提示する前に解決してください。 -
法的助言ではない - 公開前に、これらの文書を資格のある法律専門家に確認してもらう必要があります。