Terms Setup is a feature that enables accounts (sellers) to define and manage intellectual property (IP) licensing terms for their content. It provides a comprehensive system for creating, updating, approving, and managing three types of IP terms: VoiceOver, Image, and Likeness.
The Terms Setup feature allows sellers to:
The system supports three distinct types of IP terms:
Each account can have exactly one active term per type at any given time.
ipApprove: true) before they become activeTerms support various compensation structures:
Terms can require different levels of approval:
The Terms Setup feature follows a layered architecture:
apps/zooly-app/app/api/terms-setup/) - Next.js route handlerspackages/app/srv/src/terms-setup/) - Core business logicpackages/db/src/access/ipTerms.ts) - Data access functionspackages/terms/) - Legal text templates and formattingThis separation ensures:
When a seller first accesses terms for a specific type, the system automatically generates default terms with sensible defaults. This eliminates the need for manual setup and ensures all accounts have terms available.
Terms are never physically deleted from the database. Instead, they're marked with a deletedAt timestamp. This preserves audit trails and allows terms to be recreated after deletion.
Every term change is tracked:
createdBy)updatedBy)createdAt)updatedAt)deletedAt)Each term includes a termsVersion field that tracks which version of the legal template was used. This enables compliance tracking and allows for future template updates.
Users with the "admin" role can manage terms for any account by providing an accountId parameter. This enables support and administrative workflows.