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:
- Configure the cookie / GDPR consent banner — CHECK:
Admin → Config → GDPR(orPrivacy, orCookie 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. - Publish the Privacy Policy — CHECK:
Admin → Settings → Privacy(orPages → Privacy Policy). Legal text approval is human-owned; the agent can paste approved text and verify the rendered page. - Publish the Terms of Service — CHECK:
Admin → Settings → Terms(orPages → Terms of Service). Same generator + jurisdiction as the Privacy Policy.
Background
Section titled “Background”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:
1. Configure the cookie / GDPR consent banner
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.
-
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.mdwith owner, trigger, and acceptance criterion, then return to it there. -
✅ The banner is enabled, or its absence is captured in
Zaj-BACKLOG.mdas a Phase 7 implementation task.
-
-
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.
2. Publish the Privacy Policy
Section titled “2. Publish the Privacy Policy”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.
-
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_zajchange inZaj-CUSTOMIZATIONS.md. -
✅ The policy is saved or the fallback route/view is committed; no Privacy Policy work is left as a vague later task.
-
-
Verify — navigate to
/privacy-policy(or the vendor’s equivalent slug); the page renders with your content, not vendor placeholder text.- ✅
/privacy-policyrenders your real content.
- ✅
3. Publish the Terms of Service
Section titled “3. Publish the Terms of Service”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.
-
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_zajchange inZaj-CUSTOMIZATIONS.md. -
✅ The Terms are saved or the fallback route/view is committed; no Terms work is left as a vague later task.
-
-
Verify — navigate to
/terms-of-service; the page renders with the correct content, and the footer/signup links point to it.- ✅
/terms-of-servicerenders and is linked from footer + signup.
- ✅
Checklist
Section titled “Checklist”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.mdwith 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-policyrenders correctly. - 🔀 Terms live — approved Terms are saved; agent verification shows
/terms-of-servicerenders and is linked from footer + signup. - 🔀 Dependency queued — consent gates analytics before production, and the dependency is in
Zaj-BACKLOG.mdwith owner, trigger, and acceptance criterion.