Legal Documents - Getting Started
Overview
The Legal Documents Management System allows administrators to manage Terms of Service and Privacy Policy documents with user acceptance tracking, version control, and compliance audit trails.
This guide walks through setting up and using the system.
What You'll Learn
- How the legal documents system works
- How to create and publish documents
- How users accept terms
- How to track and export acceptance records
- Best practices for enforcement
Key Concepts
Active Document
Only one document version per type (terms or privacy) can be active at a time. This is the version users must accept.
Draft
An unpublished document that can be edited. Once published, it becomes immutable.
Version
Uses semantic versioning (1.0.0, 2.0.0, etc.):
- 1.0.0 = First release
- 1.1.0 = Minor update
- 2.0.0 = Major change
Enforcement Type
Two options for requiring acceptance:
- Immediate: Users blocked from platform until they accept (use for material changes)
- Grace Period: Users see dismissible banner; blocked after X days (use for minor updates)
Acceptance Record
Each time a user accepts, we record:
- User ID
- Document version
- Exact timestamp
- IP address
- User agent
Before You Start
Make sure you have:
- Admin account with email in whitelist
- Access to
/legaladmin panel - Your Terms of Service document
- Your Privacy Policy document
Step 1: Access the Admin Panel
- Navigate to
https://civstart.ventures/admin - Sign in with your admin email
- Look for "Legal Docs" in the left sidebar (between Credit Config and Settings)
- Click to go to document list
Step 2: Create Your First Document
Create Terms of Service
- Click "Create Document" button
- Fill in the form:
- Type: Select "Terms of Service"
- Version: Enter
1.0.0 - Title: "Terms of Service" or your preferred title
- Content: Paste your full Terms of Service text
- Effective Date: Select date when terms become effective
- Enforcement:
- Toggle "Require Immediate Acceptance" ✓ (for first version)
- Click "Save & Publish"
- Document is now active and required for all users
Create Privacy Policy
Repeat the same steps but:
- Type: Select "Privacy Policy"
- Content: Paste your Privacy Policy
Step 3: Verify Publishing
- You should see both documents in the list view
- Both should show "Active" badge (green)
- Click on each to verify content displays correctly
Step 4: Test as User
Create Test Account
- Sign out as admin
- Sign up as a new user
- You should see "Terms of Service & Privacy Policy" modal
- Read both tabs
- Check the agreement checkbox
- Click "Accept Terms"
- You should be granted access
Check Settings
- Go to
/settingspage - Scroll to "Legal Agreements" section
- You should see:
- ✓ Terms of Service v1.0.0 - Current
- ✓ Privacy Policy v1.0.0 - Current
- Click "Review" to verify you can open modal again
Step 5: Monitor Acceptances
View Acceptance Logs
- Admin panel → Legal Docs → Acceptances (or click "Acceptances" link)
- You should see the test user you just created
- Shows:
- User email
- Document type
- Version accepted
- Acceptance timestamp
- IP address (if captured)
Export CSV
- Still on Acceptances page
- Click "Export CSV" button
- Downloads
terms-acceptance-YYYY-MM-DD.csv - Can open in Excel, Google Sheets, etc.
Step 6: Update Documents (Later)
When you need to update terms (e.g., next month):
Create New Version
- Admin panel → Legal Docs
- Click "Create Document"
- Fill form:
- Type: Terms of Service (same as before)
- Version:
1.1.0(increment minor version) - Content: Updated terms text
- Enforcement: Choose immediate or grace period
- Click "Save & Publish"
What Happens
- Previous v1.0.0 automatically archived
- New v1.1.0 becomes active
- All users see modal on next login
- Users must accept v1.1.0 to continue
Enforcement Strategies
Immediate Acceptance
Use for material changes (legal requirements, new restrictions):
✓ Require Immediate Acceptance
Grace Period: [disabled]
User Experience:
- Next login → Blocking modal
- Cannot access platform until accepts
- Accept → Granted access
Grace Period
Use for minor updates (clarifications, wording changes):
☐ Require Immediate Acceptance
Grace Period: 7 days
User Experience:
- Next login → Dismissible banner
- Can continue using platform
- Banner shows deadline
- After 7 days → Modal becomes blocking
Best Practices
Versioning
Initial launch → 1.0.0
Minor updates → 1.1.0, 1.2.0
Major changes → 2.0.0, 3.0.0
Enforcement
- Immediate: Legal requirement, policy change, new restrictions
- Grace Period: Formatting, clarification, wording improvement
Communication
Before publishing major updates:
- Notify users via email
- Explain what changed
- Link to new version
- Set clear deadline if grace period
Audit
Regularly check acceptance rates:
- Go to document details
- Click "Analytics" tab
- Check acceptance rate %
- Follow up if acceptance rate is below 95%
Common Tasks
View Document Details
- Admin → Legal Docs
- Click on document card
- See:
- Full content
- Enforcement settings
- Analytics (if published)
- Recent acceptances
Edit Document (Draft Only)
- Admin → Legal Docs
- Click document → Click "Edit" button
- Update content
- Click "Save Draft"
- Not published yet - users don't see it
- Later: Click "Publish"
Cannot Edit Published Document?
This is intentional for audit trail.
Solution: Create new version
- Click document → Click "Duplicate"
- Edit new version
- Publish new version
- Old version automatically archived
Remove from Active
Cannot "unpublish" a document.
Solution: Publish a new empty version (rarely needed)
- Not recommended for compliance reasons
- Keeps audit trail intact
Troubleshooting
Modal not showing for users
- Check
/legal/statusAPI returnsneedsAcceptance: true - Verify user's version doesn't match active version
- Verify document is marked
isActive: truein database
Can't see Legal Docs in sidebar
- Admin sidebar may need to reload
- Clear browser cache
- Check your email is in admin whitelist
CSV Export empty
- Check filters aren't too restrictive
- Verify documents have been published
- Check date range if filtering
Acceptance not recorded
- Check network request to
/legal/acceptsucceeds - Verify user is authenticated
- Check database
document_acceptancestable
Advanced Features
Analytics
- View acceptance rates per document
- See exactly how many users accepted
- Track trends over time
- Inform compliance efforts
Audit Trail
- Every acceptance recorded with timestamp
- IP address captured (for security)
- User agent stored (for device tracking)
- Immutable once accepted
CSV Export
- Download all acceptance records
- Useful for compliance audits
- GDPR/legal requirement documentation
- Filter by type, date, email
Next Steps
- ✓ Create your initial documents
- ✓ Test as a user
- ✓ Check Settings page shows legal section
- ✓ Review acceptance logs
- ✓ Practice exporting CSV
Related Documentation
- Feature Guide - Complete feature overview
- API Reference - API endpoints and parameters
- Deployment Guide - Production deployment
- Testing Guide - Full testing checklist
Getting Help
- Check the Troubleshooting section above
- Review Feature Guide for detailed explanations
- Check API docs if using API directly
- Contact support if issues persist
Summary
You now have a complete legal documents management system:
✓ Create, edit, and publish terms/privacy policy ✓ Track user acceptances with audit trail ✓ Export compliance records ✓ Manage versions with flexibility ✓ Choose enforcement strategy per update
The system ensures users affirmatively accept your terms and maintains a complete audit trail for compliance purposes.
Happy documenting! 📄✨