Skip to content
prod 352bb92
Browse

6 · Legal & consent

Objective — stand up the three legal essentials (cookie/GDPR banner, Privacy Policy, Terms) via the check-first pattern: fill panel fields when present, create missing Privacy/Terms routes when absent, route only missing consent-banner code work to the Phase 7 legal owner with a Zaj-BACKLOG.md row, and flag the hard dependency that consent must gate analytics before launch.

Steps at a glance:

  1. Configure the cookie / GDPR consent banner — CHECK: Admin → Config → GDPR (or Privacy, or Cookie Settings). The legal text/judgment is human-owned; the agent can enable non-secret toggles and verify the incognito banner behavior when browser automation is available.
  2. Publish the Privacy Policy — CHECK: Admin → Settings → Privacy (or Pages → Privacy Policy). Legal text approval is human-owned; the agent can paste approved text and verify the rendered page.
  3. Publish the Terms of Service — CHECK: Admin → Settings → Terms (or Pages → Terms of Service). Same generator + jurisdiction as the Privacy Policy.

Three legal essentials, all driven by the check-first pattern from page 1: inspect the admin panel first, then fill what exists. If Privacy Policy or Terms fields/routes are missing, create the route + Blade view now because they are simple agent-owned code work and are MUST before any real signup. If the consent banner is missing, assign that implementation to the Phase 7 legal/GDPR owner as a named blocker, because consent must gate analytics/pixels before launch.

Whichever surface you’re filling, the source of the text matters as much as the toggle:

Section titled “1. Configure the cookie / GDPR consent banner”

CHECK: Admin → Config → GDPR (or Privacy, or Cookie Settings). Enabling the banner is agent-drivable after the human approves the wording; judging legal adequacy stays human-owned.

  1. Enable now or capture the banner task.

    • If present — enable the consent banner; set the consent text, accept/reject buttons, and a link to the cookie policy.

    • If absent — manual implementation belongs to the security & compliance phase (Phase 7). Capture it in Zaj-BACKLOG.md with owner, trigger, and acceptance criterion, then return to it there.

    • ✅ The banner is enabled, or its absence is captured in Zaj-BACKLOG.md as a Phase 7 implementation task.

  2. Verify in incognito — the banner appears on first visit, and “reject” actually suppresses non-essential cookies.

    • ✅ Incognito shows the banner on first visit and “reject” is honoured.

CHECK: Admin → Settings → Privacy (or Pages → Privacy Policy). Generating and approving the legal text is human-owned; pasting approved text and verifying the rendered page is agent-drivable when browser automation is available.

  1. Publish the Privacy Policy now; create the route if the panel is missing.

    • If present — paste the generated Privacy Policy text and save.

    • If absent — create a Blade view + route now. Use the approved text or generator-hosted iframe, add the route to routes/web.php, link it from the footer/signup surface, and record the _zaj change in Zaj-CUSTOMIZATIONS.md.

    • ✅ The policy is saved or the fallback route/view is committed; no Privacy Policy work is left as a vague later task.

  2. Verify — navigate to /privacy-policy (or the vendor’s equivalent slug); the page renders with your content, not vendor placeholder text.

    • /privacy-policy renders your real content.

CHECK: Admin → Settings → Terms (or Pages → Terms of Service). Same generator + jurisdiction as the Privacy Policy; the human approves the legal text, and the agent can publish/verify the approved copy.

  1. Publish the Terms now; create the route if the panel is missing.

    • If present — paste the generated Terms and save.

    • If absent — create the Blade view + route now. Use the approved Terms text or generator-hosted iframe, add the route to routes/web.php, link it from the footer/signup surface, and record the _zaj change in Zaj-CUSTOMIZATIONS.md.

    • ✅ The Terms are saved or the fallback route/view is committed; no Terms work is left as a vague later task.

  2. Verify — navigate to /terms-of-service; the page renders with the correct content, and the footer/signup links point to it.

    • /terms-of-service renders and is linked from footer + signup.

Do not mark this step done until every box below is checked.

  • 🔀 Banner enabled — approved cookie/GDPR text is saved, or the missing consent-banner implementation is assigned to Phase 7 · Legal/GDPR in Zaj-BACKLOG.md with owner, trigger, and acceptance criterion; agent-run incognito check shows the banner on first visit and “reject” is honoured when browser automation is available.
  • 🔀 GDPR boundary checked — the public funnel’s consent is configured separately from any tenant-facing vendor module.
  • 🔀 Privacy Policy live — approved legal text is saved; agent verification shows /privacy-policy renders correctly.
  • 🔀 Terms live — approved Terms are saved; agent verification shows /terms-of-service renders and is linked from footer + signup.
  • 🔀 Dependency queued — consent gates analytics before production, and the dependency is in Zaj-BACKLOG.md with owner, trigger, and acceptance criterion.