Skip to content

Publish my terms and privacy policy

Say "publish my terms and privacy policy" and get terms of service and a privacy notice at /terms and /privacy, filled from your Offers.

Publish the terms every buyer accepts and the notice every visitor reads. Both are written from your Offers and the data your Products store.

Needs Startup

What you get

  • 1terms of service, accepted at checkoutAgreement
  • 1privacy notice written from the data your Products storeDocument
  • 2pages at /terms and /privacy, for people and as Markdown for agentsPage

Your agent does

Agreement.create then Document.create then Page.create
You, to your agent

Publish my terms and privacy policy.

Write my terms of service.

I need a privacy policy.

# 1. Agreement.create
curl -X POST https://api.sb/leaseline.app/agreements \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"term":"Example term"}'

# 2. Document.create
curl -X POST https://api.sb/leaseline.app/documents \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"form":"document"}'

# 3. Page.create
curl -X POST https://api.sb/leaseline.app/pages \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"path":"/terms"}'
import { $ } from 'startup-builder'

await $.Agreement.create({ term: 'Example term' })
await $.Document.create({ form: 'document' })
await $.Page.create({ path: '/terms' })
npx startup-builder do Agreement.create --json '{"term":"Example term"}'
npx startup-builder do Document.create --json '{"form":"document"}'
npx startup-builder do Page.create --json '{"path":"/terms"}'
{
  "name": "do",
  "arguments": {
    "code": "await $.Agreement.create({ term: 'Example term' })\nawait $.Document.create({ form: 'document' })\nreturn await $.Page.create({ path: '/terms' })"
  }
}

Change it

  • Add a 30-day refund policy.
  • Add a cookie notice for visitors in the EU.
  • Show me which Customers accepted the old terms.

Under the hood

Systems
Terms and policies, Privacy, Sites
Nouns
Agreement, Document, Purpose, Page
Events
Agreement.created, Document.created, Page.created

The terms become an Agreement when a buyer accepts them at checkout, and each publish is a Version. The same Workflow runs once when the Startup is created, so the paper is ready before the first Offer (how paper works).