mcpField
S
solo-legal

solo-legal

github.com/fortunto2ドキュメント1847 回インストール今日更新
リポジトリ

solo-legal について

プロジェクトの技術スタックとデータの取り扱いを調べ、プライバシーポリシーと利用規約を作成するスキルです。該当する場合はアプリストア向けの開示情報も作ります。文書はテンプレートであり、公開前に弁護士の確認が必要です。

主な機能

  1. 01プロジェクトの文書と設定の確認
  2. 02収集データと保存目的の監査
  3. 03適用される規制とプライバシー原則の確認
  4. 04ポリシーと規約の文書作成
  5. 05モバイルアプリストア向け開示情報の作成

活用シーン

  1. 01新規プロジェクトのプライバシー文書を準備
  2. 02製品リリース前にデータ収集を確認
  3. 03サービスや機能の変更後に開示内容を更新

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/fortunto2/solo-factory --skill solo-legal

インストール後、Claude Code で/solo-legalを入力して読み込まれたか確認します。

詳細

/legal

プロジェクトの技術スタック、機能、データの取り扱いに合わせたプライバシーポリシーと利用規約を生成します。マニフェストのプライバシー最優先の原則(templates/principles/manifest.md)に準拠します。端末上での処理、ローカルストレージ、可能な限りアカウント不要、ユーザーが自身のデータを所有することを重視します。

免責事項: 生成される文書はテンプレートであり、法律上の助言ではありません。公開前に弁護士に確認してください。特に規制対象の業界(医療、金融、児童関連)では必ず確認してください。

