Configuration

PolicyGen uses a policygen.json configuration file to customize your generated privacy policy and terms of service. This reference covers all available options.

Configuration Overview

The configuration file has four main sections:

{
"$schema": "https://policygen.xyz/schemas/0.6/schema.json",
"output": { /* Output configuration */ },
"entity": { /* Your organization details */ },
"privacy": { /* Privacy policy options */ },
"terms": { /* Terms of service options */ }
}

Output Configuration

Controls how and where policies are generated.

OptionTypeDefaultDescription
privacyFilePathstring-Output path for privacy policy. Use {locale} placeholder for multi-language
termsFilePathstring-Output path for terms of service
fileType"html" | "astro""html"Output format
cssFramework"tailwind" | "daisyui" | "classes""classes"CSS class style
localesstring[]["en"]Languages to generate

Example

{
"output": {
"privacyFilePath": "./src/pages/privacy.html",
"termsFilePath": "./src/pages/terms.html",
"fileType": "html",
"cssFramework": "tailwind",
"locales": ["en"]
}
}

Entity Configuration

Information about your organization.

OptionTypeRequiredDescription
namestringYesLegal name of your organization
websitestringYesPrimary website URL
addressstringNoPhysical/mailing address

Example

{
"entity": {
"name": "Acme Corp",
"website": "https://acme.com",
"address": "123 Main St, San Francisco, CA 94102"
}
}

Privacy Configuration

All options for customizing your privacy policy.

Contact & Basics

OptionTypeDefaultDescription
privacyEmailstring-Contact email for privacy inquiries
platformsstring[]["web"]Platforms: web, mobile, desktop, browserExtension
locationsstring[][]Operating regions: us, eu, uk, other
privacyPagestring-URL where users can manage privacy settings

Data Collection

OptionTypeDefaultDescription
personalInformationstring[][]Personal data collected: name, email, phone, address, password, ipAddress, deviceId, creditCard, locationData, anonymizedUsageData
sensitiveInformationstring[][]Sensitive data: ssn, financial, health, biometric, genetic, political, sexualOrientation, criminalHistory, religion
socialSignInbooleanfalseSupport social login (Google, Facebook, etc.)
paymentDatabooleanfalseCollect payment information
paymentProcessorsstring[][]URLs to payment processor privacy policies
appUsageDatabooleanfalseCollect app usage/analytics data

Third-Party Data

OptionTypeDefaultDescription
thirdPartyDatastring[][]Data from third parties: advertising, analytics, socialMedia, purchase, email, support, crm, job, address, behavior
thirdPartyDisclosurebooleanfalseShare data with service providers
thirdPartyDisclosureEntitiesstring[][]Categories of service providers
thirdPartySharingbooleanfalseSell/share data for marketing
thirdPartySharingEntitiesstring[][]Categories of marketing partners

Tracking & Analytics

OptionTypeDefaultDescription
webTrackingbooleanfalseUse cookies and tracking technologies
thirdPartyAnalyticsbooleanfalseUse third-party analytics (Google Analytics, etc.)

Security & Compliance

OptionTypeDefaultDescription
securityMeasuresbooleanfalseImplement security measures
serviceRequirementsstring[][]Processing purposes: accounts, communication, orders
legalBasisstring[][]GDPR legal bases: advertising, marketing, analytics, security, fraudPrevention
dataRetentionPeriodstring-How long data is retained (e.g., “1 year”)
usStatePrivacyLawsbooleanfalseComply with US state laws (CCPA)

Data Protection Officer

OptionTypeDefaultDescription
dpobooleanfalseHave a Data Protection Officer
dpoNamestring-DPO’s name
dpoEmailstring-DPO’s contact email
dpoPhonestring-DPO’s phone number

Browser Extension (v0.5+)

For browser extension privacy policies.

OptionTypeDescription
browserExtension.namestringExtension name
browserExtension.permissionsstring[]Browser permissions requested
browserExtension.hostPermissionsstring[]Host permissions (URLs)
browserExtension.dataCollectedstring[]Data types collected
browserExtension.dataSentTostringWhere data is sent
browserExtension.runsLocallybooleanProcesses data locally
browserExtension.storeListingUrlstringStore listing URL

New in v0.6

CPRA Compliance

OptionTypeDefaultDescription
cpraCompliancebooleanfalseCalifornia Privacy Rights Act compliance. Adds rights to correct data, limit sensitive data use, and opt-out of automated decision-making

VCDPA Compliance

