Páginas Legales
No es asesoría legal. Este skill genera plantillas con las respuestas del usuario. No conoce las obligaciones específicas de la jurisdicción del usuario y no sustituye a un abogado. Debes informar esto al usuario en tu mensaje final, y las páginas generadas incluirán un aviso de revisión que el usuario eliminará solo después de haber revisado el texto. Nunca afirmes que las páginas son "conformes".
Paso 1 — Recopilar datos (pregunta, no adivines)
Inspecciona primero el código base para rellenar lo que puedas (proveedor de autenticación, script de analítica, SDK de pagos, proveedor de correo, base de datos, cookies establecidas). Luego confirma con el usuario. Copia assets/legal-config.example.json como legal-config.json en la raíz del proyecto y complétalo:
| Campo | Ejemplo | Dónde buscar |
|---|---|---|
company_name, product_name, website_url, contact_email | "Acme Studio" | preguntar; pie de página; entorno |
legal_entity_type, address, governing_law | "individual", "Hebei, China", "República Popular China" | preguntar — nunca inventar |
merchant_of_record | creem / paddle / lemonsqueezy / none | dependencias de package.json (creem, @paddle/paddle-js, @lemonsqueezy/..., stripe) |
data_collected | email, nombre, pago gestionado por MoR, IP/registros de uso | esquema de autenticación y base de datos |
processors | Resend (correo), Plausible (analítica), AWS (alojamiento) | variables de entorno, imports de SDK |
uses_cookies, analytics_cookies | true / false | cookies establecidas por autenticación/analítica |
sells_subscriptions, sells_one_time | página de precios | |
refund_mode | window (N días) / case_by_case / none | preguntar — debe coincidir con las reglas del proveedor |
serves_eu, serves_california, serves_china | preguntar; afecta secciones añadidas | |
min_age | 13 o 16 | 16 es el valor predeterminado más seguro si se sirve a la UE |
Cualquier cosa que el usuario no sepa se dejará como un marcador [[TODO: …]] en la salida — no completes datos legales (dirección, entidad, ley aplicable) con valores que parezcan plausibles.
Paso 2 — Renderizado
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
Genera los documentos privacy, terms, refund. El script falla si falta un campo obligatorio, imprime cada [[TODO]] restante y agrega la marca "Última actualización" con effective_date (o la fecha actual). --format nextjs escribe privacy/page.tsx, terms/page.tsx, refund/page.tsx con HTML estático y metadata — sin dependencias adicionales. Envuélvelos con el diseño/tipografía de tu sitio según sea necesario.
Paso 3 — Integración
- Pie de página: enlaza las tres páginas en cada página (los proveedores de pago las buscan).
- Pago: enlaza los términos y la política de reembolso cerca del botón de compra ("Al comprar aceptas…").
- Si
analytics_cookieses true yserves_eues true: informa al usuario que es probable que necesite un banner de consentimiento de cookies antes de cargar la analítica (o que cambie a una herramienta de analítica sin cookies). No agregues un banner silenciosamente. - Formulario de registro: enlaza la política de privacidad.
Paso 4 — Verificaciones específicas del proveedor
Lee references/provider-notes.md para el Merchant of Record seleccionado. Puntos clave: con un MoR, el MoR es el vendedor registrado para el cliente, por lo que los términos deben indicarlo y la política de reembolso no debe prometer algo que contradiga las condiciones del comprador del MoR.
Paso 5 — Mensaje de entrega (obligatorio)
Informa al usuario, en su idioma:
- Qué archivos se crearon y dónde están enlazados.
- La lista de elementos
[[TODO]]que aún están pendientes. - Que el texto es una plantilla, no asesoría legal, y debe ser revisado por un abogado calificado, especialmente en cuanto a: ley aplicable, límites de responsabilidad, derechos de desistimiento del consumidor (regla de 14 días de la UE para contenido digital) y transferencias de datos fuera del país del usuario.
- Que debe mantener las páginas precisas cuando agregue una nueva herramienta que procese datos de usuarios.
Archivos
assets/templates/*.md— las tres plantillas (estilo mustache{{field}},{{#flag}}…{{/flag}}).assets/legal-config.example.json— cuestionario con todos los campos.scripts/render_legal.py— renderizador (solo biblioteca estándar).references/provider-notes.md— notas de Creem / Paddle / Lemon Squeezy / Stripe con enlaces.references/regional-notes.md— indicadores de GDPR, UK GDPR, CCPA/CPRA, PIPL (informativo).