手順

  1. $ARGUMENTS からプロジェクトを解析します。

    • docs/prd.md を読み込みます — 機能、ICP、データの取り扱い
    • CLAUDE.md を読み込みます — 技術スタック、使用するサービス
    • 利用可能であれば、templates/stacks/{stack}.yaml の技術スタック YAML を読み込みます
    • 空の場合:AskUserQuestion を使用して質問します
  2. データ監査 — 製品が収集するデータを特定します。

    PRD とコードベースの設定をスキャンします。

    データの種類収集の有無保存場所目的
    メールアドレス/氏名—ローカル/Supabaseアカウント
    利用状況分析—PostHog (EU)製品の改善
    支払い情報—Stripe(ローカルには保存しない)請求
    ユーザーコンテンツ—端末上/ローカル DB主要機能
    位置情報———
    デバイス情報———
    Cookie———
    サードパーティ SDK———

    「はい」と回答した項目ごとに、法的根拠(同意、正当な利益、契約)を記載します。

    マニフェストとの整合性チェック:

    • データはローカルに保存されますか?(オフラインファーストの原則)
    • ユーザーはすべてのデータをエクスポートできますか?
    • ユーザーはすべてのデータを削除できますか?
    • 明示的な同意なく、第三者に送信されるデータはありますか?
    • アプリはアカウントなしで動作しますか?
  3. 適用される規制を検出します。

    規制適用される場合主な要件
    GDPREU のユーザー、または EU に拠点を置く事業者同意、アクセス/削除/移転の権利、処理者との DPA
    CCPA/CPRAカリフォルニア州のユーザー、収益が 2,500 万ドル超、または消費者が 10 万人超知る権利/削除する権利/オプトアウト、「Do Not Sell」
    App StoreiOS アプリプライバシーラベル、ATT フレームワーク
    Play StoreAndroid アプリデータセーフティセクション、削除ポリシー
    COPPA13 歳未満のユーザー保護者の同意(ICP に子どもが含まれる場合は警告)

    ほとんどの個人プロジェクトでは、GDPR と App Store/Play Store への対応で十分です。

  4. プライバシーポリシーを生成します。

    構成(製品に合わせて調整します):

    # Privacy Policy
    
    **Last updated:** {YYYY-MM-DD}
    **Effective date:** {YYYY-MM-DD}
    
    ## What we collect
    
    {table from step 2 — only "yes" rows, in plain language}
    
    ## How we use it
    
    {purpose for each data type — be specific, not "to improve our services"}
    
    ## Where data is stored
    
    {local device / specific cloud service + region}
    {for offline-first apps: "Your data stays on your device. We cannot access it."}
    
    ## Third-party services
    
    {list each service: PostHog (EU), Stripe, Supabase — with links to their privacy policies}
    
    ## Your rights
    
    - **Access:** request a copy of your data
    - **Delete:** delete your account and all associated data
    - **Export:** download your data in {format}
    - **Opt-out:** disable analytics in app settings
    
    ## Data retention
    
    {how long data is kept, what triggers deletion}
    
    ## Children
    
    {if product is not for children under 13: "This product is not intended for children under 13."}
    
    ## Changes
    
    We may update this policy. Changes will be posted here with an updated date.
    
    ## Contact
    
    {email address for privacy questions}
    

    ルール:

    • 平易な言葉を使い、法律用語は避けます。ユーザーが同意する内容を理解できるようにします。
    • 収集するデータについて正直に説明します。曖昧な表現でトラッキングを隠してはいけません。
    • オフラインファーストの製品では、ポリシーをより簡潔にできます(データが少なければ、説明も少なくて済みます)。
    • アプリが何も収集しない場合は、明確にそう記載します(「当社は個人データを収集しません」)。
  5. 利用規約を生成します。

    構成:

    # Terms of Service
    
    **Last updated:** {YYYY-MM-DD}
    
    ## What this is
    
    {product name} is {one-line description}. By using it, you agree to these terms.
    
    ## Your account
    
    {if accounts exist: account rules. If no accounts: "No account is required."}
    
    ## Your data
    
    You own your data. We do not claim any rights to content you create.
    {for offline-first: "Your data is stored on your device. We have no access to it."}
    
    ## Acceptable use
    
    Do not use {product} to: {short list of prohibited uses relevant to the product}
    
    ## Payments
    
    {if paid: pricing, refund policy, billing terms}
    {manifest alignment: "No hidden fees. What you see is what you pay."}
    {if one-time purchase: "One-time purchase. No recurring charges."}
    {if subscription: explain what justifies the recurring cost}
    
    ## Availability
    
    We aim to keep {product} available but cannot guarantee 100% uptime.
    {for offline-first: "Core features work without internet connection."}
    
    ## Limitation of liability
    
    {standard limitation clause — product provided "as is"}
    
    ## Changes
    
    We may update these terms. Continued use after changes means acceptance.
    
    ## Contact
    
    {email}
    
  6. iOS または Android の場合は、App Store のプライバシーラベルを生成します。

    iOS(App Store Connect):

    • データ監査に基づくプライバシーラベルのカテゴリ
    • トラッキングの有無(ありの場合は ATT が必要)
    • ID に紐付けられるデータ:一覧
    • ID に紐付けられないデータ:一覧

    Android(Play Store):

    • データ監査に基づくデータセーフティフォームの回答
    • 第三者と共有するデータ:一覧
    • データ収集の目的:一覧
    • セキュリティ対策:暗号化、削除の可否
  7. 法的文書を作成します。

    • legal/privacy-policy.md — プライバシーポリシー
    • legal/terms-of-service.md — 利用規約
    • legal/app-store-privacy.md — App Store のラベル(モバイルアプリの場合)
    • 必要に応じて、プロジェクトのルートに legal/ ディレクトリを作成します
  8. 概要を出力します。

    • 収集するデータの種類(件数)
    • 適用される規制
    • マニフェストとの整合性(すべての原則を満たしているか、違反があれば明示)
    • 生成したファイル
    • 注意書き:「公開前に弁護士に確認してください」

注意事項

  • ドキュメントはテンプレートです。公開前に必ず確認してください
  • オフラインファーストのアプリには、よりシンプルなポリシーが適しています(これは制限ではなく、特長です)
  • 新たなデータ収集、サードパーティサービス、機能を追加する場合は、法的文書を更新してください
  • PostHog を使用する EU 拠点の製品では、EU でホスティングされていることを確認してください(eu.posthog.com)
  • Stripe が PCI コンプライアンスに対応します。カード情報を自分で保存しないでください

よくある問題

製品が想定以上のデータを収集する

原因: サードパーティの SDK(分析、クラッシュレポート)が自動的にデータを収集します。 対処方法: package.json/Podfile/build.gradle に記載されているすべての SDK を監査してください。プライバシーポリシーに各 SDK を記載してください。

オフラインファーストなのに、一部のクラウド機能が必要

原因: 同期、バックアップ、または認証にクラウドが必要です。 対処方法: 「コア機能はオフラインで動作します。任意の同期には {service} が必要です」と明記してください。同期される内容を正確に列挙してください。

プライバシーポリシーがないため App Store で却下される

原因: アプリのメタデータにプライバシーポリシーの URL がありません。 対処方法: privacy-policy.md をウェブページとしてホストしてください(GitHub Pages、プロジェクトのウェブサイト、または静的ホスティング)。App Store Connect / Play Console に URL を追加してください。

コメント