OptionTypeDefaultDescription
vcdpaCompliancebooleanfalseVirginia Consumer Data Protection Act compliance. Required for businesses processing data of 100,000+ VA consumers
OptionTypeDefaultDescription
cookieConsentbooleanfalseImplement cookie consent mechanisms
cookieConsentProviderstring-Cookie consent provider name (e.g., “OneTrust”, “CookieYes”)

Data Breach Notification

OptionTypeDefaultDescription
dataBreachNotificationbooleanfalseHave breach notification procedures
dataBreachTimeframestring-Notification timeframe (e.g., “72 hours” for GDPR)

Cross-Border Data Transfers

OptionTypeDefaultDescription
crossBorderTransfersbooleanfalseTransfer data internationally
transferMechanismsstring[]-Legal mechanisms: scc (Standard Contractual Clauses), bcr (Binding Corporate Rules), adequacy (Adequacy Decision)

COPPA Compliance

OptionTypeDefaultDescription
coppaCompliancebooleanfalseChildren’s Online Privacy Protection Act compliance
childrenMinAgenumber13Minimum age for users

Terms Configuration

All options for customizing your terms of service.

Basic Settings

OptionTypeDefaultDescription
supportEmailstring-Contact email for support
underEighteenbooleanfalseAllow users under 18
underThirteenbooleanfalseAllow users under 13 (COPPA implications)
userAccountsbooleanfalseRequire user accounts

Payments & Subscriptions

OptionTypeDefaultDescription
purchasableGoodsbooleanfalseSell one-time purchases
subscriptionbooleanfalseOffer subscriptions
freeTrialbooleanfalseOffer free trials
autoRenewbooleanfalseAuto-renew subscriptions
refundPolicy"none" | "full" | "prorata""none"Refund policy

User Content

OptionTypeDefaultDescription
userContentbooleanfalseAllow user-generated content
userContentLicensebooleanfalseClaim license to user content
OptionTypeDefaultDescription
governingLawstring"California"Governing jurisdiction
disputeResolution"arbitration" | "litigation""litigation"Dispute resolution method
mediationbooleanfalseRequire mediation first
prohibitedUsesstring[][]Prohibited uses: crawling, illegal, harmful, infringing, abusive, spam, advertising, impersonation, accountTransfer

Service Level Agreement

OptionTypeDefaultDescription
serviceSLAbooleanfalseOffer SLA
serviceSLAAmountnumber0Uptime percentage (e.g., 99.9)
serviceSLATimeframestring-Measurement period
serviceSLARefundbooleanfalseSLA refunds
serviceSLARefundType"full" | "prorata"-Refund type
serviceSLACustomstring-Custom SLA text

Liability

OptionTypeDefaultDescription
liabilityLimitationbooleanfalseLimit liability
liabilityLimitationTypestring-amount_paid, amount, or minAmountPaidOrAmount
liabilityLimitationTimeframestring-Timeframe for calculation
liabilityLimitationAmountnumber0Fixed cap amount

New in v0.6

Force Majeure

OptionTypeDefaultDescription
forceMajeurebooleantrueInclude force majeure clause. Protects against liability for events beyond your control (natural disasters, wars, pandemics, etc.)

DMCA Takedown

OptionTypeDefaultDescription
dmcaTakedownbooleanfalseInclude DMCA takedown procedure. Required for US safe harbor protection when hosting user content
dmcaEmailstring-Email for DMCA notices

Tax Liability

OptionTypeDefaultDescription
taxLiabilitybooleanfalseInclude tax disclaimer. Clarifies users are responsible for applicable taxes
taxJurisdictionstring-Primary tax jurisdiction

Migration Guide: v0.5 to v0.6

Breaking Changes

None. v0.6 is backward compatible with v0.5 configurations.

New Features

  1. Update your schema URL:

    "$schema": "https://policygen.xyz/schemas/0.6/schema.json"
  2. Add new privacy features (optional):

    {
    "privacy": {
    "cpraCompliance": true,
    "vcdpaCompliance": true,
    "cookieConsent": true,
    "cookieConsentProvider": "OneTrust",
    "dataBreachNotification": true,
    "dataBreachTimeframe": "72 hours",
    "crossBorderTransfers": true,
    "transferMechanisms": ["scc", "adequacy"],
    "coppaCompliance": true,
    "childrenMinAge": 13
    }
    }
  3. Add new terms features (optional):

    {
    "terms": {
    "forceMajeure": true,
    "dmcaTakedown": true,
    "dmcaEmail": "dmca@example.com",
    "taxLiability": true,
    "taxJurisdiction": "United States"
    }
    }

Regenerate Policies

After updating your configuration:

Terminal window
npx policygen generate