Que fait legal-pages ?
Ceci n'est pas un conseil juridique. Cette compétence génère des modèles à partir des réponses de l'utilisateur. Elle ne connaît pas les obligations spécifiques à la juridiction de l'utilisateur et ne remplace pas un avocat. Vous devez le rappeler à l'utilisateur dans votre message final, et les pages générées portent un avis de révision que l'utilisateur ne supprime qu'après avoir relu le texte. Ne prétendez jamais que les pages sont « conformes ».
Étape 1 — Recueillir les informations (demander, ne pas deviner)
Inspectez d'abord le code source pour pré-remplir ce qui est possible (fournisseur d'authentification, script d'analytics, SDK de paiement, fournisseur d'email, base de données, cookies définis). Confirmez ensuite avec l'utilisateur. Copiez assets/legal-config.example.json vers legal-config.json à la racine du projet et remplissez-le :
| Champ | Exemple | Où chercher |
|---|---|---|
company_name, product_name, website_url, contact_email | "Acme Studio" | demander ; pied de page ; env |
legal_entity_type, address, governing_law | "individual", "Hebei, China", "People's Republic of China" | demander — ne jamais inventer |
merchant_of_record | creem / paddle / lemonsqueezy / none | dépendances package.json (creem, @paddle/paddle-js, @lemonsqueezy/..., stripe) |
data_collected | email, nom, paiement géré par le MoR, IP/logs d'utilisation | authentification + schéma de base de données |
processors | Resend (email), Plausible (analytics), AWS (hébergement) | variables d'environnement, imports SDK |
uses_cookies, analytics_cookies | true / false | cookies définis par l'authentification/analytics |
sells_subscriptions, sells_one_time | page de tarifs | |
refund_mode | window (N jours) / case_by_case / none | demander — doit correspondre aux règles du fournisseur |
serves_eu, serves_california, serves_china | demander ; affecte les sections ajoutées | |
min_age | 13 ou 16 | 16 est la valeur par défaut plus sûre si vous servez l'UE |
Tout ce que l'utilisateur ne sait pas reste sous forme de marqueur [[TODO: …]] dans la sortie — ne remplissez pas les faits juridiques (adresse, entité, droit applicable) avec des valeurs plausibles.
Étape 2 — Générer
python3 scripts/render_legal.py --config legal-config.json --out legal --format md
python3 scripts/render_legal.py --config legal-config.json --out app/(legal) --format nextjs # Next.js App Router
python3 scripts/render_legal.py --config legal-config.json --out public/legal --format html
Produit les documents privacy, terms, refund. Le script échoue si un champ obligatoire manque, affiche chaque [[TODO]] restant et appose la mention « Dernière mise à jour » avec effective_date (ou la date du jour). --format nextjs écrit privacy/page.tsx, terms/page.tsx, refund/page.tsx avec du HTML statique et metadata — aucune dépendance supplémentaire. Enveloppez-les avec votre layout/typographie si nécessaire.
Étape 3 — Intégrer
- Pied de page : liez les trois pages sur chaque page (les fournisseurs de paiement les recherchent).
- Paiement : liez les CGV et la politique de remboursement près du bouton d'achat (« En achetant, vous acceptez… »).
- Si
analytics_cookiesest true etserves_euest true : dites à l'utilisateur qu'une bannière de consentement aux cookies est probablement nécessaire avant de charger les analytics (ou passez à un outil d'analytics sans cookies). N'ajoutez pas de bannière silencieusement. - Formulaire d'inscription : liez la politique de confidentialité.
Étape 4 — Vérifications spécifiques au fournisseur
Consultez references/provider-notes.md pour le marchand de record choisi. Points clés : avec un MoR, le MoR est le vendeur enregistré auprès du client, donc les CGV doivent le mentionner et la politique de remboursement ne doit pas promettre quelque chose que les propres conditions d'achat du MoR contredisent.
Étape 5 — Message de remise (obligatoire)
Dites à l'utilisateur, dans sa langue :
- Quels fichiers ont été créés et où ils sont liés.
- La liste des éléments
[[TODO]]encore ouverts. - Que le texte est un modèle, pas un conseil juridique, et doit être revu par un avocat qualifié, en particulier pour : le droit applicable, les limites de responsabilité, les droits de rétractation des consommateurs (règle des 14 jours de l'UE pour les contenus numériques) et les transferts de données hors du pays de l'utilisateur.
- Qu'il doit maintenir les pages à jour lorsqu'il ajoute un nouvel outil qui traite des données utilisateur.
Fichiers
assets/templates/*.md— les trois modèles (syntaxe mustache{{field}},{{#flag}}…{{/flag}}).assets/legal-config.example.json— questionnaire avec tous les champs.scripts/render_legal.py— moteur de rendu (stdlib uniquement).references/provider-notes.md— notes Creem / Paddle / Lemon Squeezy / Stripe avec liens.references/regional-notes.md— points clés RGPD, UK GDPR, CCPA/CPRA, PIPL (informatifs).