Setup Guide
Everything you need to know — organized your way
New here? Try the Platform Tour or the Getting Started wizard — see every feature at a glance, or set up your account interactively.
Stories
Share moments that last 24 hours in your Stories feed -- then live forever in your Stories Archive.
| Feature | Details |
|---|---|
| Duration | 24 hours visible, then auto-moves to Archive |
| Archive | Permanent, browsable by month, searchable by caption |
| Repost | One-click repost creates a fresh 24-hour story from any archived story |
| Highlights | Pin stories to your profile permanently |
| Views | See who viewed your story with timestamps |
| Reactions | Quick-react to any story |
Page: Stories
Reels and Short-Form Video
Create and share short videos. Supports duets, stitches, and auto-generated captions.
| Feature | Details |
|---|---|
| Duets | Record side-by-side with another creator's video |
| Stitches | Clip and respond to another creator's video |
| Auto-Captions | Enabled by default -- speech-to-text with 8 styles and 20 languages |
| Sounds | Use audio from the Sounds Library or upload your own |
| Likes and Comments | Full engagement on every reel |
Page: Reels
Smart Video Editor
Edit videos directly on the platform. Two modes: Auto (AI-powered) and Custom (full timeline).
| Mode | What It Does |
|---|---|
| Highlight Reel | AI picks the best moments and creates a compilation |
| Teaser | AI creates a short preview clip for promotion |
| Recap | AI summarizes a long video into key moments |
| Best-Of | AI selects top scenes across multiple videos |
| Custom Editor | Multi-track timeline with trim, cut, effects, transitions, speed control |
Page: Video Editor
Auto-Generated Closed Captions
Every video can have captions generated automatically from speech.
| Feature | Details |
|---|---|
| Styles | 8 caption styles (Classic, Bold, Outline, Shadow, Neon, Minimal, Gradient, Retro) |
| Languages | 20 languages supported |
| Modes | Burn-in (permanent in video) or Overlay (viewer can toggle on/off) |
| Auto-Enable | Captions generate automatically for Feed Posts, Stories, and Reels (configurable in Settings) |
Settings: Go to Settings to configure which content types auto-generate captions.
Transcripts
Searchable text library from all your video content. Every word is indexed and searchable.
| Feature | Details |
|---|---|
| Sources | 12 video source types (feed, stories, reels, cam, calls, custom content, etc.) |
| Search | Full-text search powered by PostgreSQL tsvector with GIN index |
| Organization | Folders, pinning, tags, notes per transcript |
| Reader | Modal with timestamped segments -- click any segment to jump to that point in the video |
| Auto-Save | Configurable: auto-transcribe watched videos, bookmarked, messages, orders |
| Stats | Dashboard showing total transcripts, words, hours transcribed |
Page: Transcripts
Sounds Library
Browse, save, and use audio clips in your Reels and Stories. Upload your own sounds for others to use.
How it works: When you use a sound in a Reel, other creators can tap the sound icon to use the same audio in their own content.
Advanced Feed Features
The Feed has powerful features beyond basic posting.
10 Media Layout Options
Choose how your media displays in each post:
| Layout | Description |
|---|---|
| Auto | Platform chooses best layout based on media count |
| Stacked | All media vertically stacked |
| Side by Side | Two items next to each other |
| 2x2 Grid | Four items in a square grid |
| 3 Column | Three items per row |
| 4 Column | Four items per row |
| 1 Large + Small | One featured item with smaller thumbnails |
| Large + Row | One large item above a row of smaller items |
| Masonry | Pinterest-style two-column layout with varying heights |
| Carousel | Swipeable slider with arrow navigation |
All layouts display media at full size (uncropped). Layout is saved per-post.
Feed Albums
Group media into albums. Posts with 20+ items automatically become albums. You can also manually create albums or add to existing ones.
5 Preview Modes
Before posting, preview how your content will look in 5 different views: Feed, Grid, Album, Carousel, and Masonry.
Timed Posts
Posts that auto-expire after a set duration. When they expire, they move to Timed History (not Archive). Archive is for content you manually archive; Timed History is for content that naturally expired.
Schedule Picker
Schedule posts for future dates and times. Scheduled posts appear in your Content Calendar.
Drip-Feed Posting
Automatically space out multiple posts over time instead of posting all at once.
Post Editing
Edit any post at any time -- no time restrictions. Unlike OnlyFans, you can change text, media, tags, and layout whenever you want.
Post Engagement
Likes, comments, shares, and engagement metrics visible on all post views (Feed, Drafts, Archive, Scheduled, Timed History).
Post Metadata
Every post tracks: created date, edited dates, scheduled time, expiry time, platform source, cross-post status, engagement counts.
EXIF Date Extraction
When you upload photos, the platform reads the EXIF data to determine when the photo was actually taken. This is used to order content chronologically in the Content Gallery.
Drag-and-Drop Upload
Drop files directly onto the compose box to upload. Works on desktop and iPad.
Content Gallery
Your unified media library, organized chronologically by when each photo or video was captured (from EXIF data).
| Tab | What It Shows |
|---|---|
| All | Every photo and video in chronological order |
| Albums | Your albums with cover photos and media counts |
| Create Post | Select media from your gallery to create a new post |
Mirrors the Apple Photos experience -- one unified timeline for everything.
Page: Content Gallery
Ask Box / Q&A
Fans submit questions (anonymous or named). You answer them, and optionally publish answers for everyone.
| Feature | Details |
|---|---|
| Free Questions | Each fan gets a free question quota (default: 3). After that, questions are paid. |
| Paid Questions | Default $5 per question. You set the price. |
| Priority Questions | Default $15 -- jumps to front of inbox. You set the price. |
| Platform Fee | 15% on all paid questions. Customer pays Stripe fee on top. |
| Duplicate Detection | If 50 fans ask the same thing, all 50 pay. But once you publish an answer, future fans get it free. |
| Auto-Response KB | Every answered question auto-saves to your knowledge base. Enable auto-respond per answer for instant replies to similar questions. |
| Publish to Feed | "Answer and Post" publishes the answer publicly -- future fans get it free. |
Page: Ask Box
Audio Rooms / Spaces
Host live audio conversations with your fans. Similar to Twitter Spaces or Clubhouse, but integrated with your monetization (fans can tip during rooms).
Page: Audio Rooms
Channel Points
Gamification reward system. Fans earn points for engagement (watching, commenting, tipping) and redeem them for rewards you define. Works across all content types, not just streams.
Matching
Dating-style matching system for performer-to-performer networking and fan-to-performer connections. Industry-specific profiles and matching criteria.
Raid System
Send your live audience to another creator's stream or room. Builds community and cross-promotes. Works on all live content types (cam rooms, audio rooms, live events).
Memories ("On This Day")
See what you posted on this date in previous years. Pulls from all content types: posts, stories, photos, videos. Get nostalgic and easily repost old content.
Duets and Stitches
Duets: Record your video side-by-side with another creator's video. Great for reactions, collaborations, and challenges.
Stitches: Clip a segment of another creator's video and add your own response after it.
Both are available in Reels. The original creator is always credited and linked.
Kanban Project Board
Trello-style project management built into your creator workflow. Drag cards between columns to track content from idea to published.
| Feature | Details |
|---|---|
| Custom Columns | Create your own workflow stages (Ideas, Filming, Editing, Published, etc.) |
| Cards | Each card can have descriptions, due dates, labels, checklists |
| Drag and Drop | Move cards between columns by dragging |
| Multiple Boards | Separate boards for different projects |
Page: Project Board
Notes
A full notes system combining Apple Notes, Notion, and customer notes in one place.
| Feature | Details |
|---|---|
| Note Types | Notes, Pages, Checklists |
| Sort | 8 options: Last Updated, Date Created, Oldest First, A-Z, Z-A, By Category, By Folder, By Kind |
| Filter | By type, category, attachments, text search |
| Grouped Views | When sorting by Category, Folder, or Type, notes display under section headers with counts |
| Folders | Sidebar with sort options and note counts per folder |
| Categories | Tag each note with a category, auto-suggestions from existing categories |
| Customer Notes | Link notes to specific customers. See all notes for a customer grouped by source page. |
| Sticky Notes | Pin important customer notes to always appear at top |
| Auto-Folders | Notes auto-file into folders based on which page you wrote them from (Inbox Notes, Booking Notes, Message Notes, etc.) |
| Auto-Sync | Development changelog automatically synced as notes in Platform Updates folder |
Page: Notes
Unified Inbox
All your pending action items in one place. Separate from Messages (which is for DM conversations).
| Source | What Appears |
|---|---|
| Booking Requests | Pending booking requests with dates, durations, amounts |
| Custom Requests | Pending custom content orders with specs and budgets |
| Ask Box | Unanswered fan questions |
| Tips | New tips with messages |
Lifecycle: Items flow from Unread to Read to Acted On. Each item has a Notes button to add customer notes right from the inbox.
Sort: By received date, due date, amount, unread first, or type.
Customer Notes Panel: Click "Notes" on any item to see a slide-out panel with All Notes, plus tabs for each page (Inbox Notes, Booking Notes, Message Notes). Sticky notes always float to top.
Page: Inbox
Expedite / Priority Bidding
Let customers pay to jump the production queue. Optional bidding mode creates demand-based pricing.
| Setting | Default | Description |
|---|---|---|
| Base Fee | $10 | Fixed fee to expedite a request |
| Max Slots | 3 | Maximum number of expedited requests at any time |
| Bidding Mode | Enabled | When slots are full, customers outbid each other |
| Min Bid Increment | $5 | Minimum amount to outbid current expedited request |
Configure in Settings.
Custom Phrases
Personalized auto-responses per customer. Set nicknames and rotating phrases for tips, greetings, and thank-yous.
| Feature | Details |
|---|---|
| Nicknames | Set a custom nickname per customer (e.g., "my sweet slave" for a specific fan). Use {{nickname}} in phrases. |
| Categories | tip_response, greeting, thank_you, farewell, general |
| 5 Rotation Modes | Least Used (max variety), Most Used (favorites first), Random, Sequential (1-2-3-1-2-3), Weighted |
| Auto-Detect | System scans your sent messages. If you use the same phrase 3+ times to the same person, it suggests saving it. |
Timed Messages
Send messages that auto-expire after a set duration. Expired messages move to Timed History (separate from Archive).
Message Metadata Popup shows full lifecycle: sent time, read time, replied time, expired time.
Video and Voice Calls
FaceTime-style calls with your fans. Supports both video and voice-only modes.
| Feature | Details |
|---|---|
| Call Types | Video call, Voice call, Group call |
| Call Queue | Fans join a queue. Paid calls prioritized over free calls. |
| Pricing | Set per-minute rates. 15% platform fee. |
| Friend Calls | Free calls between friends (no charge) |
Page: Video Calls
External Payment Connections
Display your CashApp, Zelle, Venmo, and PayPal handles on your profile. These are display-only -- the platform cannot send money to these services directly, but you can log transactions and track the 15% platform fee.
Credit Wallet
Credits for purchasing templates and other marketplace items. Credits can be cashed out (15% fee applies).
Promotional credits are tracked separately and have $0 real value -- they cannot be cashed out.
Loyalty Badges
10 badge types that reward engagement and loyalty:
| Badge | How to Earn |
|---|---|
| Testing Pioneer | Early testers during beta |
| Founding Member | Signed up during launch period |
| Loyal Fan | Subscribed for 3+ months |
| Super Fan | Subscribed for 12+ months |
| Top Tipper | In top 10% of tippers for a performer |
| Content Creator | Published 100+ posts |
| Community Builder | Referred 10+ new users |
| Verified | Completed identity verification |
| Safety Champion | High safety score maintained |
| Custom | Performer-defined badges for specific fans |
Presence Modes
Control how you appear to others:
| Mode | What Others See |
|---|---|
| Online | Green dot -- you are active |
| Busy | Red dot -- you are busy, may not respond quickly |
| Away | Yellow dot -- you stepped away |
| Incognito | No dot -- you appear offline but can still browse and use the platform |
| Offline | No dot -- you are actually offline |
Universal Platform Search
Search across the entire platform with Ctrl+K (or Cmd+K on Mac). Results include pages, features, settings, content, and people. Keyword-rich entries help you find anything instantly.
Change Trail (Edit History)
Every edit across any content type is logged. See what changed, when, and by whom.
| Visibility Mode | Who Can See |
|---|---|
| Show | Other users can see your edit history |
| Hidden | Only you can see your edit history |
| Off | Edit history not recorded |
Set your preference in Settings.
Universal Undo System
Available on 62 pages. A floating action button (FAB) in the bottom corner lets you undo filter, sort, and view changes -- or reset the entire page to defaults. Theme-aware and collapsible.
Role Switcher
If you have multiple roles (e.g., Performer + Studio + Agent), switch between role-specific views on any page. Available on 60+ pages.
| View | What You See |
|---|---|
| Combined | All roles merged -- see everything |
| Performer | Only performer-relevant content and features |
| Studio | Only studio management features |
| Agent | Only agent/booking features |
| Admin | Admin-only views with user management and platform settings |
Multi-Email Login
Link multiple email addresses to your account. Log in with any of them. Useful if you have separate personal and business emails.
Example: [email protected] and [email protected] both log into the same account.
Works with password login, Google OAuth, and Twitter/X OAuth. Apple and Outlook sign-in coming soon.
Universal Privacy Isolation
Every user sees ONLY their own private data. Payments, addresses, messages, drafts, archives, earnings, and settings are never visible to other users. Other users see only your PUBLIC content. Archived content is not public.
This is enforced server-side at the database query level -- not just hidden in the UI.
Health Monitoring
Automatic bug detection and performance monitoring. Tracks client-side JavaScript errors, API response times, and error patterns. Admin-only feature.
Admin: View error logs, API health, and auto-detected bug patterns in the Admin panel.
User Subdomains and Vanity URLs
Your profile is accessible at both indulgon.com/u/username and username.indulgon.com. Share either link.
3-Level Bookmark Categorization
Save any content with up to 3 levels of organization: Category, Subcategory, and Tag. Find saved content instantly.
Page: Bookmarks
Bots and Plugins
Extend the platform with bots and plugins. 10 pre-built bots included, plus a marketplace for community-created bots.
| Pre-Built Bot | What It Does |
|---|---|
| Auto-Responder | Replies to common messages automatically |
| Content Scheduler | Schedules posts based on optimal engagement times |
| Analytics Bot | Sends daily/weekly analytics summaries |
| Welcome Bot | Greets new subscribers automatically |
| Tip Tracker | Tracks and summarizes tip patterns |
Install bots from the marketplace, configure them per your needs, and manage their lifecycle (install, configure, disable, uninstall).
Page: Bots and Plugins
Visual Search
Search by image instead of text. Upload a photo to find similar content, products, or outfits on the platform. Powered by AI image recognition.
AR Filters
Camera effects for photos and videos. Creators can upload custom filters for brand customization. Fans can use filters when sending content in messages.
Companion Services
Offer real-world companion services with customer identity verification and a cross-performer review system. Reviews are verified against actual bookings.
Page: Companion Services
FAB Menu System
Floating Action Button in the bottom corner of every page. Quick access to:
- Universal Media Search (also via Ctrl+Shift+I)
- Undo/Reset for the current page
- Share page (auth-gated)
- Quick actions relevant to the current page
When one FAB expands, the other auto-closes to prevent overlap. Uses inverted colors (text on bg) for visibility in both light and dark themes.
Test Mode
Create tester accounts that bypass payment. Testers see a small badge visible only to admin. Generate test signup links with token-based auto-flagging.
How to create a tester: Generate a test link from Admin panel. Anyone who signs up through that link is automatically flagged as a tester.
Email Templates
21 email templates across 7 categories that automatically send at the right moment:
| Category | Templates |
|---|---|
| Account | Welcome, Password Reset, Email Verification |
| Booking | Request Received, Confirmed, Declined, Reminder, Completed |
| Order | Request Received, Quote Sent, Confirmed, Ready, Completed |
| Payout | Payout Sent, Payout Failed |
| Safety | Safety Alert, Account Locked |
| Support | Ticket Created, Ticket Resolved |
| Tip | Tip Received, Tip Thank You |
All templates include full form details (outfits, styles, roles, add-ons, etc.) so customers see exactly what they requested.
Progressive Web App (PWA)
Install the platform directly from your browser -- no app store needed. Works on iPhone, Android, iPad, and desktop.
| Feature | Details |
|---|---|
| Offline Support | Core pages work without internet |
| Push Notifications | Get notified of new messages, bookings, tips |
| Home Screen Icon | Launches like a native app |
| Auto-Updates | Always up to date, no manual updates |
Features that directly generate income for performers
Subscription Tiers
Offer Basic / VIP / Elite tiers with different credit allowances, free PPV counts, and custom request discounts. You set the prices and perks.
Pay-Per-View (PPV)
Lock any post behind a credit price. Preview teasers. Higher-tier subscribers unlock for free. Track revenue per post.
Mass DM
Bulk message all subscribers, a specific tier, or a custom list. Merge tags ({{first_name}}, {{tier}}) personalize each message. Attach media, set PPV prices, schedule.
Welcome Messages
Auto-DM new subscribers with a custom greeting + media. Option to auto-send every new content piece as a DM.
Tip Menu
Configurable menu of tip amounts with rewards: selfies, shoutouts, video messages, name on screen. Fans purchase, you fulfill.
Custom Request Forms
Fans order custom videos/photos/shows. Multi-format pricing, queue position, subscriber discounts applied automatically.
Credit System
4 packages ($10→10, $50→55, $100→120, $500→650). 1 credit = $1. Gift credits. Subscription credits expire monthly; purchased credits never expire.
Holiday Discounts
13 holidays with automatic discounts based on the day (Valentine's 14th = 14%, Halloween 31st = 31%). April Fools: fake 100% off, reveals 15%.
Spending Badges
Fans earn badges by spending. Dual consent (BOTH parties opt in). Incognito mode available: "Mystery Tipper ".
Grand Total Widget
Lifetime earnings across ALL streams: tips, subs, PPV, sales, bookings, video calls. Filter by date, export CSV/PDF.
Features for managing your presence across platforms and protecting your content
Cross-Platform Posting
Post once → publish to Twitter, Instagram, OnlyFans simultaneously. Different captions per platform, NSFW auto-blur for mainstream, independent scheduling.
Watermarking
Auto-watermark all uploads. Custom text/logo, position (bottom-right, center, etc.), opacity (10-100%).
Geo-Blocking
Block content from specific countries or states. Prevent family/neighbors from finding your profile.
DMCA Protection
File takedown requests for stolen content. Track status: Pending → Filed → Resolved (3-7 days).
Embed Widgets
Generate embeddable HTML for your personal website: profile, store, tip button, subscribe, feed preview.
Polls & Voting
Fan polls: outfit choices, content ideas, event decisions. Multiple choice, expiration, real-time results.
Social Platform Mirroring
Connect 10+ platforms (OF, Twitter, IG, Pornhub, ManyVids, etc.). Import content with original dates. One-way or bidirectional.
Content Calendar
Visual calendar of all posts + events. Auto-links posts to nearby bookings. Campaign planning across platforms.
Tools for organizing, creating, and managing your content library
Caption Library
Save and reuse best captions by category. Track which perform best by usage count.
Draft Campaigns
Group drafts by campaign ("AVN 2026" → 15 posts). Publish all at once when ready.
Smart Album Creation
AI detects photo patterns (dates, locations, EXIF) and suggests albums. You approve before publishing.
Post Visibility Toggle
Hide old posts without deleting. Re-enable anytime. Hidden = off profile but accessible via direct link.
Live Event Photos
Share photos in real-time at events. Auto-links to calendar. Burst detection groups rapid-fire shots.
6 Posting Modes
Real-time, Timed, Batch, Drip-Feed, Scheduled, Manual — each serves a different content strategy.
Cloud File Sync
Connect 7 cloud services (iCloud, Google Drive, Dropbox, OneDrive, Mega, Box, S3). Bidirectional sync. SHA256 dedup. Version history. Nothing ever deleted.
Event Discovery
Auto-scrape industry events (Exxxotica, AVN, XBIZ). Add to calendar with one click.
Gaming sessions and interactive entertainment features
Gaming Subscriptions
Weekly/Monthly/Yearly tiers for gaming sessions. Fans subscribe for guaranteed gaming time. Track hours used vs included.
Game Wishlist & Gifting
List games you want (Steam, Xbox, PSN). Fans gift games. Auto-thank-you message. Priority system.
Platform-wide settings, notifications, and account management
Notification Preferences
22 event types × 4 channels (Email, Push, SMS, In-App). Toggle each independently. Bulk update or per-event control.
Bank Sync Providers
6 providers: Plaid, Yodlee, MX, Finicity, Akoya, CSV Upload. If one doesn't work, try another. CSV works with every bank.
Profile & Discovery
Auto-enriched from public sources. Username aliases let fans find you by old platform names.
Data Import
Import from 10+ platforms: posts, chat history, earnings, subscribers, bank transactions. Original timestamps preserved.
Companion Services
Business tools for independent professionals: client management, rate cards, safety check-ins, discrete scheduling.
Legal & Compliance
GDPR export/deletion, age verification (2257), TOS management, tax documents (1099, W-9).
Safety Features
Safe words, check-in timers, location sharing with trusted contacts, client ratings, blocked user management.
House / Club Features
Multi-performer dashboards, shared calendars, revenue splitting, room scheduling.
AI Tools
Auto-captions, smart scheduling, hashtag suggestions, chatbot assistant for fan FAQs.
Video Calls & Live
1-on-1 calls with per-minute billing. Live streaming. Tipping during shows.
All Features A-Z
| Feature | Category | What It Does |
|---|---|---|
| AI Tools | Settings | Auto-captions, smart scheduling, hashtags, chatbot |
| Album Auto-Creation | Media | AI detects photo patterns and suggests albums |
| Bank Sync (6 providers) | Settings | Plaid, Yodlee, MX, Finicity, Akoya, CSV |
| Bookings & Scheduling | Settings | Calendar, availability, reminders, counter-offers |
| Caption Library | Media | Save/reuse best captions by category |
| Cloud File Sync | Media | 7 cloud services, bidirectional, version history |
| Community | Settings | Forums, groups, fan clubs, event coordination |
| Companion Services | Settings | Client management, rate cards, safety features |
| Content Calendar | Platform | Visual calendar, auto-links posts to events |
| Credit System | Revenue | 4 packages, 1 credit = $1, gifting, expiration rules |
| Cross-Platform Posting | Platform | Post once → publish to Twitter, IG, OF at once |
| Custom Requests | Revenue | Multi-format orders, queue, subscriber discounts |
| Data Import | Settings | Import from 10+ platforms with original timestamps |
| DMCA Protection | Platform | Takedown requests, status tracking, resolution |
| Draft Campaigns | Media | Group drafts by campaign, publish all at once |
| Earnings Grand Total | Revenue | ALL revenue streams combined, export CSV/PDF |
| Embed Widgets | Platform | HTML embed code for your personal website |
| Event Discovery | Media | Auto-scrape Exxxotica, AVN, XBIZ event sites |
| Events & Location | Settings | Location sharing (3 privacy levels), event schedules |
| Game Wishlist & Gifting | Gaming | Fans gift you games, auto-thank-you message |
| Gaming Subscriptions | Gaming | Weekly/Monthly/Yearly tiers for gaming sessions |
| Geo-Blocking | Platform | Block content by country or state |
| Holiday Discounts | Revenue | 13 holidays with automatic day-based discounts |
| House / Club Features | Settings | Multi-performer management, revenue splitting |
| Legal & Compliance | Settings | GDPR, age verification, tax documents |
| Live Event Photos | Media | Real-time photo sharing at events, burst detection |
| Marketplace | Revenue | 4-tab shop: digital, physical, used items, services |
| Mass DM | Revenue | Bulk messaging with merge tags, media, PPV pricing |
| Messaging (DMs) | Settings | Full DMs: media, tips, search, import history |
| Music & ASMR | Media | Audio content, playlists, ASMR sessions |
| Notification Preferences | Settings | 22 event types × 4 channels, granular control |
| Pay-Per-View (PPV) | Revenue | Lock posts behind credit price, tier-based free access |
| Polls & Voting | Platform | Fan polls with real-time results |
| Post Visibility | Media | Hide/show old posts without deleting |
| Posting Modes (6) | Media | Real-time, Timed, Batch, Drip-Feed, Scheduled, Manual |
| Profile & Discovery | Settings | Auto-enrichment, username aliases, public figure search |
| Safety Features | Settings | Safe words, check-ins, location sharing, client ratings |
| Social Mirroring | Platform | Connect 10+ platforms, import with original dates |
| Spending Badges | Revenue | Dual-consent badges, top fans, incognito mode |
| Subscription Tiers | Revenue | Basic/VIP/Elite with custom perks and pricing |
| Tip Menu | Revenue | Configurable tip amounts with rewards |
| Video Calls & Live | Settings | 1-on-1 calls, live streaming, per-minute billing |
| Watermarking | Platform | Auto-watermark uploads, custom text/position/opacity |
| Welcome Messages | Revenue | Auto-DM new subscribers, option to auto-send content |
Template Marketplace
135 templates available across 4 inspiration sources + originals. Each template is a CSS file that instantly changes your entire profile look.
- Sources: 88 Format.com-inspired, 15 GoDaddy-inspired, 15 Wix-inspired, 15 Squarespace-inspired, plus Default (default) and Classic (original)
- Browse: Filter by gallery style (horizontal, tiled, vertical, fullscreen, slideshow, masonry), light/dark, inspiration source (Format.com, GoDaddy, Wix, Squarespace, Original), search by name
- Preview: Click any template to open full preview modal with Desktop and Mobile device toggle. Preview any page (Dashboard, Profile, Feed, etc.) before applying
- Apply: One click to apply. Instant CSS swap, no page reload needed. Saved to your account
- Upload Your Own: Create custom CSS templates. Inspired templates (based on existing websites) are always free and named by last name. Original designs can be sold at your set price
- Navigate: Arrow keys (left/right) to browse between templates in preview mode. Escape to close
- Legal: Inspired templates include disclaimer per source: independently created, not affiliated with Format.com, GoDaddy, Wix, or Squarespace. Trademarks used solely for descriptive purposes
Access: Templates page in the More dropdown, or via Settings
Color Wheel Customizer
Customize any template's colors without losing the layout. Keep a template you love and make the colors your own.
- Color Picker: Click the palette button (bottom-right, next to theme toggle) to open the customizer panel. Adjust 11 color variables: Background, Text, Accent, Border, and more
- Eyedropper Tool: Pick any color from your screen and apply it to a variable. Works in Chrome 95+ using the native EyeDropper API
- Live Preview: Changes appear instantly as you adjust colors. No page reload needed
- Persistent: Custom colors are saved to your account and sync across devices. Also stored in browser localStorage for instant loading
- Per-Variable Control: Modify individual variables (background, text, accent, borders) independently. Mix and match to create your unique look
- Reset: One-click reset to template defaults removes all custom color overrides
Tip: Apply a template first, then use the color customizer to fine-tune. The customizer works on top of any template.
Content Preservation (Migration Safety)
When you shut down your account on an external platform (OnlyFans, ManyVids, Pornhub, etc.), ALL mirrored content stays intact on Indulgon. Nothing is ever lost.
- Full Backup: One-click full backup of all content from any connected platform -- posts, media files, earnings, messages, subscribers, profile data, statistics, comments, tips, paid messages
- Local Media Download: External CDN URLs expire when accounts close. The preservation system downloads all media files and stores them locally in your vault so they survive platform shutdown
- Auto-Preserve Mode: Enable per platform to automatically download and store media files during every sync. No manual backup needed
- Platform Closure Handling: When you close an external account, mark it as closed. All content is flagged as preserved but NEVER deleted. Content continues to display on your Indulgon profile
- Orphaned Content View: Browse all content whose source platform is no longer active, filtered by platform
- Health Monitoring: Check if connected platform accounts are still active. Get warnings when syncs go stale
- Full Export: Download all preserved content as JSON -- posts, earnings, messages -- filtered by platform
- Retention Policy: Indefinite retention. No automatic deletion. Only the performer can manually delete individual items
Key Principle: Your content is YOUR content. Even if OnlyFans, ManyVids, or any platform shuts down tomorrow, everything you've imported to Indulgon stays forever.
Public Profile (Personal Website)
Your profile doubles as your personal website -- like a personal portfolio website. Fans see a clean editorial site, not the full platform dashboard.
- Dual View: Toggle between Dashboard View (your admin panel) and Public Website Preview (what fans see)
- Custom Navigation: Configure which menu items fans see -- About, Covers, Interviews, Store, Film, Contact, or any custom sections. Completely up to you
- Social Links: Display your external platform links (Twitter, OnlyFans, SextPanther, Instagram, etc.) in a clean row below your nav
- Hero Image: Full-width hero with your name in large editorial typography and a tagline. Add any image URL as your background
- Section Content: Each nav item maps to a section. About shows your bio, Covers shows a photo grid, Store links to your marketplace, etc.
- Platform Nav Hidden: When fans view your profile, the full Indulgon navigation disappears. They only see YOUR custom nav -- like a standalone website
- Format.com Aesthetic: Uppercase nav items, generous spacing, Playfair Display headings, editorial photography-first layout
How: Go to Profile page, click "Edit Template" (bottom-right), configure your nav items, social links, showcase photos, and block visibility. What you see IS what fans see -- but with edit controls visible only to you.
Edit Template Panel
Click the "Edit Template" button to open the config panel. From here you can control every aspect of your public profile:
- Hero Image and Tagline: Set a background image URL and a short tagline (e.g. "Performer. Creator. Visionary.")
- Showcase Photos: Add unlimited photos to your showcase gallery. Paste image URLs, add captions, reorder with Up, or remove with x. See Showcase section below for details.
- Name Layout: Toggle between Vertical (letters stacked in two columns) and Horizontal (standard left-to-right). Vertical is the default editorial style -- Horizontal is traditional. Your choice is saved and persists across sessions.
- Navigation Pages: Add, remove, rename, and reorder the pages shown in your profile nav. Choose from built-in sections (About, Covers, Store, Film, Contact, etc.) or create Custom Pages with the Page Builder.
- Social Links: Add links to your external platforms (Twitter, Instagram, OnlyFans, etc.) shown in a row below your nav.
- Block Visibility: Toggle any section between Public (visible to fans) and Private (only you). Dashboard, Earnings, Analytics, Financial, and Admin default to private.
Showcase Gallery
The Showcase is a full-width swipeable photo gallery at the top of your profile, right below your hero/name. Think of it like a magazine -- visitors swipe or click through your best photos one at a time.
- Add Photos: In the Edit Template panel under "Showcase Photos", paste an image URL and click Add. Repeat for as many photos as you want -- there is no limit.
- Captions: Each photo has an optional caption field. Captions appear at the bottom of each slide.
- Reorder: Use the Up button next to each photo in the config panel to change the order.
- Remove: Click the x next to any photo to remove it.
- Navigation: Visitors can swipe left/right on mobile (like turning a page), use the left/right arrow buttons on desktop, or click the dot indicators at the bottom to jump to any photo.
- Scroll Snap: Each photo snaps cleanly into place -- no awkward half-slides.
- Placeholders: If you haven't added photos yet, 4 dark placeholder slides appear. Once you add your own photos, the placeholders disappear.
Use Cases: Feature your best photoshoots, magazine covers, event photos, behind-the-scenes shots, or anything you want front and center on your profile.
Photo Gallery and Auto-Discovery
Every photo you add lives in a central Photo Library. From there, you control where each photo appears -- Showcase, Gallery, or both.
- Gallery Section: Your profile has a dedicated Gallery page (in the nav). It displays all photos from your library in a grid. Hover over a photo to see its caption/source and management buttons.
- Showcase vs Gallery: Photos can be in the Showcase (swipeable hero gallery), the Gallery (grid section), or both. Toggle any photo between Showcase and Gallery by hovering and clicking "Add to Showcase" or "Remove from Showcase".
- Auto-Discovery on Signup: When a performer creates their account, the platform automatically searches for public photos matching their display name. Up to 8 HD images are fetched from public sources (Wikimedia, press sites, etc.). The first 4 go into the Showcase, and all 8 go into the Gallery. The performer can keep, remove, or rearrange any of them.
- Manual Search: In the Edit Template panel under Showcase Photos, use the search bar to find photos by name. Click the + on any result to add it. The source (e.g. "Wikimedia Commons", "AVN") is auto-populated as the caption -- you can change it to anything ("Penthouse Cover, March 2019").
- Source Attribution: Every photo tracks its source name and URL. This appears as the caption overlay on the Showcase slides and as hover text in the Gallery grid. Fully editable.
- Remove: Hover any Gallery photo and click "Remove" to delete it from your library entirely. This is a soft action -- the photo can always be re-added via search.
Example: Riley Reid signs up. The platform auto-discovers 8 photos from press events, magazine features, and awards shows. They appear in her Showcase and Gallery immediately. She removes 2 she doesn't like, changes the caption on her AVN photo to "AVN Awards 2023 - Best Actress", and adds 3 personal photos via URL. Her profile is photo-complete in under a minute.
Page Builder (Custom Layouts)
Create custom pages by combining views of existing platform features. Like Notion's linked databases -- the data is never duplicated, just displayed in your custom layout.
- 36 Embeddable Features: Bookings, Calendar, Earnings, Store, Wishlists, Feed, Messages, Safety, Achievements, Analytics, Portfolio, Music, Gaming, Video Calls, Vault, Cloud Files, Financial Hub, Expenses, Reports, Social, Community, Tip Menu, Polls, Credits, Companion, Pricing, Notifications, Discover, FinDom, Rider, House Girl, and more -- plus static blocks (Text, Image, Embed, Links, Contact Form)
- Mix and Match: Add any combination of feature blocks to a single page. Want Bookings + Calendar + Contact Form on one page? Done.
- No Data Duplication: Each block fetches live data from the same API as the standalone feature page. One source of truth.
- Block Controls: Set each block to Full Width or Half Width. Reorder with Up/Down. Toggle visibility per block (public vs private).
- Page Visibility: Set entire pages to Public (fans can see on your profile) or Private (only you). Mix of public and private blocks on the same page supported.
- Layouts: Single Column, Two Columns, or Sidebar + Main. Choose per page.
- Live Preview: See your page with real data as you build it. Each block shows actual content from its feature.
- Auto Nav Sync: Public custom pages automatically appear in your public profile navigation. Fans click the nav item and see your custom page with all its feature blocks.
- Standalone Pages Still Exist: Bookings, Calendar, etc. still have their own full pages in the platform nav. Custom pages are an additional way to combine and present them.
Example: Create a "My Business" page with Bookings + Calendar + Earnings blocks. Create a "Fan Zone" page with Wishlists + Store + Tip Menu. Both appear in your public profile nav.
Access: Page Builder in the More dropdown under Content, or via Settings.
Layout Editor (Drag, Resize, Reposition)
Every element on your profile/website is movable and resizable -- your name, tagline, hero image, nav bar, social links, section headings, bio text, footer, and any custom page blocks.
- Enter Edit Mode: Click the "Edit Layout" button (bottom-right of your profile page). A toolbar appears at the top with controls.
- Select Any Element: Click any element to select it. A blue border appears and the toolbar populates with its current Font Size, Width, Height, Align, and Padding.
- Drag to Move: Click and drag any selected element to reposition it anywhere on the page.
- Resize: Grab the small square handle at the bottom-right corner of any element to resize it.
- Toolbar Controls: Change Font Size, Width, Height, Alignment (left/center/right), and Padding numerically for precision.
- Arrow Keys: Nudge selected elements 1px at a time. Hold Shift for 10px jumps.
- Reset: Reset a single element to its original position, or "Reset All" to undo all layout changes on the page.
- Template Independent: Layout changes persist regardless of which template is applied. Switch templates and your custom positions stay.
- Auto-Save: Click "Done Editing" to save. Layout is stored locally and synced to the server. Refreshing the page restores your custom layout.
Note: Layout editing is per-page. Your profile page has its own layout, and each custom page has its own. Changes on one page do not affect others.
Floating Action Buttons (FAB)
The FAB bar is a row of 5 floating action buttons fixed to the bottom-right of every page. These provide instant access to the most important tools without navigating away from your current page.
5 FAB Buttons (left to right):
- Voice Narration -- Toggles screen reader voice mode on/off instantly. When active, the button appears highlighted. All page content, navigation, and notifications are read aloud.
- Panic / Safety -- Opens a safety popup (does NOT activate panic immediately). Inside the popup: select what is happening from a dropdown, then press and hold the red button for 3 seconds to activate. Immediate threats (physical danger, coercion, threatening person) skip emergency contacts and notify authorities first while also alerting your contacts with your GPS location.
- Color Customization -- Opens the color customizer panel where you can adjust your theme colors, accent colors, and visual style.
- Light / Dark Mode -- Toggles between light and dark mode. The icon changes dynamically: shows a sun icon in dark mode (click to go light) and a moon icon in light mode (click to go dark).
- AI Chat -- Opens the Indulgon AI mini chat panel. Ask questions, get help, or manage your account without leaving your current page. Click "Expand" to go to the full AI Assistant page.
All FAB button icons are SVG and automatically match your theme colors in both light and dark mode. The FAB bar appears on every page except login, signup, onboarding, and tutorial pages.
Phone Notifications (SMS)
Connect your phone to receive SMS notifications for messages, bookings, safety alerts, and earnings. Uses Twilio for reliable delivery. Your number is verified via a 6-digit code before any notifications are sent.
Setup Flow
- Go to Settings > Phone Notifications
- Enter your phone number (any US number, including TextNow numbers ported to Twilio)
- Click Send Code -- a 6-digit verification code is sent via SMS
- Enter the code and click Verify
- Once verified, configure which notifications you want: messages, bookings, safety, earnings
- Set quiet hours so notifications do not wake you (safety alerts always come through)
Notification Types
| Type | When it sends | Example |
|---|---|---|
| Messages | New message in inbox | "New message from Alex: 'Hey, are you...'" |
| Bookings | Booking confirmed/updated | "Booking confirmed with Studio X on May 15" |
| Safety | Check-in missed | "Safety check-in missed. Contacts notified." |
| Earnings | Milestone reached | "You earned $250 today!" |
Features
- Deep links: Each SMS includes a link that opens the specific conversation or page
- Reply from phone: Reply to the SMS and your response is sent as a message in that conversation. The conversation is automatically marked as read.
- Quiet hours: Set start/end times. No notifications during those hours. Safety alerts always bypass quiet hours.
- STOP/HELP: Reply STOP to unsubscribe. Reply HELP for support info. Reply START to resubscribe. Fully A2P 10DLC compliant.
- Paid messaging: Optionally let customers pay per-message or monthly to text you directly. Set your own rates.
- Test button: Send yourself a test notification to confirm everything works
Security
- Phone number verified via 6-digit code (10-minute expiry, max 5 attempts)
- Verification code cleared after successful verification
- SMS never contains explicit content -- only notification text with links
- All SMS content links back to authenticated pages that require login
Tax Revenue Calculator
Track income and expenses across all platforms and bank accounts. Import 1099s from IRS transcripts, upload bank statement CSVs, and auto-categorize every transaction. Generate tax-ready reports and cross-reference sources to catch discrepancies.
Getting Started
- Go to Finances > Tax Calculator
- Start with the 1099 Forms tab: add 1099s manually or paste your IRS Wage and Income Transcript text
- Go to the Bank Statements tab: upload CSV exports from your bank
- Review auto-categorized transactions in the Transactions tab (recategorize any that are wrong)
- Check the Discrepancies tab: flags differences between what 1099s report and what your bank shows
- View the Summary tab for year-by-year revenue breakdown
- Click Export Report for a downloadable tax summary
Auto-Categorization (172+ Patterns)
Covers all 20 roles: platform income (OnlyFans, SextPanther, Spotify, YouTube, Etsy, Twitch, Kick, Patreon, and 40+ more), scene/studio income (20+ studios), travel (flights, hotels, rideshare, car rental, gas, tolls), appearance (makeup, hair, nails, spa, tanning, dental, lashes), fitness (gym, training, supplements), wardrobe (lingerie, costumes, clothing, shoes), equipment (cameras, mics, lighting, computers), music (instruments, studio time, DJ gear), art (supplies, digital tools, printing), food (groceries, kitchen equipment), writing (publishing, editing), advertising, insurance, professional services, and more.
Animated Avatars (Video to GIF)
Turn any video into a looping animated GIF for your profile photo, cover photo, or album cover. Like the moving photos in Harry Potter.
- Select a video from your gallery, files, or upload a new one
- Set the start time and end time (max 6 seconds)
- Adjust width (up to 480px) and frame rate (up to 20 fps)
- Click Create GIF
- Use the Set-As system to assign it as your avatar, cover photo, or album cover
Quality: Uses two-pass GIF creation with palette optimization for smooth animation and accurate colors. Your Profile Album tracks all past avatars, including animated ones, with the current one starred.
Template Collections (Renamed)
Templates are organized into four style collections. All templates are original designs created independently for this platform.
- Editorial Collection (88 templates): Typography-forward, photography-first designs with generous whitespace and refined aesthetics.
- Business Collection (15 templates): Bold, professional, high-contrast designs suited for business and commercial profiles.
- Creative Collection (15 templates): Expressive, colorful, dynamic designs for artistic and creative profiles.
- Minimal Collection (15 templates): Elegant, understated, editorial designs with clean lines and subtle detail.
- Original Templates: User-uploaded templates. Creators can sell original templates in the marketplace.
All 133+ templates are available in the Template Marketplace. Filter by collection, gallery style, or light/dark mode.
Template Marketplace Filters and Sorting
Browse, search, and filter templates using multiple criteria. Default sort is alphabetical (A-Z).
- Search: Search by template name or description.
- Sort Options: A-Z (default), Z-A, Most Popular, Newest, Top Rated, Price Low to High, Price High to Low.
- Style Filter: Horizontal Scroll, Tiled Grid, Vertical Scroll, Fullscreen, Slideshow, Masonry.
- Collection Filter: Editorial, Business, Creative, Minimal, Original/User-Created.
- Price Filter: Free, Under $5, Under $10, Under $20, Paid Only.
- Category Filter: Portfolio, Business, Personal/Lifestyle, Store/E-commerce, Content/Blog, Entertainment, Finance/Tracking, Wellness/Health, Creative/Art.
- Theme Filter: Light Only, Dark Only, or both.
- User-Set Pricing: Template creators set their own prices. Style Collection templates are free. Original designs can be priced by their creator (like Notion's marketplace).
Live Webcam / Cam Rooms
Full live streaming system where performers broadcast to viewers. Viewers pay credits per minute to watch, can chat, tip, and request private shows.
- Go Live: Performers click "Go Live" to start streaming. Set room title, category, rates, and room type. Camera activates in-browser via WebRTC.
- Room Types: Public (free entry, credits for chat/tips), Ticket Show (one-time entry fee), Private (by request only).
- Credit Billing: Viewers are billed per minute at the performer's set rate. Automatic billing every 60 seconds. Insufficient credits = auto-disconnected.
- Private Shows: Viewers can request private one-on-one shows at a higher per-minute rate. Performer accepts or declines. Duration agreed upfront.
- Group Shows: Mid-rate option between public and private. Multiple viewers share a group session.
- Chat: Real-time chat in every room. Chat messages, tip notifications, and system messages all in the same stream.
- Tips: Quick-tip buttons (1, 5, 10, 25, 50, 100 credits) or custom amounts. Tips deducted from viewer credits, 85% goes to performer. Optional tip message.
- Performer Dashboard: Live stats (viewers, credits earned, minutes, tips) visible during stream. Pause, resume, or end stream. Kick/ban viewers.
- Revenue Split: Platform takes 15%, performer keeps 85% of all credit transactions (per-minute billing + tips).
- Categories: General, Just Chatting, Performance, Gaming, Music, Fitness, Creative.
- Scheduling: Performers can schedule upcoming shows. Viewers see the schedule and plan ahead.
- Auto-refresh: Room list updates every 15 seconds. Live rooms sorted by viewer count (most popular first).
Access: More dropdown > Entertainment > Live Cams. Also available as a feature block in the Page Builder.
Database: 6 new tables -- cam_rooms, cam_viewer_sessions, cam_chat_messages, cam_tips, cam_private_requests, cam_schedules.
Platform Payouts and Commission
Full fee distribution system with 4 configurable models, per-service rates, seller overrides, safety score discounts, and product company tiers.
- 4 Fee Distribution Models (Admin-selectable):
-- Option A: Customer pays ALL fees (product + platform + Stripe). Performer keeps 100% of listed price. Example: $100 video, customer pays $118.20, performer gets $100.
-- Option B: Customer pays product + platform fee; Stripe fees split between performer and platform. Example: $100 video, customer pays $115, performer gets $98.40.
-- Option C: Customer pays product only; performer pays all fees. Example: $100 video, customer pays $100, performer gets $81.80.
-- Option D (DEFAULT): Customer pays product + Stripe fees; performer pays platform fee. Example: $100 video, customer pays $103.20, performer gets $85. - Per-Service Fee Rates (Admin-editable): Subscriptions 15%, Tips/FinDom 10%, PPV Content 15%, Product Sales 15%, Custom Videos 15%, Live Shows 15%, Video Calls 15%, Templates 15%, Cam Tips 15%, Cam Billing 15%, Companion Bookings 15%, Gaming 15%, Used Items 15%, House Girl 15%, Rider 15%, ASMR 15%, Donations 15%, Premium Articles 15%, Store Purchases 15%.
- Individual Seller Override: Each performer, studio, or product company can choose their own fee model from admin-allowed options (default allowed: A, C, D). Settings > Monetization > Pricing Options.
- Admin Override Rules: Force specific models for specific transaction types. Example: force Option A for all product companies, force Option D for all tips and live shows.
- Safety Score Discount (Optional Toggle): When enabled, performers with high safety scores get reduced fees. Excellent (90-100): 12%, Good (75-89): 14%, Caution (50-74): 15%, High Risk (0-49): 15%. All tiers configurable. Revenue impact: ~6% reduction if enabled (30% of users at 12% vs 15%).
- Product Company Tiers: Basic (0/mo + 15%), Pro ($99/mo + 5%), Enterprise ($299/mo + 2.9%), Custom (negotiated for $100k+/mo companies). Break-even: Pro at $6,600/mo, Enterprise at $21,500/mo.
- EXEMPT (0% fee): Credit purchases, Makeup artists, Agent-booked scenes, Agent-booked appearances (Exxxotica, AVN), Convention appearances, External bookings (arranged by agent/manager), Studio booking coordination (calendar only), Promotional posts, Add-on services.
- Booking Source Tracking: Each booking records its source (platform, agent, or external). Agent/external bookings are exempt. Only platform-booked transactions charge fees.
- Stripe Fee Handling: Stripe fees (2.9% + $0.30) are distributed according to the active model. In Model D (default), customer pays Stripe on top. Stripe fee calculation and breakdown shown at checkout.
- Model Comparison: POST /api/payouts/compare-models shows all 4 models side-by-side for any amount, so admin or sellers can compare before choosing.
- Fee Calculator (Preview): POST /api/payouts/calculate previews fee calculations without recording a transaction.
- Pricing Model Change Notifications: When admin changes the platform-wide model, all users receive 7-day advance email notification, in-app banner alert, and must accept updated terms.
- Payout Balance: Net earnings accumulate in each user's payout_balance. Users see balance, total earned, and total fees at any time.
- Stripe Connect Onboarding (2 options):
-- Option 1: Simple Form (recommended) — performer fills out name, DOB, SSN last 4, address, and bank info directly on Indulgon. No Stripe account needed. Same experience as OnlyFans/SextPanther. Uses Stripe Express accounts behind the scenes.
-- Option 2: Connect Existing Stripe — performer with existing Stripe account connects via OAuth. Uses Stripe Standard accounts. - Payment Processing Flow: Customer pays → Stripe charges to Indulgon master account → platform fee (15%) retained → Stripe processing fee (2.9% + $0.30) deducted → net added to performer pending balance → payout on schedule.
- Payout Schedules: Daily, Weekly (default, Mondays), Bi-Weekly, Monthly. Minimum payout $20-$500 (performer-configurable).
- Instant Payouts: Available for $0.50 fee. Requires debit card on file. Arrives within 30 minutes.
- Payout Requests: $20 minimum (configurable). Standard: 1-3 business days. Instant: 30 minutes. Failed payouts auto-refund to balance.
- Admin Revenue Dashboard: Total GMV, platform revenue, Stripe fees, revenue by type and model, pending payouts.
Endpoints: POST /api/payouts/record, /calculate, /compare-models | GET /api/payouts/fee-rates, /settings, /balance, /transactions, /summary, /requests | PUT /api/payouts/settings, /seller-model | GET /api/payouts/admin/revenue | PUT /api/payouts/admin/process/:id
Database: platform_transactions (with fee_model, stripe_fee, customer_total columns), payout_requests, platform_revenue. Users: payout_balance, total_earned, total_platform_fees, safety_score, settings (JSONB with fee_model, service_fees, safety_discount config).
Connections (API Integrations)
One-stop page to connect all external accounts. Each connection auto-syncs data -- no manual configuration needed.
- Payments: Stripe (payments, subscriptions, payouts), PayPal, Cash App
- Social Platforms: Twitter/X (auto-imports posts, followers, cross-posts), Instagram (photos, stories), Pinterest (boards, pins), OnlyFans (CSV import), SextPanther, ManyVids, Pornhub, MyFreeCams
- Banking: Plaid (auto-imports daily transactions)
- Amazon: Auto-imports wishlists with all items, images, prices. Each wishlist = gallery collection.
- Other: Notion (auto-creates and syncs 60 databases), Google Drive (files and backups)
Page: More > ACCOUNT > Connections | Each card has a Setup Guide button with step-by-step instructions.
Accessibility / Voice Narration
Full screen reader support and voice narration for visually impaired users.
- Voice Mode (Alt+V): Toggle voice narration on/off. The browser reads page content, stats, bookings, messages aloud.
- Read Section (Alt+R): Reads the currently focused section aloud -- booking details (who, when, where, amount), earnings, messages.
- Stop (Alt+S): Stops speech immediately.
- ARIA Landmarks: Navigation, main content, lists, form labels -- all tagged for screen readers.
- Skip to Content: Hidden link appears on Tab -- jumps past nav to main content.
- Dynamic Announcements: New bookings, messages, and notifications are automatically announced.
- Speaker Button: Fixed bottom-right button (speaker icon) for visual toggle.
- Adjustable Rate: A11y.setRate(0.8) for slower, A11y.setRate(1.5) for faster.
Loaded on: All 54 pages automatically via accessibility.js
Monochrome Theme and Photo Style
The platform auto-detects monochrome themes and enforces consistent styling throughout.
- Monochrome Detection: When --accent equals --text (or both are grayscale), data-monochrome="true" is set. All semantic colors (success, warning, danger, info) become var(--text).
- Emoji Grayscale: In monochrome mode, emojis in posts, messages, and activity render as grayscale -- matching the B&W aesthetic.
- Photo Style Toggle: In Color Customizer panel: "Normal" (original colors) or "Match Theme" (photos tinted to match your theme). Works for ANY color scheme -- monochrome themes get grayscale, purple themes get purple tint, etc.
- CSS Filter: Computed dynamically from --accent color's hue: sepia + hue-rotate + saturate.
- All 82 hardcoded colors removed: Every green/red/blue/orange accent across 28 files replaced with var(--text).
Color Customizer: Import from Image
Upload any image (color palette, mood board, photo) and extract colors automatically.
- Import Button: In the Color Customizer panel > "Import Colors from Image"
- Extraction: Downsamples image to 100x100, buckets pixels by color, returns top 8 dominant colors.
- Auto-Assign: Sorts colors by luminance: darkest = text, lightest = background, middle = accent. One-click application.
- Manual Pick: Click any extracted color swatch to choose which CSS variable it applies to.
Enhanced Bookmarks (Links + Posts + Collections)
Two types of bookmarks with custom collections for organizing everything.
- External Links: Bookmark any URL with title, description, tags, thumbnail. Categorize into folders.
- Post Bookmarks: Bookmark your own or other performers' posts. One-click from any post in the feed.
- Collections: Create custom collections (Inspiration, Recipes, Outfits, etc.). Each collection has its own cover image and view mode (grid, list, gallery).
- Filters: By type (links vs posts), by collection, by source user, by tag. Sort by recent, alphabetical, oldest.
- Source Tracking: Bookmarked posts show which performer posted them. External links show source platform.
Endpoints: GET/POST /api/bookmarks, GET/POST /api/bookmarks/collections, POST /api/bookmarks/post/:postId, PUT/DELETE /api/bookmarks/:id
Recipes and Nutrition
Full recipe management, meal planning, and health tracking -- Notion-style but built into the platform.
- Recipes: Title, ingredients, instructions, prep/cook time, servings, cover photo, source URL, tags. Organize into collections (Smoothies, Meal Prep, Desserts, etc.).
- Meal Plan: Weekly planner -- assign recipes to breakfast/lunch/dinner/snack slots for each day.
- Health Log: Track weight, water intake, exercise, sleep, calories, mood. Daily stats dashboard with today's values.
- Collections Tab: Browse recipes by cookbook/category.
- Search and Filter: By collection, favorites, text search across titles and descriptions.
Page: More > LIFESTYLE > Recipes and Nutrition
Endpoints: GET/POST/PUT/DELETE /api/recipes, GET/POST /api/recipes/meals/plan, GET/POST /api/recipes/health/logs
Amazon Wishlist Import
Connect Amazon wishlists and auto-import all items with images, prices, and product details.
- Wishlist Collections: Each Amazon wishlist becomes a browsable collection (Home, Events, Beauty, etc.).
- Gallery View: Items displayed as a visual grid with product images, titles, and prices.
- Product Details: Click any item to see full product info, price, and direct Amazon link.
- Auto-Scrape: Paste an Amazon wishlist URL, platform extracts the list ID and imports all items.
- Bulk Import: POST /api/amazon-wishlists/:id/import with items array for batch loading.
- Priority and Tracking: Mark items as purchased, set priority (low/medium/high), add notes.
Connection: Connections page > Amazon | Endpoints: GET/POST /api/amazon-wishlists, GET /api/amazon-wishlists/:id/items, POST /api/amazon-wishlists/scrape
Safety Center: Panic Button and Escalation System
The panic button is the most critical safety feature on the platform. It follows a strict escalation flow to protect performers.
- Hold-to-Activate (3 seconds): Prevents accidental triggers. Button shows a progress bar filling over 3 seconds. Release before 3 seconds = nothing happens.
- 30-Second Cancel Window: After activation, a "Cancel -- False Alarm" button appears for 30 seconds. Clicking it notifies contacts it was accidental.
- Escalation Flow:
- Immediate: All emergency contacts receive alert with performer's GPS location, name, and timestamp
- Emergency contacts can: come get you, call you, or trigger authorities on your behalf
- If no contact responds within 5 minutes: system automatically contacts authorities with location
- Emergency contacts can acknowledge ("I'm handling it") to stop further escalation
- Post-Event Check-In: After every booking/event, performer receives a "Mark Safe" notification. If they don't respond:
- 3 reminder notifications (push + SMS) over 15 minutes
- If no response: emergency contacts alerted
- If contacts can't reach performer: they can trigger authorities themselves
- Ride Tracking: Share Uber/Lyft details with contacts. Route changes trigger alerts. Unexpected driver-added stops = immediate emergency alert.
- Monochrome Design: Score circle, panic button, and all elements follow the user's theme (B&W for monochrome users).
- Warning Text: Clear explanation below the button of exactly what happens when activated.
Endpoints: POST /api/safety-v2/panic (activate), POST /api/safety-v2/panic/cancel (false alarm), POST /api/safety-v2/check-ins, POST /api/safety-v2/rides, POST /api/safety-v2/rides/end
Ride Expense Integration: When a ride ends, the cost is automatically logged as a "transportation" expense in Financial Hub (if Log Rides as Expenses setting is on).
Offline Panic: Service Worker caches emergency contacts and GPS. If you have no phone service, pressing the panic button queues the alert locally and sends it the instant connectivity returns. Uses Background Sync API where available.
All Features Are Opt-In: Every safety setting can be toggled on/off individually. Nothing is forced. Performers who want the full safety net turn everything on. Performers who prefer to handle things themselves can leave it all off. Settings include: Panic Button, Auto-Escalate to Authorities, Offline Panic Mode, Camera Capture, Post-Event Check-In, Auto-Start Check-Ins, Emergency Contact Alerts, Contacts Can Call Authorities, GPS Tracking, Ride Tracking, and Log Rides as Expenses.
Ride Service Connections: Uber, Lyft, and Other Car Service on the Connections page (RIDE SERVICES category). Enter account email or use manual entry for taxis/limos.
Travel Check-In System (Trips and Checkpoints)
Create a trip with checkpoints that your agent and emergency contacts can track. Each checkpoint is a stage of your journey.
- Trip Setup: Name, flight number/airline, departure/arrival times, hotel name and address, event name and venue. All optional -- fill in what applies.
- Auto-Generated Checkpoints: When you create a trip, the system creates 5 default checkpoints: Boarded Flight, Landed, Arrived at Hotel, At Event/Venue, Back at Hotel. You can add, remove, or customize them.
- Check-In at Each Stage: Press "Check In" at each checkpoint. GPS location is captured. Your agent and/or emergency contacts are notified: "[Name] checked in: Landed at 5:30 PM. Trip: Sapphire Feature - Miami."
- Buffer Window: Each checkpoint has a buffer (default 30 min). If you don't check in within the buffer after expected time, reminders fire. Still no response = contacts alerted.
- Notify Agent: Toggle per trip. Your agent gets notified at each checkpoint so they know you're safe without you having to text them.
- Notify Emergency Contacts: Toggle per trip. Contacts get the same notifications as your agent.
- Quick Check-In: For ad-hoc check-ins not tied to a trip. Just type where you are and it logs with GPS.
- Location-Based Triggers: Checkpoints with a hotel/venue address can auto-trigger when your GPS matches that location (when GPS tracking is enabled).
- Custom Checkpoints: Add checkpoints mid-trip ("At Airport", "Left Venue", "In Uber Home").
Endpoints: GET/POST /api/safety-v2/trips, POST /api/safety-v2/trips/:id/check-in, POST /api/safety-v2/trips/:id/checkpoints, DELETE /api/safety-v2/trips/:id
Shifts & Schedule (Universal)
Shifts, tip-outs, wardrobe tracking, and weekly scheduling are now universal features available to ALL user types -- not just house girls.
- Shifts: Log any type of shift -- club, event, studio session, content creation, live stream, companion, ASMR. Track venue, date, start/end time, earnings, status, notes.
- Tip-Outs: Track payments to DJs, security, bartenders, house fees, managers, agents, valets, makeup artists, or anyone else. Categorized for expense reporting.
- Wardrobe: Track outfits, lingerie, heels, accessories, props, costumes, swimwear. Log purchase cost. Option to auto-log as business expense in Financial Hub for tax deductions.
- Schedule: Set your recurring weekly schedule by day. Click any day to add venue, start/end times, and work type. Shows on public profile if enabled.
- Works for everyone: Performers, companions, house girls, ASMR creators, agents, studios -- anyone with recurring work uses the same page.
Page: More > SERVICES > Shifts & Schedule
All features consolidated: Companion (rates, clients, blacklist), ASMR (triggers, content tags), and FinDom (tributes, leaderboard, drain sessions) features are all tabs on this one page. The separate Companion, ASMR, and FinDom pages have been removed from the nav. House Girl page remains as a profile hub with venue-specific settings.
Removed from SERVICES nav: Companion, ASMR, FinDom. Their features live in Shifts & Schedule tabs now.
Private Fan Tags (CRM)
Tag fans with their preferences, turn-ons, boundaries, and notes. Completely private -- fans never see these tags.
- Tag Types: Turn-On, Preference, Boundary (things to avoid), Content Preference, Spending Habit, Communication Style, General Note
- Fan Profiles: Track notes, tier (regular/VIP), total spent, favorite content, communication style, and boundaries for each fan
- Search and Filter: Filter by tag type, search across fan names and tag values
- Fan Summary: See all tagged fans grouped by tag count, with their tags displayed as chips
- By-Tag Search: Find all fans who share a specific tag (e.g., everyone tagged "Feet" or "Shy tipper")
- 100% Private: All tags have is_private=true. No fan ever sees what you've tagged them with.
Page: Shifts & Schedule > Fan Tags tab
Endpoints: GET/POST/PUT/DELETE /api/fan-tags, GET /api/fan-tags/fans, GET /api/fan-tags/fan/:id, GET /api/fan-tags/by-tag/:value, GET/POST/PUT /api/fan-tags/profiles
Tip-Outs: Customizable Columns
The Tip-Outs tab now has a "Columns" button that lets you toggle which columns are visible.
- Default columns: Recipient, Amount, Date, Category
- Optional columns: Shift/Context, Venue, Tax Deductible, Notes
- Same data as expenses: Tip-outs are also logged in Financial Hub. This tab is a filtered view showing only tip-out transactions with customizable display.
Wishlists Moved to Lifestyle
Wishlists (fan gift wishlists) moved from ENTERTAINMENT to LIFESTYLE in the navigation dropdown, alongside Recipes & Nutrition and Bookmarks.
Template Renamed: Default to Editorial
The default template has been renamed from "Default" to "Editorial" throughout the entire platform -- filenames, database, JS, HTML, setup guide. Zero references to any person's name remain.
Community Templates (User-Uploaded)
Users can upload their own templates and browse other users' designs in the Template Marketplace.
- Upload Form: On Templates page -- name, description, type (original/collection), price, CSS content.
- Creator Names: Community templates show "by [Creator Name]" in the marketplace grid.
- Suggested Templates: Featured section above the filter bar showing popular community templates. Also appears on Page Builder page.
- Filters: Collection dropdown includes "Community Templates" option. Filter by Free/Paid, use-case, style, theme.
- Pricing: Original designs = user sets price. Collection templates = always free.
Messages: New Chat Button
Start conversations with any user directly from the Messages page.
- New Chat: Opens a search modal -- type a name, see matching users, click to start a conversation.
- Mass Message: Outlined button next to New Chat for bulk messaging subscribers.
- API: POST /api/dm creates a new conversation (or returns existing one if already chatting).
Feed: Drafts / Archive / Scheduled
- Drafts tab: Save posts as drafts instead of publishing. Edit and publish later.
- Archive tab: Archive posts to hide them from your feed. Unarchiving restores them at their ORIGINAL timestamp (so they appear in chronological order, not at the top).
- Scheduled tab: View all scheduled posts. Schedule new posts from here or from the compose box. Cancel or edit scheduled posts before they go live.
- Post actions: Every post has Bookmark and Archive buttons alongside Likes and Comments.
Fan Q&A (ask.fm Style)
- How it works: Fans pay $2 per question (or free if you enable it in Settings). Questions appear in your Messages > Q&A tab.
- Answering: Click a question to see it, type your answer. Choose to make it public (visible on your profile) or keep it private.
- Settings: Toggle between paid ($2/question) and free in Settings > Navigation Layout > Q&A Questions.
- API: GET/POST /api/questions, POST /api/questions/:id/answer, GET /api/questions/public/:performerId
Fitness
- Workouts: Log workouts with title, type (Cardio/Strength/Yoga/HIIT/etc.), duration, calories burned. See total stats at top.
- Body Tracking: Record measurements (weight, body fat %, chest, waist, hips, arms, thighs) over time. Track progress with date-sorted entries.
- Workout Videos: Search YouTube for workout videos. Save favorites. Embed on your profile.
- API: GET/POST /api/fitness/workouts, GET/POST /api/fitness/measurements
Store: Items Tab with Conditions
- 6 tabs: All, Digital, Items, Merchandise, Services, Custom.
- Items tab: Replaces the old "Used Items" page. Filter by condition: New, Lightly Worn, Worn, Panties, Lingerie, Shoes, Costumes, Accessories.
- Condition badge: Each item shows its condition as a badge (e.g., "Lightly Worn").
Vault: Locked / Private / Hidden
- All Media: Photos and videos from your posts, uploads, and imports.
- Locked: Password-protected files. Requires vault password to view. Even you must enter the password.
- Private: Files visible only to you. Not shown in feed, profile, or gallery. Subscribers cannot see them.
- Hidden: Like iCloud's hidden album. Removed from All Media but still accessible here. For decluttering without deleting.
Legal & Compliance: Detailed Tabs
- 7 tabs: Compliance, 2257 Records, DMCA, Contracts, Templates, Privacy, Terms of Service.
- Each tab explained: Every tab has a description of what it is and what it covers. Legal clauses are written out in detail.
- Templates tab: Covers the LEGAL framework for templates (not the actual templates). Includes Style Collection disclaimer, user template rights, and marketplace terms.
- Contracts: Upload and sort/filter contracts by type (Model Release, Agency, Venue, Brand, Other). All documents stored indefinitely.
Calendar: Multi-Type Filtering
- Renamed: "Content Calendar" is now just "Calendar".
- 8 filters: All, Content, Feed, Bookings, Scenes, Deliveries, Personal, Travel.
- Auto-population: Connect Amazon for delivery tracking, iCloud/Google Calendar for personal events. Everything appears in one unified calendar.
- Visibility toggle: Choose which calendar entries show on your public profile.
Connections: Music & Gaming
- Music: Spotify and Apple Music. Auto-imports playlists, songs, albums, genres, listening history.
- Gaming: Xbox, PlayStation, Steam. Auto-imports game library, achievements, friends list. "Play With Me" feature lets fans pay credits for gaming sessions.
- iCloud: Calendar sharing and Drive file sync.
- Total connections: 20+ integrations across Payments, Social, Banking, Ride Services, Music, Gaming, and Other.
Social Media: Unified Notifications & Messages
- 4 tabs: Overview, Notifications, Messages, Activity.
- Notifications: All notifications from connected platforms (likes, comments, follows, tips) in one unified feed. Filter by platform.
- Messages: DMs from all platforms in one inbox. Reply directly without switching apps.
- Activity: Recent cross-platform activity (new followers, reposts, etc.).
- Follower counts: Total and per-platform. Shows individual Twitter/Instagram/etc. counts when connected.
Achievements: Career Import & Milestone Awards
- Career import: Pull from IMDB (nominations, credits) or Wikipedia (career stats, awards). Or add manually.
- Platform milestones: Bronze (100 subs), Silver (1K), Gold (10K), Diamond (100K). Earnings milestones at $10K and $100K.
- Physical awards: Plaques, trophies, and rings shipped to performers who hit milestones (like YouTube creator awards).
- Badge achievements: Profile completion, first booking, first sale, first stream, and more unlock XP and badges.
Meal Photo Analysis (AI)
- How it works: Take a photo of your meal (or upload one) in Recipes > Photo Analysis tab. AI identifies all food items and categorizes by food pyramid group: Protein, Vegetables, Fruits, Grains, Dairy, Fats/Oils.
- Nutrition breakdown: Estimates calories, protein, carbs, fat, fiber, and sugar per meal.
- Save results: Add analyzed meal to your Meal Plan or log nutrition to Health Log.
- Weekly analytics: Track daily/weekly intake per food group (like MyFitnessPal). See totals for protein, vegetables, fruits, grains, dairy, and calories.
Recipe Import & Cross-Platform Sharing
- Import from URL: Paste a recipe URL from any cooking site (AllRecipes, Food Network, etc.) and we extract the recipe automatically.
- Universal sharing: Share anything to your collections — recipes, Spotify songs, YouTube videos, Instagram posts, links. Auto-detects content type from URL.
- How to share: On mobile, use your device's Share menu and select this platform. On desktop, paste URLs in the Import tab or Bookmarks page.
- API: POST /api/bookmarks/share (auto-routes to correct collection), POST /api/recipes/import-url
About Page (Performer Profile)
- Renamed: "Performer Profile" is now "About" in the nav. It serves as your detailed career page with filmography, events, awards, organizations, and more.
- Link to Profile: A "View Public Profile" button at the top links to your website profile view. Sections toggled on appear on both pages.
- Dual purpose: About is your detailed internal career view. Profile is your public website that fans see. Content flows between them based on your visibility settings.
Template Preview: Customized Toggle
- "Show my customizations" checkbox: At the top of the Templates page. When enabled, templates you have already customized show YOUR version instead of the default preview.
- Default behavior: Shows the stock template design so you can compare before applying.
- This only applies to templates you have previously customized via the Color Wheel.
Watchlist (Movies / TV / Scenes)
- 6 tabs: All, Movies, TV Shows, Scenes, Watched, Upcoming.
- Sorting: Recently Added, A-Z, Z-A, Year (newest/oldest), Air Date, Rating.
- Genre filter: Action, Comedy, Drama, Horror, Romance, Sci-Fi, Thriller, Documentary, Animation, Adult.
- Upcoming tab: Track unreleased titles with release dates. Set notifications: 1 day before, 2 hours before, 1 week before, on release day.
- Scenes: Track your own scenes (date, studio, co-performers) alongside movies and shows.
- Toggle watched/unwatched: Click any card to mark as watched.
Address Book / Locations
- 6 categories: Set Locations, Event Locations, Friends & Family, Studios, Hotels & Travel, Other.
- Privacy: All addresses are private. Only you can see them. Public labels (e.g., "Studio A") are what others see if you choose to show a location. Home and personal addresses are NEVER exposed.
- Fields: Name, address, city/state/zip, country, contact person, public label, notes (gate codes, parking info, etc.).
- Use cases: Track studios you work at, event venues, agent offices, hotel preferences, friend addresses for Safety Center check-ins.
Recurring Transactions & Notifications
- Auto-detection: Once your bank is connected, the platform analyzes your statements and identifies recurring charges (subscriptions, rent, insurance, etc.).
- Summary: See total monthly recurring costs, each transaction with amount, frequency, merchant, and next payment date.
- Notifications: Like iCloud Reminders. Set alerts for each recurring charge: 1 day before, 2 hours before, 1 week before, on payment day, or any custom date/time.
- Manual add: Add recurring transactions manually if not auto-detected.
Filmography & Scene Tagging
Your filmography is built automatically from your financial data and grows as you connect more sources.
- Auto-built from transactions: When you sync your Notion database (or import CSV/screenshots), every scene you have recorded -- studio, co-performer(s), director, date, amount -- is automatically organized into a Filmography. Each scene becomes a Film entry linked to the transaction that paid for it.
- Filter and sort everything: Transactions can be filtered by Studio (Brazzers, Evil Angel, Nubiles...), Coworker (Mike Adriano, Manuel Ferrara...), Tag (BG, BGA, Solo...), Category, Source, and Date. Sort by newest, oldest, highest/lowest amount, A-Z, or by studio/coworker. The sub-total updates to show filtered results (e.g. "17 transactions | Brazzers: $22,700").
- Clickable profiles: Every studio name, co-performer name, and director in your transactions is clickable. If that person has an account on the platform, clicking their name opens their profile. If not, it searches for them.
- Performer summary: Click any co-performer to see a full summary: how many scenes you have filmed together, total earned from those scenes, date range, and a list of every scene. Example: "Mike Adriano -- 13 scenes, $17,500 earned (2014-2019)."
- Studio summary: Click any studio to see: total scenes, total earned, timeline, and every scene with that studio.
Scene Tagging (Connecting Other Performers)
- How tagging works: When you add a scene (manually or from your database), you can tag other performers who were in it. If they have a platform account, they receive a tag request.
- Consent required: Tagged performers must approve before the scene appears in their filmography. No one can add scenes to your filmography without your permission.
- Tag settings (Settings > Filmography & Scene Tagging):
- Allow Filmography Tags (default: on) -- other performers can tag you in scenes. Turn off to block all tags.
- Allow Transaction Tags (default: on) -- tagged scenes can appear in your Transactions tab as well as Filmography. You set your own amount; the person who tagged you cannot see what you earned.
- Auto-Approve from Friends (default: off) -- if a friend tags you, skip the approval step.
- Your amount, their amount: Each performer tracks their own earnings per scene. If someone tags you in a Brazzers scene from 2019, you can add YOUR rate for that scene. They only see their number; you only see yours. Not all performers are paid the same, and not everyone keeps invoices -- this lets each person fill in what they know.
- Review pending tags: Settings > Filmography & Scene Tagging > Review Tags. See who tagged you in what scene, approve or reject each one.
- Public vs. private: Visitors to your profile can see your Filmography (scene titles, studios, co-performers, release dates). They CANNOT see booking dates, payment amounts, or any financial data. That is dashboard-only.
Adding Scenes from Scratch (No Database Needed)
- No Notion? No CSV? No problem. You do not need to sync anything from another platform. Click the "+ Add Scene" button in Financial Hub to build your filmography directly on the platform.
- What you fill in: Studio, Scene Title (optional, auto-generated), Costars (comma-separated), Directors (optional), Date Booked, Release Date (optional), Your Rate ($), Scene Tags (BG, BGA, Solo, etc.), Scene URL (optional), Description/Notes.
- Costars are auto-tagged: If you type "Manuel Ferrara" as a costar and he has a platform account, he automatically receives a tag request. If he approves, the scene appears in both of your filmographies.
- Everything works the same: Whether you sync from Notion, upload CSV, import screenshots, or add scenes one by one -- the filmography, the tagging, the per-performer earnings, the studio and coworker summaries all work identically.
- Starting from scratch is normal: Most performers do not have a pre-existing database. The platform IS the database. Add scenes as you book them. Your filmography, earnings totals, and analytics build up over time.
Automatic Filmography Import
- How it works: Enter your stage name and Indulgon automatically imports your entire filmography from industry databases. Scene titles, studios, years, and known aliases are all pulled in instantly.
- What gets imported: Every scene title, the studio/distributor, the year of release, and your known stage names/aliases. Each imported scene becomes a Film entry in your filmography AND a Scene Work transaction in your Financial Hub (amount set to $0 until you update it).
- Scene-to-Closet linking: Every imported scene is closet-ready. If you still have the outfit you wore in a scene, link it to that film. When you list the outfit for sale, buyers see "As worn in [Scene Title] for [Studio]" -- provenance drives higher prices.
- Deduplication: If a scene already exists in your filmography (from manual entry, CSV import, or Notion sync), it is not duplicated. The system matches by title and year.
- How many scenes? The import pulls as many as the database has on file. For established performers, this can be hundreds of scenes imported in seconds.
- Where: Filmography page > Import from Industry Database, or Financial Hub > Import > Industry Database.
Performer Tagging (Tag Anyone, Anywhere)
- Tag across the platform: You can tag other performers in your filmography scenes, feed posts, financial transactions (scene work), bookings, and content calendar entries. Tagging works everywhere.
- If they have an account: The tag links to their real profile. They see what you tagged them in. They can add their own rate/amount for the same scene -- you only see yours, they only see theirs.
- If they do NOT have an account: A placeholder profile is created for them automatically. Their name is still clickable on your pages. They receive an invitation to join.
- When they join: They claim the placeholder and everything transfers. Every scene you tagged them in, every booking, every post -- it all appears on their real profile instantly. They do not lose anything.
- What they add shows on their profile: Once they join and start adding their own scenes, transactions, and content, all of that appears on their profile too. You can see what you tagged them in vs. what they added themselves -- clear attribution on every item.
- Viral growth: Every tag is a potential new user. Tag 10 co-stars in your filmography and all 10 get invitations. When they join, they tag their co-stars. The network grows itself.
- Industry database enrichment: When you tag someone, Indulgon searches industry databases for their profile. If found, their placeholder is enriched with known aliases, career years, and scene count -- even before they join.
- Everyone gets notified: When a tagged person claims their placeholder and joins, every performer who ever tagged them gets a notification: "[Name] just joined Indulgon! Your tags are now linked to their real profile."
Scene-to-Closet Connection
- Link outfits to scenes: Open any film in your filmography and click "Link Closet Items." Select the outfit(s) you wore in that scene.
- Provenance for resale: When a closet item is linked to a scene, your Store listing shows "As worn in [Scene Title] ([Studio], [Year])." This scene provenance significantly increases resale value.
- Works with imported scenes too: Scenes imported from industry databases can have closet items linked the same way as manually-added scenes.
- Multiple items per scene: A single scene can have multiple closet items (outfit, shoes, accessories). A single closet item can be linked to multiple scenes if you wore it more than once.
How the Flow Connects
- Step 1: Import your filmography automatically from industry databases, or add scenes manually, from CSV, from Notion, or from screenshots. Any method works. All methods can be combined.
- Step 2: The platform builds your Filmography: films, studios, co-performers -- all linked to transactions. Each imported scene also creates a Scene Work transaction (update the amount when you know it).
- Step 3: Co-performers are tagged automatically. If they have accounts, tags link to real profiles. If not, placeholders are created and invitations sent.
- Step 4: Each performer manages their own data. You see your earnings per scene; they see theirs. Attribution is clear: "Tagged by [You]" vs. "Added by [Them]."
- Step 5: Link closet items to any scene. List them for sale with full scene provenance.
- Step 6: Public visitors see the filmography (titles, studios, performers, dates). They cannot see booking dates, amounts, or any financial data.
How You Get Paid (Performers)
- You never pay to use the platform. No subscription fee, no signup fee, no monthly charge. You only pay a percentage when you earn money.
- Platform fee: 15% of what you earn on Indulgon. Compare: OnlyFans keeps 20%, SextPanther keeps 30-40%.
- Stripe processing fee: Paid by the customer (added to their total). It never comes out of your earnings.
- Example: You set a PPV post at $10. The customer pays $10.59 ($10 + Stripe fee). You receive $8.50 ($10 minus 15%). Indulgon keeps $1.50. Stripe keeps $0.59 from the customer.
Payout Methods
- Bank Transfer (ACH): Direct deposit to your bank account. Available at launch. Free.
- Debit Card: Instant payout to any Visa or Mastercard debit card. Small fee applies.
- PayPal and Venmo: Coming post-launch. Will transfer directly to your PayPal/Venmo account.
- CashApp: Coming post-launch.
- Crypto (USDC): Coming post-launch.
- At launch: Bank transfer and debit card are available immediately. Other methods will be added.
Payout Schedule
- Weekly payroll (default): Every Monday, your balance is automatically transferred to your bank account. Free, no fees. Arrives in 1-3 business days.
- Biweekly or monthly: You can change your schedule in Settings > Payments. Balance rolls over until your next payout date.
- Instant payout: Request anytime. Money arrives within 30 minutes. Fee: 1.5% (minimum $0.25). Must have a debit card on file.
- Minimum payout: $20. If your balance is below $20 on payout day, it rolls to the next period.
You Do NOT Need a Stripe Account
- Simple setup: On the Payments page, fill out a short form: legal name, date of birth, last 4 of SSN, address, and bank account or debit card. That is it. You never need to create or log into Stripe.
- Optional: If you already have a Stripe account, you can connect it instead. This gives you access to Stripe's dashboard to view payout history directly. But it is not required.
How Credits Work (For Customers)
- 1 credit = $1 (display value). This is what you see throughout the platform. A 10-credit PPV post costs the equivalent of $10.
- Credit packs: Customers buy credits in packs. Larger packs include bonus credits as an incentive:
- $10 = 10 credits (no bonus)
- $50 = 55 credits (+10%)
- $100 = 120 credits (+20%)
- $500 = 650 credits (+30%)
- What credits buy: Subscriptions, PPV content, messages to performers, tips, custom video orders, store items, video calls -- everything on the platform.
- Credits never expire (purchased credits). Subscription-included credits expire monthly.
- For performers: When a customer spends credits on your content, you see the credit amount on your dashboard. Your payout is calculated based on the actual dollar value the customer paid for those credits -- not the inflated bonus amount. This keeps the math clean and ensures the platform always has enough money to pay you.
Cloud Storage (Move Files Between Services)
- 7 cloud services supported: iCloud, Google Drive, Dropbox, OneDrive, Mega, Box, Amazon S3.
- Bidirectional sync: Files sync in both directions. Upload to your cloud drive and it appears on Indulgon. Upload to Indulgon and it syncs to your cloud drive.
- Move files between services: Transfer files directly between cloud services through Indulgon. Move photos from Google Drive to iCloud, or from Dropbox to OneDrive -- without downloading anything to your device. Indulgon handles the transfer in the background.
- Indulgon is also a cloud service: You can store files on Indulgon itself. Move files FROM other clouds TO Indulgon, or FROM Indulgon TO other clouds. It works like any other cloud service in the list.
- SHA256 deduplication: When syncing, Indulgon detects duplicate files automatically and removes them. You never end up with two copies of the same photo.
- Version history: Every file has a version history. If you accidentally overwrite something, you can restore any previous version.
- Nothing is ever deleted: When you delete a file on Indulgon, it goes to trash. You can restore it anytime. The original on your cloud drive is never touched.
Multi-Role Accounts
- You are not limited to one role. When you sign up, you can select multiple roles: performer, content creator, studio, agent, companion, house girl, amateur, or fan/customer.
- All roles are active simultaneously. A studio owner who also performs and manages talent can select all three: performer + studio + agent. All features for all selected roles appear in their dashboard.
- Change anytime: Go to Settings > Account > Roles to add or remove roles. No data is lost when you change roles.
- Primary role: The first role in your list determines your default dashboard layout. But all features from all your roles are always available.
- Example: A studio owner who is also a performer and an agent gets: their own filmography and earnings (performer), a roster of managed models with aggregate financials (studio), and the ability to receive and route booking requests for their talent (agent) -- all in one account.
Set Your Own Prices
- You control all pricing. Every rate on your profile is set by you. Indulgon does not set prices for you.
- Message rates: Settings > Pricing. Set your rate for text messages (default: 1 credit), photo messages (default: 3 credits), and video messages (default: 5 credits). Fans who are not subscribed pay this rate to message you.
- Video call rate: Settings > Pricing. Set your per-minute rate for 1-on-1 video calls (default: 5 credits/min).
- Subscription tiers: Payments page. Set the price for Basic, VIP, and Elite tiers. Include whatever perks you want (free PPV, DM credits, discounts).
- PPV content: Set the credit price on each post individually when you create it.
- Store items: Set the price on each item in your store.
- Custom orders: Set your base price for custom videos, photos, and other requests.
- Tip menu: Set the amount and reward for each tip level.
- No matter what you charge, Indulgon takes 15% and you keep 85%. The Stripe processing fee (2.9% + $0.30) is always paid by the customer.
Studio and Agency Management
- For studios, agents, and talent managers. If your role includes "studio" or "agent," you get a roster management system.
- Add performers to your roster: Add them one at a time or in bulk. If a performer already has a Indulgon account, they are linked immediately. If not, a placeholder profile is created and they receive an invitation to join.
- Aggregate financials: See total earnings, transaction count, and film count across all managed performers in one view. Each performer's data stays separate -- nothing is mixed.
- Import filmography for your models: Run the automatic filmography import for any performer on your roster. Their scenes, studios, and co-performers are imported from industry databases.
- Track contracts: Set contract start/end dates, commission rates, and notes for each performer on your roster.
- When they join: If a performer on your roster later creates their own Indulgon account and claims their placeholder, their data transfers to their real profile automatically. Your roster link updates to their real account.
- Their data is theirs: Managed performers own their own data. You can see aggregate numbers for your roster, but each performer controls their own profile, pricing, and payout settings independently.
Instant Payouts
- Standard payouts: Processed weekly (free, no fees).
- Instant payouts: Financial Hub > Instant Payouts tab. Processed within 30 minutes. Fee: 1.5% (min $0.25).
- Methods at launch: Bank Transfer (ACH), Debit Card. More methods coming.
- How: Enter amount, choose method, confirm. Fee and net amount shown before confirmation.
Privacy & Link Sharing
- What visitors see: Only your public Profile page (your personal website). They cannot access Dashboard, Settings, Financial Hub, Messages, or any private pages.
- What requires login: Everything except Profile, Discover, Login, Onboarding, TOS, and Cost Comparison.
- After signup: New users get their OWN dashboard, settings, and tools. They can follow you, message you, buy from your store — but never see YOUR private data.
- Demo mode: Currently all pages are accessible for testing. Toggle "Require Login for Private Pages" in Settings > Privacy to enforce authentication.
Custom Domains (White-Label)
- Users can buy any domain and point it to the platform. Their profile becomes their personal website at their domain.
- Branding: User's brand name and domain are front and center. Platform name appears in footer as "Powered by [Platform Name]".
- How: Purchase domain from any registrar, add CNAME record pointing to the platform, configure in Settings > Domain.
Common Questions
- Q: If I share my link, can others see my dashboard?
A: No. Visitors only see your public Profile. Everything else requires login, and logged-in users see their OWN data. - Q: Can users use their own domain?
A: Yes. Buy any domain, point it here. Their brand shows as the primary, "Powered by [Platform]" in footer. - Q: How do instant payouts work?
A: Financial Hub > Instant Payouts. 1.5% fee, under 30 minutes, multiple methods (bank/PayPal/Venmo/CashApp/crypto). - Q: What happens if I disconnect a platform?
A: Your imported data stays forever. Disconnecting only stops new syncs. Nothing is ever auto-deleted. - Q: Is there a fee difference from other platforms?
A: 15% here vs 20% on OnlyFans. For $10K/month earnings, that is $500/month saved. - Q: Where should I host for production?
A: See the FAQ & Hosting page. Railway or Render for launch, AWS for 50K+ users. Development stays on Claw.
Connections: Complete Setup Guide with Links
How Each Connection Works
Not all connections are created equal. Some give you full two-way control, others are one-time imports. Here is what each type can do:
| Type | Platforms | Live Feed | Cross-Post | See Interactions | External Profile Links |
|---|---|---|---|---|---|
| Full OAuth | Twitter/X, Instagram, TikTok, YouTube, Twitch, Pinterest, Reddit, Spotify, Xbox, PlayStation, Steam | Yes -- automatic | Yes -- post from here, appears there | Yes -- likes, reposts, comments from all users (even non-members) | Yes -- non-members link to their native profile |
| Limited OAuth | Apple Music, iCloud | Partial | No | No | Yes |
| Import Only | No -- one-time data migration | No | No -- interactions only exist on this platform | No -- imported content becomes yours here | |
| Payment Handle | Stripe, PayPal, Cash App, Venmo, Zelle, Google Pay, Apple Pay, Crypto | N/A | N/A | N/A | N/A -- payment processing only |
| Data Sync | Plaid, Notion, Google Drive, Amazon | Auto-import on schedule | No | No | N/A |
| Safety | Uber, Lyft, Other Car Service | Live tracking during rides | No | No | N/A |
Who Can See What (OAuth Connections)
For platforms with full OAuth (Twitter, Instagram, etc.), here is how profiles and interactions appear when someone views a post on your site:
| Who Interacted | What Shows on Your Platform | Where Their Profile Links To |
|---|---|---|
| Member of your platform (connected) | Full profile -- name, avatar, link to their profile page on your site | Their profile on your platform |
| External user (not a member) | Their name and avatar from the source platform (Twitter, Instagram, etc.) | Their native profile (e.g., x.com/username, instagram.com/username) -- opens in new tab |
| Private / protected account | Not visible -- the source platform does not share their data | N/A |
Key points: Each user connects their own account independently via OAuth. Your API keys handle communication with the platform, but each user must grant permission for their own data. Actions taken from your site (like, repost, comment) happen on the real platform under that user's account. Import-only platforms (OnlyFans, ManyVids, etc.) have no public API -- content is migrated once and lives on your platform from that point on.
STRIPE (Payments)
- Create Stripe Account
- Go directly to Developers > API Keys
- Copy Publishable key (pk_live_ or pk_test_) and Secret key (sk_live_ or sk_test_)
- Paste both into the Connections page and click Connect
- For testing, toggle "Test mode" in Stripe first and use test keys
- Troubleshooting: If keys do not save, check that both fields are filled. The page shows a success/error toast notification. If you see "Not Connected" after entering keys, try refreshing and re-entering them.
PAYPAL (Payments)
- Create PayPal Business Account
- Developer Dashboard > My Apps
- Create App (Live)
- Copy Client ID and Secret from the Live tab, paste into Connections
CASH APP (Payments)
- Open Cash App on your phone and tap your profile icon
- Your Cash Tag is at the top and starts with $
- Include the $ sign when entering it. Example:
$xojillianjanson - Do NOT enter just
xojillianjansonwithout the dollar sign — the $ is part of the tag - Fans will see a "Pay with Cash App" option that links directly to your Cash Tag
REQUESTING YOUR DATA (Import-Only Platforms)
These platforms do not have public APIs or CSV export buttons. The only way to get your data is to submit a Data Subject Access Request (DSAR) under CCPA (California) or GDPR (EU/UK). They are legally required to respond within 45 days (CCPA) or 30 days (GDPR). Below are copy-paste-ready email templates for each platform. Replace the placeholder fields with your actual information.
ONLYFANS
Send to: [email protected] — OR submit a support ticket through your account (Settings > Help)
Alternative: On the OnlyFans website, go to Settings > Account > Privacy > "Download your information" (if available in your region)
SEXTPANTHER
Send to: [email protected]
MANYVIDS
Send to: [email protected] — OR for privacy-specific requests: [email protected]
PORNHUB (ModelHub)
Send to: [email protected] — Use subject line "CCPA Request" (required)
MYFREECAMS
Send to: Use the support form at wiki.myfreecams.com/wiki/Contact_Model_Support — Email must come from the address on your account
CHATURBATE
Send to: [email protected] — OR call (877) 338-7068
CLIPS4SALE
Send to: Submit a support ticket at clips4sale.zendesk.com — Select "Studio / Creator Support" category
IWANTCLIPS
Send to: [email protected]
TWITTER / X (Free Archive Export)
No email needed — X provides a self-service data archive download
- Go to x.com on desktop
- Click More (three dots) in the left sidebar
- Go to Settings and Support > Settings and Privacy
- Click Your Account > Download an archive of your data
- Click Request archive and verify your identity (password + code)
- Wait 24-48 hours. You will get a notification and email when it is ready
- Return to the same page and click Download archive
- You will receive a .zip file containing: tweets.js (all tweets), like.js (likes), follower.js, following.js, direct-messages.js, and all media files
- Upload the .zip to Indulgon via Connections > Twitter > Import Archive
TIPS FOR ALL DATA REQUESTS
- Send from your account email — The email address on your platform account. If you send from a different address, they may reject the request or ask for additional verification
- Response time: CCPA requires a response within 45 days. GDPR requires 30 days. Most platforms respond within 1-2 weeks
- If they ask for ID verification: This is normal. They may ask for a government-issued photo ID to confirm your identity before releasing data
- If they say they cannot export: They are legally required to under CCPA/GDPR. Reply citing the specific law and request they escalate to their legal/privacy team
- Request CSV or JSON format. Some platforms will try to send a PDF summary instead of raw data. Specify machine-readable format so the data can be imported into Indulgon
- Submit all requests at once. Since each platform takes days or weeks to respond, submit every request the same day so they all come back around the same time
- Save confirmation emails. Keep the automated "we received your request" replies as proof of submission date in case you need to follow up
ALTERNATIVE: SCREENSHOT IMPORT (No Data Request Needed)
If you do not want to submit a data request or wait for a response, you can import your earnings by uploading screenshots instead. This works for any platform.
- Open the platform (OnlyFans, SextPanther, ManyVids, etc.) on your phone or computer
- Navigate to your Earnings, Statements, or Payouts page
- Take full-screen screenshots showing all visible payout amounts and dates
- If you have multiple pages of payouts, screenshot each page
- On Indulgon, go to Financial Hub and click Bank Import
- Click Upload Screenshots
- Select the platform from the dropdown (e.g., "OnlyFans")
- Upload your screenshots (up to 10 at a time)
- AI reads every line item and creates an entry in your Financial Hub with the correct date, amount, and category
- Review the extracted entries. Edit any that need correction, then confirm
- Works with any app: OnlyFans, SextPanther, ManyVids, Chaturbate, MyFreeCams, Pornhub, Cash App, Venmo, PayPal, bank apps, and more
- What to screenshot: Payout history, earnings dashboard, transaction list, bank statement -- anything with amounts and dates
- Best results: Full-screen screenshots (not cropped). Clear, readable numbers. If text is small, zoom in before screenshotting
- Multiple screenshots: Upload all pages at once. The AI processes each screenshot separately and combines the results
- Privacy: Crop out any personal information you do not want stored before uploading
TWITTER / X (Social)
Two tiers available. Free tier allows cross-posting from Indulgon to X. Basic tier ($200/mo) adds reading your timeline and analytics. Most users should start with Free.
Option A: Free Tier (Cross-Posting + Data Export)
- Go to developer.x.com and sign in with your X account
- Click "Sign Up" for the Developer Portal. Accept the Developer Agreement
- When asked your use case, select "Building a tool for personal use" or "Hobbyist"
- Description: "Personal content dashboard for managing my social media"
- Create a Project (name: your platform name) and an App inside it
- In the App settings, click "Set up" under User Authentication Settings:
- App permissions: Read and write
- Type of App: Web App, Automated App or Bot
- Callback URL:
https://yourdomain.com/api/auth/twitter/callback - Website URL:
https://yourdomain.com
- Go to Keys and Tokens tab. Copy all 4 keys using the Copy button (not manual text selection):
- API Key (Consumer Key)
- API Key Secret (Consumer Key Secret)
- Access Token (generate under "Authentication Tokens")
- Access Token Secret
- Paste all 4 keys into Connections > Twitter / X and click Connect
- What this enables: Cross-post from your Feed to X (check "Cross-post to X" when composing), profile info display (follower count, bio, avatar)
- To import your full tweet history: On x.com go to Settings > Your Account > Download an archive of your data. Request the archive (takes 24-48 hours). Download the .zip, upload to Indulgon via Connections > Twitter > Import Archive
Option B: Basic Tier ($200/month — Live Feed Sync)
- Follow all steps from Option A first
- Go to X API Products and upgrade to Basic tier
- What this adds: Live tweet import (your timeline auto-syncs to your Feed), engagement analytics, search tweets, read follower/following lists in real-time
- Most users do not need this — the free tier with data export covers everything
Important Notes
- Use the Copy button on the Developer Portal — do not manually select key text. One wrong character and authentication fails
- Generate Access Tokens AFTER setting up User Authentication — if you change auth settings, regenerate your Access Token and Secret
- Keys are shown once. If you lose them, you can regenerate but old keys become invalid
- Common characters that look alike: O (letter) vs 0 (zero), I (letter) vs l (lowercase L) vs 1 (one). Always use Copy button
INSTAGRAM (Social)
Instagram API requires a Business or Creator account linked to a Facebook Page.
Step 1: Convert to Business/Creator Account (skip if already done)
- Open the Instagram app and go to your profile
- Tap the menu (three lines) and go to Settings and privacy
- Tap Account type and tools then Switch to professional account
- Choose Creator (best for performers) or Business
- Select a category (e.g., "Public Figure", "Artist", "Entrepreneur")
- When prompted, connect to a Facebook Page (create one if you do not have one -- it can be hidden from your Facebook profile)
Step 2: Create a Meta Developer App
- Go to Meta Developer Portal and log in with Facebook
- Click Create App
- Select app type: Business
- App name: Your platform name (e.g., "Indulgon")
- App contact email: Your email address
- Click Create App. You may need to re-enter your Facebook password
Step 3: Add Instagram Graph API
- In your app dashboard, click Add Product in the left sidebar
- Find Instagram Graph API and click Set Up
- Go to Settings > Basic in the left sidebar
- Add your domain to App Domains
- Set Privacy Policy URL: your platform legal page (e.g., yourdomain.com/app/legal.html)
- Under Valid OAuth Redirect URIs, add:
https://yourdomain.com/api/auth/instagram/callback - Copy your App ID and App Secret (click Show next to App Secret)
Step 4: Generate Access Token
- Go to Graph API Explorer
- Select your app from the dropdown at the top
- Click Generate Access Token and grant all Instagram permissions
- Paste the token above -- the platform auto-exchanges it for a long-lived token (60 days) and handles refresh automatically
Notes: Creator/Business account required (free to switch). Must be linked to a Facebook Page. Access tokens are auto-refreshed by the platform.
PINTEREST (Social)
Pinterest requires a Business account to access the API. If you have a personal account, you will need to convert it first.
Step 1: Convert to a Business Account (skip if you already have one)
- Log in to pinterest.com
- Click your profile icon (top right) and go to Settings
- Scroll to Account management and click Convert to a business account
- Follow the prompts (business name, website, category). This does not affect your existing pins or followers
- Once converted, you will see "Business Hub" in your left sidebar
Step 2: Create a Developer App
- Go to developers.pinterest.com/apps and sign in with your Pinterest Business account
- Click Create app (or "Connect app" if you see that instead)
- Fill in the required fields:
- App name: Your platform name (e.g., "Indulgon")
- Company name: Your platform or business name (e.g., "Indulgon")
- Company website or App link:
https://yourdomain.com/ - Link to Privacy policy:
https://yourdomain.com/app/legal.html(your platform's legal page) - App purpose: "Personal content management dashboard for cross-posting pins and viewing board analytics from one platform"
- Developer purpose: Select "I am developing an app for my organization/personal use"
- Use cases (check these):
- Pin creation & scheduling (publishing content on Pinterest)
- Reporting (getting data about your account)
- Audience: Select "Creators"
- Click Submit and wait for approval (usually instant for personal use apps)
Step 3: Get Your API Credentials
- Once approved, go to your app's page on developers.pinterest.com/apps
- Copy your App ID and App secret (use the Copy button)
- Under Redirect URIs, add:
https://yourdomain.com/api/auth/pinterest/callback - Paste your App ID and App Secret into Connections > Pinterest and click Connect
What This Enables
- Cross-post pins: Create pins directly from your Indulgon Feed or Store items
- Import boards: Sync your existing boards and pins into your platform
- Analytics: View pin performance (impressions, saves, clicks) in your dashboard
- Board management: Create and organize boards from your platform
Important Notes
- Business account is required -- the Pinterest API does not work with personal accounts. Converting is free and keeps all your existing content
- Privacy policy page must be live -- Pinterest checks that the URL you provide actually loads. Use your platform's legal page
- App review is quick -- personal-use apps are typically approved instantly or within a few hours
- Rate limits: Pinterest allows 300 API calls per minute per user. More than enough for normal use
STRIPE (PAYMENT PROCESSING & PAYOUTS)
Stripe handles all payment processing on the platform. Customer payments flow through your Stripe master account, platform fees are deducted, and performers receive payouts to their bank accounts via Stripe Connect. This is the same model used by OnlyFans and SextPanther.
STEP 1: CREATE A STRIPE ACCOUNT
- Go to dashboard.stripe.com/register and sign up
- Complete identity verification (legal name, date of birth, SSN, address)
- Add your bank account -- this is where your platform revenue (the 15% fees) gets deposited
- You will need to complete Stripe's verification before you can process live payments
STEP 2: ENABLE STRIPE CONNECT
Stripe Connect lets you create accounts for each performer so they can receive payouts directly to their bank. Go to Settings > Connect or the Connect section in the left sidebar. Complete the "Set up Connect" steps in order:
2A: TELL US ABOUT YOUR PLATFORM (required)
Click Get started. You will go through these screens in order:
SCREEN 1: How will funds flow?
Select: Buyers will purchase from you. This is your model -- customer pays Indulgon, Indulgon takes 15% fee, performer gets the rest. Do NOT select "Sellers will collect payments directly."
SCREEN 2: How will sellers be paid out?
Select: Sellers will be paid out individually. One buyer, one seller per transaction. The "split between sellers" option is for group payments -- not needed for the base flow.
SCREEN 3: Select the industry
Select: On-demand services (DoorDash, Lyft, UpWork). Closest match -- customers pay for services from individual creators, same model as UpWork.
SCREEN 4: Where will sellers create their accounts?
Select: Onboarding hosted by Stripe. Performers get redirected to a Stripe-hosted form for identity and bank info, then return to Indulgon. Stripe handles all KYC/compliance for you. Performers never need their own Stripe account.
SCREEN 5: Where will sellers manage their account?
Select: Express Dashboard. Stripe hosts a simple dashboard where performers can view their payouts and update bank info. You do not need to build any of this.
SCREEN 6: Summary
Review your selections and confirm.
2B: ACCESS YOUR INTEGRATION GUIDE (optional -- skip)
Generic Stripe documentation. Not needed -- you already have the full walkthrough here.
2C: TRY OUT YOUR INTEGRATION (optional -- skip)
Creates test accounts and charges. The platform already has this built in. Skip.
2D: VERIFY AN IDENTITY DOCUMENT (required)
Click Get started. Stripe needs KYC (Know Your Customer) verification before you can process payments:
- Upload a government-issued photo ID (driver's license, passport, or state ID)
- Take a selfie for face match verification
- This is the same process OnlyFans, SextPanther, and every payment platform requires
- Until this is done, you cannot process live payments or create performer accounts
2E: CONFIRM FINAL DETAILS (required)
Click Get started. Stripe's final review:
- Confirm business details (name, address, tax ID / EIN)
- Verify bank account for receiving your 15% platform fees
- Accept Stripe's Terms of Service for Connect
- Stripe reviews and activates (usually instant, sometimes up to 24 hours)
Priority order: Do 2A first, then 2D, then 2E. Skip 2B and 2C.
STEP 3: GET YOUR PUBLISHABLE KEY
- Go to Developers > API Keys
- Copy the Publishable key -- it starts with
pk_live_ - Paste it into the Stripe card on the Connections page
STEP 4: CREATE A RESTRICTED KEY (RECOMMENDED)
A restricted key is more secure than the standard secret key. It limits access to only the specific Stripe features the platform needs.
- Go to Developers > API Keys
- Scroll down to the Restricted keys section
- Click Create restricted key
- Stripe asks "How will you be using this key?" -- select "Powering an integration you built", click Continue
- Next it asks what type of payments -- select "Marketplace payments" (customers pay through your platform, you take a fee, performers get the rest), click Continue
- Name: Indulgon Platform
- Set permissions for each row. The marketplace template pre-selects many to Write -- you need to change most back to None. See the quick summary below, then expand the full reference for every single row:
QUICK SUMMARY: Only 15 rows need a value other than None
Core (7 rows): Balance (Read / Read), Charges and Refunds (Write / Write), Customer Session (Write / None), Customers (Write / Write), Payment Intents (Write / Write), Payment Methods (Write / Write), Payouts (Write / Write)
Connect (4 rows): Account Links (Write), Accounts (Write), Login Links (Write), Transfers (Write)
Everything else: None / None
FULL PERMISSION REFERENCE (click to expand -- every row in exact order)
Go through each row top to bottom. Highlighted rows are the ones to set. Everything else stays None.
CORE
| Row | Perm. | Connect |
|---|---|---|
| Account Evaluations | None | None |
| Apple Pay Domains | None | None |
| Balance | Read | Read |
| Balance Transaction Source | None | None |
| Balance Transfers | None | None |
| Charges and Refunds | Write | Write |
| Confirmation Token | None | None |
| Confirmation Token (client) | None | None |
| Customer Session | Write | None |
| Customers | Write | Write |
| Delegated Commerce Product Search | None | None |
| Disputes | None | None |
| Ephemeral keys | None | None |
| Events | None | None |
| Files | None | None |
| Funding Instructions | None | None |
| Health Alerts | None | None |
| Payment Intents | Write | Write |
| Payment Method Configurations | None | None |
| Payment Method Domains | None | None |
| Payment Methods | Write | Write |
| Payouts | Write | Write |
| Products | None | None |
| Setup Intents | None | None |
| Shipping Rates | None | None |
| Sources | None | None |
| Test clocks | None | None |
| Tokens | None | None |
| Vault GB Bank Account | None | None |
| Vault US Bank Account | None | None |
ACCOUNTS V2 -- ALL NONE
Customer Configuration, Merchant Configuration, Recipient Configuration, Accounts v2 -- all None / None
BATCHES -- ALL NONE
Batch Job Runs, Batch Jobs -- all None / None
BILLING -- ALL NONE
All 20 rows (Alerts through Usage Records) -- None / None
CHECKOUT, CLAIMABLE SANDBOXES, CLIMATE, COMMERCE -- ALL NONE
Every row -- None / None
CONNECT
| Account Links | Write |
| Account Sessions | None |
| Accounts | Write |
| Application Fees | None |
| Login Links | Write |
| Top-ups | None |
| Transfers | Write |
ALL REMAINING SECTIONS -- ALL NONE
Financial Connections, Identity, Issuing, Money Management, Orchestrated Commerce, Orders, Paper Checks, Payment Links, Payment Records, Provisioning, Radar, Reporting, Sigma, Stripe Apps, Stripe CLI permissions, Stripe network, Tax, Terminal, Third-Party Gift Cards, Webhook, Workflows -- every single row in all of these sections: None / None
- Click Create key
- IMPORTANT: Copy the full key immediately -- it starts with
rk_live_and Stripe will only show it to you ONCE. If you lose it, you will need to create a new restricted key. - Paste it into the Stripe card on the Connections page and click Connect
ALTERNATIVE: USE STANDARD SECRET KEY
If you prefer not to create a restricted key, you can use the standard Secret key instead. Go to Developers > API Keys, click Roll key next to the masked Secret key to generate a new one, and copy it immediately (starts with sk_live_). The restricted key is recommended because it limits access to only what the platform needs.
HOW PAYOUTS WORK
Once Stripe is connected: Customer pays (e.g. $100 subscription) → Stripe processing fee ($3.20) added to customer total ($103.20) → Indulgon collects full amount → 15% platform fee ($15) kept by Indulgon → Performer receives $85 (85%) on their payout schedule. Performers set up payouts by filling out a simple form on the Payments page (name, DOB, SSN last 4, bank info) -- they never need their own Stripe account. Payout schedules: daily, weekly, bi-weekly, or monthly. Instant payouts available for $0.50.
TESTING FIRST
Toggle Test mode in the top-right of the Stripe Dashboard. Use test keys (pk_test_ / rk_test_) to process fake payments and verify everything works. Switch to live keys when ready to accept real money.
BANK & FINANCIAL CONNECTIONS
6 options for connecting your bank. Pick whichever works best for your bank. CSV Upload is always free and works with any bank.
PLAID
Most popular option. 12,000+ banks. ~$0.30 per connection in production.
- Go to dashboard.plaid.com/signup and create an account
- Plaid starts in Sandbox mode (fake test data). Click Request Production Access for real bank data
- Describe use case: "Personal financial tracking and expense management"
- Once approved (1-3 business days), go to Developers > Keys
- Copy Client ID and Secret (use Production keys, not Sandbox)
- Paste into Connections and click Connect
- Click "Link Bank Account" to log in through Plaid's secure window
YODLEE
Largest coverage (17,000+ institutions worldwide). Enterprise pricing. Formerly powered Mint.
- Go to developer.yodlee.com and create a developer account
- Test with sandbox environment
- Apply for production access (enterprise review process)
- Once approved, go to Dashboard > API Keys
- Copy Client ID and Secret, paste into Connections
MX
Specializes in credit unions and community banks. Clean, well-categorized transaction data.
- Go to dashboard.mx.com and request a developer account
- Test with sandbox credentials
- Apply for production access (requires business verification)
- Once approved, go to Dashboard > Credentials
- Copy Client ID and API Key, paste into Connections
FINICITY (MASTERCARD)
Mastercard-owned. Direct bank connections without screen scraping. Strong with major US banks.
- Go to Mastercard Developer Portal and create an account
- Navigate to Open Banking US (Finicity) product
- Create a sandbox app and test with sample data
- Apply for production access (requires Mastercard approval)
- Copy Partner ID, Partner Secret, and App Key
- Paste into Connections and click Connect
AKOYA
Bank-owned network. Highest security -- banks provide data directly via API (no screen scraping or credential sharing).
- Go to akoya.com/developers and request developer access
- Akoya vets all applicants (bank-owned, higher security bar)
- Once approved, you receive Client ID and Secret
- Paste into Connections and click Connect
CSV UPLOAD (Any Bank -- Free)
No API keys needed. Download your statement and upload it. Works with any bank in any country.
- Log in to your bank's website or app
- Go to Statements or Transaction History
- Click Download or Export
- Select CSV format (preferred). If not available, try QFX, OFX, or QIF
- On the platform, go to Financial Hub > Import
- Click Upload Statement and select your file
- The platform auto-detects columns (date, description, amount, balance) and imports all transactions
Supported formats: CSV, QFX/OFX, QIF, PDF (less accurate). Duplicates auto-detected and skipped. Upload as often as you want.
OTHER CONNECTIONS
NOTION
Step 1: Create a Notion Integration
- Go to notion.so/my-integrations and sign in
- Click New Integration
- Name: Your platform name (e.g., "Indulgon Sync")
- Associated workspace: Select your Notion workspace
- Type: Internal integration
- Capabilities: Check all three (Read content, Update content, Insert content)
- Click Submit
- Copy the Internal Integration Token (starts with
secret_). Shown only once - Paste into Connections and click Connect
Step 2: Share Databases with the Integration
- In Notion, open each database you want to sync
- Click the three-dot menu (top right)
- Scroll to Connections and click Connect to
- Search for your integration name and select it
- Repeat for every database -- the integration can only see databases you explicitly share
Notes: Token never expires. Must share each database individually (Notion security). Synced databases are a mirror -- PostgreSQL is the source of truth.
GOOGLE DRIVE
Step 1: Create a Google Cloud Project
- Go to Google Cloud Console and sign in
- Click the project dropdown and click New Project
- Project name: Your platform name (e.g., "Indulgon")
- Click Create
Step 2: Enable Google Drive API
- Make sure your project is selected in the top dropdown
- Go to API Library
- Search for "Google Drive API" and click Enable
Step 3: OAuth Consent Screen
- Go to OAuth Consent Screen
- User type: External
- App name: Your platform name
- User support email and Developer contact: Your email
- Click Save and Continue through Scopes and Test Users (defaults are fine)
Step 4: Create OAuth Credentials
- Go to Credentials
- Click Create Credentials > OAuth client ID
- Application type: Web application
- Add redirect URI:
https://yourdomain.com/api/auth/google-drive/callback - Click Create and copy Client ID and Client Secret
- Paste into Connections and click Connect
Notes: Starts in Testing mode (fine for personal use). Drive files appear in Cloud Services under Files. Sync is bidirectional by default.
CONNECTION NOTIFICATIONS
- When you click Connect and it succeeds, a toast notification appears at the top right: "[Service Name] connected successfully"
- If it fails (missing fields, network error, invalid keys), a toast appears: "Connection failed. Please check your keys and try again."
- Toast notifications automatically disappear after 4 seconds
- The card also updates instantly: status badge changes from "Not Connected" to "Connected" and the card gets a border highlight
CLOSET & ITEM LIFECYCLE
Track every item you own from the moment you want it to the moment a fan buys it. This system connects your Wishlists, Shopping, Wardrobe, Filmography, Store, and Financial Hub into one seamless flow.
The Full Lifecycle
- Wishlist -- See something you want? Add it to your Wishlist. Fans can buy it for you, or you buy it yourself.
- Cart -- Narrow down your wishlist to what you actually want to purchase. Move items to Cart when you are ready to buy.
- Purchased / Arrived -- Mark an item as arrived. The system automatically: creates a Closet entry, logs the purchase as an expense in Financial Hub, and links everything together.
- Worn -- Tag which scene(s) you wore it in. The outfit now appears on your Filmography page linked to that scene.
- Listed -- Ready to sell? Set your price and list it. A store listing is auto-created. Fans browsing your Filmography can see "Closet Available" on scenes where you wore it.
- Sold -- When a fan buys it, the sale is tracked as income in Financial Hub. Full circle.
Fan Outfit Requests
Fans can request to buy outfits directly from your Filmography page -- even from old scenes where the outfit was never added to any database. The system does not require the item to exist in your inventory first.
- Fan sees a scene, clicks "Request Outfit", describes what they want, and offers a price
- You receive the request in your dashboard with the scene title, their description, and their offer
- Accept their offer if the price is right (or if they offered more than you expected)
- Counter with a different price if you think it is worth more
- Decline if you do not want to sell it or cannot find it
- Full price negotiation: you counter, they counter back, until you agree or walk away
- Every price exchange is logged in a history trail
- When accepted, the item is automatically added to your Closet, linked to the scene, and listed in your Store at the agreed price
For New Performers
If you are just starting out, every single item you buy or receive from day one will flow through this system. You will never have to retroactively organize anything. Your fans can buy outfits for you before scenes (from your Wishlist) or after scenes (from your Filmography). Realistically, a performer using this system may rarely need to pay for outfits out of pocket -- fans buy them, you wear them, you sell them, you keep the profit.
FILMOGRAPHY & SCENE TRACKING
Your complete professional history. Every scene, every studio, every costar -- all connected to your bookings, financial records, wardrobe, and awards.
What Gets Tracked
- Scene details: Studio, costars, director, date, tags (BG, SOLO, BGA, etc.)
- Financial data (private): How much you were paid, which database it came from, agent fees
- Wardrobe: Which Closet items were worn in each scene
- Awards: Which scenes were submitted for or won awards
- Bookings: Scene work from your agent or Notion databases automatically appears on both the Bookings page and Filmography page
Favorites & Award-Worthy
- Mark any scene as a Favorite -- your personal highlight reel
- Mark scenes as Award-Worthy -- when award season comes, pull up this list to decide what to submit
- Submit directly from your filmography to award shows (AVN, XBIZ, XRCO, etc.)
- If nominated, the nomination appears on your Awards page. If you win, it is added to your Achievements page automatically.
Public vs Private View
- Fans see: Scene title, studio, costars, date, tags, awards, and whether a Closet item is available
- You see: Everything above PLUS payment amounts, agent info, source database, completeness scores, and financial links
- Sort and filter by: Date, A-Z, studio, costar, agent, amount, tags
BOOKINGS
All your work in one place. Scene work from Notion databases, manual bookings for dance features, hosting gigs, conventions, and more -- all unified with full sort and filter.
Add Booking (in Financial Hub)
The Financial Hub has an "Add Booking" tab for logging paid appearances:
- 12 booking types: Feature Dance, Hosting/MC, Mainstream Scene, Self-Produced Scene, Funded Scene, Club Appearance, Convention, Private Event, Brand Deal, Podcast, Photo Shoot, Video Call, Companion Service, Other
- Fields: date, amount, venue, location, agent name, agent fee, duration, notes
- Options: deposit tracking, tax-deductible flag, auto-create travel expense placeholders
- On submit: creates income transaction + agent fee expense + optional travel expense + booking record. All linked.
Bookings Page
- Shows ALL bookings: scene work from Notion sync + manual bookings you add
- Sort: Date, Amount, A-Z, by Studio, by Costar, by Agent
- Filter: by Studio, Costar, Agent (dropdowns populated from your data)
- Type filter: All, Mainstream Scenes, Self-Produced, Funded, Feature Dance, Hosting, Club Appearance, Platform Bookings
- Stats: total bookings, scene count, total earned, studio count, costar count
CONTRACTS
Track every contract you sign -- agency agreements, studio deals, brand partnerships, exclusive arrangements, licensing deals.
- Contract types: Agency, Studio, Brand, Exclusive, Licensing
- Details tracked: Party name, start/end dates, base rate, commission percentage, terms, renewal dates
- Document storage: Upload the actual contract PDF for reference
- Status: Active, Expired, Terminated, Pending
- Auto-renewal alerts: Get notified before a contract auto-renews
- Connected to: Bookings done under this contract, earnings tracked under this agency, scenes shot under this deal
AWARDS & NOMINATIONS
From submission to trophy. Track every award show, nomination, and win.
- Submit scenes: Mark scenes as award-worthy in your Filmography, then submit them to award shows (AVN, XBIZ, XRCO, etc.)
- Track status: Submitted, Nominated, Won, Lost
- Connected to: The scene/film it was submitted for, the outfit you wore to the ceremony (Closet), your Achievements page
- Career stats: Total nominations, total wins, years active in awards
- Public display: Nominations and wins show on your public profile and Filmography
CAREER TIMELINE
Your entire career as a chronological timeline. Every milestone auto-populates as you use the platform.
- Auto-tracked events: First scene, contracts signed, award nominations, award wins, milestones (100th scene, etc.), conventions attended, items sold
- Connected to everything: Each timeline event links back to the original record (the film, the contract, the award, the booking)
- Public vs Private: Choose which events are visible on your public profile. Financial details are always private.
- For new performers: Start using Indulgon from day one and your entire career builds itself. Sign with an agent (contract logged), book your first scene (booking + filmography), buy your first outfit (wishlist + closet), shoot the scene (linked to outfit + booking), scene releases (filmography updated), get nominated (awards), win (achievements). Everything connected, nothing lost.
HOW EVERYTHING CONNECTS
Indulgon is not a collection of separate tools. Everything is connected to everything. Here is how it works behind the scenes:
Example: A performer's first week
- Signs with an agency -- Contract created, appears in Career Timeline
- Agent books her first scene for Friday -- Booking created, linked to contract
- Needs lingerie -- adds items to Wishlist. A fan buys it for her (gift tracked in Financial Hub). Or she buys it herself (expense tracked).
- Item arrives -- moves to Closet automatically with purchase receipt linked
- Shoots the scene Friday -- Filmography entry created, outfit tagged as worn in this scene
- Posts behind-the-scenes photos -- Feed post linked to the scene and outfit
- Scene releases online -- Filmography updated with release date
- Fan sees the scene, wants the outfit -- Fan Request submitted. She accepts the offer.
- Outfit sells for $200 -- Store sale logged, income in Financial Hub, Closet status: sold
- Scene nominated for Best New Starlet -- Awards submission, linked to the film
- She wins -- Achievements updated, Career Timeline milestone added
Every single step above happened on one platform. No spreadsheets. No switching between 20 apps. One place, everything connected, nothing lost.
INDUSTRY CONTACTS (ADDRESS BOOK)
Every person you have ever worked with -- costars, directors, photographers, agents, makeup artists, producers -- all in one place, automatically linked to the scenes you worked together on.
Auto-Populated
When you connect your Notion databases or add scenes, the platform automatically scans every scene and extracts every person mentioned. No manual entry needed. Each contact shows:
- Name, role (costar, director, photographer, etc.), and company/studio
- How many scenes you have worked together
- First and last time you worked together
- Every studio you have worked at together
- Total amount earned from scenes together
What You Can Do
- Rate people (1-5): How much you liked working with them
- "Would work again" flag: Quick yes/no so you remember
- Favorites: Star the people you love working with
- Tags: "professional", "fun to work with", "always on time", "great lighting" -- whatever helps you remember
- Notes: Personal notes only you can see
- Contact info: Email, phone, social handles, website -- so when you want to work with them again, you can reach out directly
Cross-Links
- Filmography: Click any scene to see everyone who worked on it. Click any person to see every scene you did together.
- Address Book page: Industry contacts appear alongside your location addresses. One unified contact system.
- Studio lookup: "Who have I worked with at Evil Angel?" -- instant answer with scene counts per person.
- Search: Type any name and immediately find them with their full work history.
- Bookings: When you want to request a specific director or costar for a booking, pull them from your contacts.
Import Your Existing Contacts
Connect your phone contacts or other contact sources. The system automatically matches imported contacts against your existing filmography contacts and enriches them with phone numbers, emails, and social handles.
- Apple Contacts (iCloud): Connect via Connections page. All your iPhone contacts sync and match against your industry contacts.
- Google Contacts: Connect via Connections page. Same matching and enrichment.
- Outlook / Microsoft Contacts: Connect via Connections page.
- vCard (.vcf) file: Export contacts from any app, upload the .vcf file. Industry-standard format.
- CSV file: Export contacts as CSV from any app.
- Preview before import: See exactly what will happen before committing. Shows which contacts match existing people, what fields would be added, and which are new.
- Merge strategy: "Fill missing only" (default, never overwrites), "Replace all" (phone contacts are more current), or "Skip matches" (only add new people).
Example: You have "Mike Adriano" in your filmography with 13 scenes tracked. You also have him in your iPhone contacts with his phone number and Instagram handle. When you import Apple Contacts, the system matches them, adds his phone number and Instagram to his industry contact profile, and now you can see everything in one place: 13 scenes together, every studio, his contact info, your rating, your notes.
Ongoing Bidirectional Sync
This is not a one-time import. Once connected, contacts sync continuously in both directions:
- Initial scan: Matches all your phone contacts against your platform contacts. Fills in missing phone numbers, emails, social handles. Shows you which platform contacts are NOT in your phone (so you can add them).
- Phone changed: Someone gets a new phone number or email? The sync detects the change and updates their platform contact. Old phone number is preserved in notes so you never lose it.
- New phone contact: You meet someone at a convention and add them to your iPhone. Next sync, they automatically appear on the platform. If you then shoot a scene with them, they link to that scene.
- New platform contact: You record a scene with a new costar. The platform auto-creates their contact. Next sync, the system tells you they are not in your phone yet so you can add them (with all their info already filled in).
- Already complete contacts are skipped: If a contact already has all their info filled out on both sides, the sync skips them. Only contacts with empty fields or detected changes get touched.
- Unmatched list: Shows all 300+ industry contacts who still have no phone or email. When you connect your phone contacts, the system tries to match as many as possible. The rest stay on the list until you add their info (or they get matched from another source like Google or Outlook).
Option A: iCloud API with App-Specific Password (Ongoing Sync)
This connects directly to your iCloud account and syncs contacts automatically. Changes on either side are detected and applied. Recommended for ongoing use.
- Go to appleid.apple.com and sign in with your Apple ID
- Click Sign-In and Security in the left sidebar
- Click App-Specific Passwords
- Click the + (plus) button to generate a new password
- Name it Indulgon (this is just a label so you remember what it is for)
- Apple will show you a password in the format xxxx-xxxx-xxxx-xxxx. Copy it immediately -- you cannot see it again.
- On the platform: go to Address Book > Sync Contacts tab, or Connections > Apple Contacts (iCloud)
- Enter your Apple ID email and the app-specific password you just generated
- Click Connect iCloud Contacts
- Initial sync runs immediately: matches your phone contacts against your industry contacts, fills in missing phone numbers and emails
- From now on, sync runs automatically every 5 minutes when the connection is active
Important: An app-specific password is NOT your Apple password. It is a separate, limited-access password that can only access your contacts. You can revoke it at any time from appleid.apple.com. Your actual Apple password is never stored on the platform.
Option B: Export and Upload (.vcf File)
One-time import from an exported contacts file. Use this if you prefer not to connect your iCloud account directly, or if you use Android/other platforms.
- From a Mac: Open the Contacts app. Select the contacts you want (or press Cmd+A for all). Go to File > Export > Export vCard. Save the .vcf file.
- From iCloud.com: Go to iCloud Contacts. Select all contacts (Cmd+A). Click the gear icon at the bottom left. Click Export vCard.
- From iPhone (no Mac): There is no built-in export on iPhone. Use the iCloud.com method from any browser, or download a free app like "Easy Backup" or "My Contacts Backup" from the App Store.
- From Google: Go to Google Contacts. Click Export (left sidebar). Choose vCard format. Download the .vcf file.
- From Outlook: Go to People in Outlook. Click Manage > Export contacts. Download the CSV. (Or export as vCard if available.)
- On the platform: go to Address Book > Sync Contacts tab
- Under "Option B: Export and Upload", click the file input and select your .vcf file
- Click Upload and Match
- The system reads every contact in the file, matches them against your industry contacts by name/phone/email, and fills in missing info
- A summary shows how many were matched, enriched, and created
Note: Option B is a one-time import. To keep contacts in sync going forward, use Option A or re-upload a new .vcf file periodically. Both options can be used together -- for example, use Option A for Apple and Option B for Google.
Why This Matters
Before Indulgon, you might add someone to your phone contacts but forget which scene they shot. Or you loved working with a director but cannot remember their name three years later. With Indulgon, every person is permanently linked to every scene. Even 10 years from now, you can look up "who directed my Evil Angel scenes in 2014" and get an instant answer with their contact info. New performers starting today will never have this problem -- every person from their very first scene is automatically tracked.
WHEN A SCENE IS RECORDED
When you record a scene (or one is synced from your agent/Notion databases), everything cascades automatically. You enter the information once. The platform does the rest.
What Happens Automatically
- Income transaction created in Financial Hub (amount, studio, date)
- Booking record created on Bookings page (type, location, rate)
- Film entry added to Filmography (title, studio, costars, director)
- All people added to Industry Contacts -- costars, director, photographer, makeup artist, producer. If they already exist, their scene count and "last worked" date update.
- Each person linked to this specific scene (so you can look up "which scenes did I do with this person")
- Outfits tagged as worn in this scene (Closet items you select)
- Agent fee recorded as a separate expense, linked to the scene income
- Travel expense placeholder created if you enable it (fill in actual cost later)
- Career Timeline event logged ("Scene: Vixen w/ Jason Luv")
- Notion writeback (if connected) syncs the new scene to your Notion databases
- Entity links created connecting scene to booking, outfit, and expenses
You enter: Studio, costars, director, amount, date, and optionally photographer, outfits, and agent info.
The platform creates: 11 connected records across 7 different pages. Everything linked, nothing forgotten, no duplicate data entry.
Add Information at Any Time
You do not need all the information at once. Record a scene with just the studio and amount today. Add the costar's name when the film comes out weeks later. Add the director's name when you remember. Tag the outfit months later. Every update reconnects everything automatically.
- Any combination works: Just studio? Just amount? Just costars? Any subset of fields. Nothing breaks.
- Add people later: Add a costar name 3 weeks after the shoot -- the contact is created and linked to the scene instantly.
- Add more people: Already had 1 costar listed? Add a second one -- the original stays, the new one gets added alongside.
- Add agent fee later: Forgot to log the agent commission? Add it any time -- linked to the original scene income.
- No duplicates: If you add the same person twice, it recognizes the match and just links (does not create a duplicate contact or double-charge an agent fee).
- Update amounts: Got paid more than expected? Update the amount -- the transaction adjusts.
- Tag outfits later: Wore a specific outfit but did not log it at the time? Tag it now and it links to the scene in your Filmography.
BOOKING REQUESTS & AVAILABILITY SYSTEM
A complete booking system for performers, studios, agents, publicists, and strip clubs. Send and receive booking requests, manage availability, block dates, prevent double-booking, and connect everything to your calendar, financial hub, and filmography.
1. Booking Requests (Inbound and Outbound)
Studios, agents, fans, strip clubs, or other performers can send you booking requests. Each request includes:
- Who: Studio or person requesting (with their profile, stats, and history)
- What: Scene type (BG, Solo, GG, BGA, Anal, etc.), description, other performers
- When: Requested date and time (checked against your calendar automatically)
- How much: Offered rate (including first-time premium rates)
- Attachments: Call sheet, contract, location details
2. Request Routing Settings
Every setting is an independent toggle. Mix and match however you want. Go to Settings > Booking Preferences to configure.
| Setting | Options | Default |
|---|---|---|
| Agent receives requests | On / Off | On |
| I receive requests | On / Off | On |
| Agent can accept on my behalf | On / Off | On |
| I can accept directly | On / Off | On |
| Wait for agent before I can accept | On / Off / Custom hours | On (24 hours) |
| Auto-accept if calendar is open | On / Off | Off |
| Notify agent when I accept directly | On / Off | On |
| Notify me when agent accepts | On / Off | On |
| Block same-day double booking | On / Off | On |
Example Combinations
- Everything through my agent: Agent receives = On, Agent can accept = On, I can accept = Off. You see requests but can only accept after your agent handles it.
- Agent first, then me (24h window): Wait for agent = On (24h). If your agent does not respond in 24 hours, the Accept button unlocks for you to handle directly.
- Skip agent, book directly: Agent receives = On (just FYI), I can accept = On, Wait for agent = Off. You accept instantly, agent gets a notification.
- Do not involve agent: Agent receives = Off, I can accept = On. Direct booking, agent never sees it.
- Auto-pilot: Auto-accept if open = On. If May 3 is free, auto-accepts. If May 3 is booked, declines or holds for review.
- Studio example: A studio wants all requests to go through their booking manager. Agent receives = On (booking manager), Agent can accept = On, I can accept = Off.
- Agent pushing talent: Agent sends promotion to studio. Studio reviews performer stats, scenes, photos. If interested, sends booking request back. Agent and performer both notified.
- Strip club booking: Club sends request to agent and performer. Agent confirms availability and rate. Performer accepts. Calendar blocked, contract attached, travel expenses auto-created.
3. Calendar Blocking and Availability
- Date blocking: When a booking is accepted, that date is blocked. No other full-day bookings can be scheduled.
- Time-slot blocking: For time-based bookings (Skype shows, video calls, companion services), specific time slots are blocked. Fans see only available slots.
- Manual blocks: Block dates for vacation, personal days, travel. Click any date on your calendar and mark it blocked.
- Buffer time: Configurable buffer between time-slot bookings (default 30 minutes). Prevents back-to-back without a break.
- Multi-day bookings: Some shoots are 2+ days. Block the entire range.
- Availability hours: Set your general available hours (default 10am-8pm). Fan bookings can only be scheduled within those hours.
- Blocked days: Block specific days of the week (e.g., never book on Sundays).
- Double-booking prevention: The system checks availability before any booking is accepted. If a date or time slot conflicts, the request is flagged and alternative dates are suggested.
4. Request Flow
When a studio sends a booking request:
- Request arrives. Notification sent to performer AND/OR agent (based on settings).
- If "wait for agent" is on: performer sees the request but the Accept button is locked with countdown ("Agent has 24h to respond").
- If agent accepts: booking confirmed. Goes to Calendar + Bookings + Financial Hub. Performer gets notification: "[Brazzers] booking confirmed by your agent for Aug 13 - BG - $2,400."
- If agent does not respond within the window: Accept button unlocks for performer.
- Performer accepts: same cascade (Calendar + Bookings + Financial Hub + Industry Contacts + Career Timeline).
- If "auto-accept" is on AND calendar is open: auto-confirmed, everyone notified.
- Call sheet and contract can be attached at any time before or after acceptance.
5. Rebooking and Promotions
- Rebook from Filmography: Click a scene, two options: "Rebook (Same Setup)" copies all details from the original scene, or "Rebook (New Scene)" sends just the studio name and lets them fill in details for a new scene.
- Rebook from Industry Contacts: Click a person, click "Request booking." Pre-fills their name and role.
- Rebook from Bookings: Click any past booking, click "Rebook." Choose full prefill, partial prefill (pick which fields to copy), studio only, or blank.
- Rebook from Financial Hub: Click a scene work transaction, click "Rebook." Same 4 mode options.
- Rebook from Strip Club Appearances: Click an appearance, rebook with the same club. Copies guaranteed amount and type.
- Rebook Modes Explained:
- Full Prefill: Copies everything -- scene type, rate, costars, director, location. For rebooking the exact same setup.
- Partial Prefill: You choose which fields to copy (rate, scene type, costars, director, location). Mix and match.
- Studio Only: Just identifies the studio/recipient. They fill in all the details for a new scene. Best when a studio is rebooking a performer for something completely different.
- Blank: Fresh request with just a reference link to the original. Start from scratch.
- Studio promotes to agents/performers: Studios can send promotional pitches with their awards, recent releases, and offered rates. Includes first-time premium rates (e.g., first anal = double rate).
- Agent promotes performers to studios: Agents send talent pitches with performer stats (scene count, studios worked with, awards won), photos from their profile, and suggested rates.
- Performer self-promotion: Performers can let studios know they are available, with their stats and portfolio attached.
- Casting calls: Studios post what they need (performer type, scene type, date, rate). Matching performers can respond "I am available."
6. Where This Lives
- Bookings page: Main hub -- view all requests (inbound/outbound), accept/decline/reschedule, rebook
- Filmography: "Rebook with this studio" button on every scene
- Industry Contacts: "Request booking" button on every contact card
- Financial Hub: "Rebook" button on scene transactions
- Calendar: Visual availability, blocked dates, accepted bookings, time slots
- Settings > Booking Preferences: All routing toggles, availability hours, buffer time
- Connections: Link to setup guide for how studios/agents send requests
7. Notifications
- Request received: performer + agent (based on settings)
- Agent accepted: performer notified
- Performer accepted directly: agent + studio notified
- Auto-accepted: performer + agent + studio all notified
- Declined: studio notified (with optional reason)
- Rescheduled: all parties notified with new date
- Calendar conflict detected: performer warned before accepting
- Agent window expiring: performer notified ("You can now accept directly")
All User Types
Every feature above works for every user type. Whether you are a performer, studio, agent, publicist, or strip club, you have the same settings, the same calendar blocking, the same request flow. The only difference is who you send requests to and who sends them to you.
- Performers: Receive requests from studios and agents. Send rebooking requests. Promote themselves to studios.
- Studios: Send requests to performers/agents. Post casting calls. Promote their studio and rates to agents. Track which performers drive the most traffic.
- Agents: Receive requests for their roster. Accept/decline on behalf of performers (with permission). Push talent to studios with stats and photos.
- Publicists: Connected to interviews, press releases, events. Fees tracked in Financial Hub. Tagged in posts, photos, videos.
- Strip Clubs: Send appearance requests. Tagged in income, expenses, events, posts, photos, videos. House fees, tip splits, contracts, and travel all tracked.
Two-way consent: Features that connect two accounts (like agent accepting on performer's behalf) require both accounts to have the relevant settings enabled. A studio cannot bypass a performer's "require agent" setting.
Calendar to Feed Post
Any event on your calendar can be turned into a feed post with one click. This works for bookings, publicist events (interviews, press releases), strip club appearances, manual events, and anything else on your calendar.
- From the Calendar page: Click "Create Post" next to any upcoming event. Choose auto-generated text, write custom text, or save as draft.
- From the Publicist page (Calendar tab): Click "Create Post" next to any publicist event. Automatically includes the event title and outlet.
- Auto-post on engagement: When logging a new publicist engagement, check "Auto-create Feed Post" to publish immediately. Custom text optional.
- All posts link back to events: Posts created from calendar events are linked via entity_links so you can see which post came from which event.
PUBLICISTS
Track your publicist, their services, fees, and everything they do for you. Connected to Financial Hub (expenses), Filmography (interviews about scenes), Feed (posts they coordinate), and Career Timeline.
Adding a Publicist
Go to the Publicist page (under Services in the More dropdown) and click "+ Add Publicist". Enter their name, company, contact info, the services they provide (press releases, interviews, event booking, social campaigns, crisis management, brand partnerships, media training, reputation management), and fee structure (monthly retainer, per-service, or both). Upload their contract. They are automatically added to your Industry Contacts and Career Timeline ("Hired publicist: Sarah PR (Star PR Agency)").
Tracking Engagements
Every time your publicist does something for you, log it as an engagement. Types: Interview, Press Release, Event, Article, Social Campaign, Crisis Management, Other. Each engagement includes the media outlet/publication, URL, fee, and description. Fees automatically create expense transactions in Financial Hub under the "Publicist Fees" category.
What Connects Where
- Financial Hub: Every engagement fee creates an expense transaction. Monthly retainers tracked separately.
- Filmography: Interviews about specific scenes or films can be linked to filmography entries.
- Feed: Posts coordinated by your publicist can be tagged to them.
- Industry Contacts: Publicist appears as a contact with role "publicist", full info, and engagement count.
- Career Timeline: "Hired publicist" event logged automatically. Major press events appear on your timeline.
- Bookings: If your publicist books appearances or events, those show in Bookings too.
- Income, Expenses, Events, Posts, Photos, Videos: Your publicist can be tagged in all of these. View everything they have been involved in from their contact card.
Publicist Page Tabs
- My Publicists: All your publicists with their services, fees, contact info, and contract links. "Log Engagement" and "View Contact" buttons on each card.
- Engagements: Searchable/filterable list of all engagements across all publicists. Filter by type and publicist. Each shows outlet, URL, fee, date.
- Calendar: Shows all publicist events on the calendar (interviews, press releases, events). Each has a "Create Post" button to instantly publish to your feed. Links to the main Calendar page.
- Timeline: Chronological view of all PR events -- when you hired them, interviews, press releases, events.
- Finances: Total fees paid, broken down by engagement. Pulls directly from Financial Hub.
- How It Works: Explains what a publicist does, how to add one, how engagements are tracked, and what connects where.
Cross-Page Links
The Publicist page has quick-links to all connected pages: Address Book (filtered to publicist contacts), Calendar (publicist events), Filmography (scenes connected to PR), Financial Hub (filtered to Publicist Fees), Feed (posts coordinated by publicists), and Connections. These cross-page links let you jump between views of the same data.
Calendar Integration
When you log an engagement with a date, it automatically appears on your Calendar. Interview publish dates, press release dates, event dates -- all show up. From the Calendar or the Publicist page Calendar tab, you can click "Create Post" to turn any publicist event into a feed post (auto-generated or custom text).
Auto-Post from Engagement
When logging a new engagement, check "Auto-create Feed Post" to immediately publish a post about it. You can write custom text or let the system auto-generate it from the engagement details (type, title, outlet, URL). Great for announcing interviews and press coverage as they come out.
For All User Types
Whether you are a performer, studio, strip club, or agent, everyone can have a publicist. Studios track their PR team. Agents track publicists for their roster. Strip clubs track event promoters. The same features and settings apply to all user types.
STRIP CLUBS
Track strip club appearances, fees, earnings, contracts, and travel. Connected to Financial Hub, Calendar, Bookings, and your Feed.
- Add clubs: Name, city, contact info, booking contact, house fee, tip split percentage
- Log appearances: Date, type (feature, guest, hosting, private event), guaranteed amount, actual earned, tips, house fee
- Auto-creates financial records: Income transaction (what you earned) + expense transaction (house fee) + travel expense (if applicable)
- Calendar blocked: Appearance dates auto-block your calendar
- Contracts attached: Upload or link the contract for each appearance
- Tagged in content: Posts, photos, and videos from the appearance can be tagged to the club
- Rate and review: Rate clubs 1-5 stars with notes (private, only you see)
- Booking requests: Clubs can send you booking requests through the system, or you can reach out to clubs directly
AUTO-POST EVENTS
The platform can automatically create feed posts when important things happen across your account. Each event type is individually toggleable in Settings.
Event Types
| Event | Default | Example Post |
|---|---|---|
| Scene Released | Off | "New scene released: Summer Fantasy for Vixen (BG)" |
| Award Nominated | Off | "Nominated for AVN Award -- Best Actress for 'Summer Fantasy'!" |
| Award Won | On | "Won AVN Award -- Best Actress!" |
| New Store Listing | Off | "New item listed: Black Lace Set -- $150 (worn) -- Worn in 'Summer Fantasy'" |
| Strip Club Appearance | Off | "Appearing at Spearmint Rhino in Las Vegas on May 10!" |
| Booking Confirmed | Off | "New booking confirmed with Brazzers (BG)!" |
| Milestone Reached | Off | "Milestone: 500th Scene! -- Half a thousand scenes in the industry" |
| Going Live | On | "Going LIVE: Friday Night Fun! Come join (public room)!" |
| Wishlist Gift Received | On | "Someone bought me Red Heels from my wishlist! Thank you @fan123!" |
| Workout Completed | Off | "Just finished: Morning Yoga (45 min) -- 320 cal burned" |
| Recipe Shared | Off | Auto-generates from recipe details |
| Music Shared | Off | Auto-generates from song/playlist |
Custom templates: You can customize the text for each auto-post type. Use variables like {film_title}, {studio}, {club_name}, {item_name}, etc. in your templates. Go to Settings to configure.
For all user types: Studios get auto-posts for new releases, casting calls filled, award wins. Agents get posts for new signings, booking confirmations. Strip clubs get posts for upcoming featured performers. Everyone has the same toggles.
CALENDAR SYNC
Your calendar automatically pulls events from 8 sources across the platform. Everything appears in one unified view.
Event Sources
- Cam Sessions: Scheduled live streams appear on calendar with room type and time.
- Video Calls: Scheduled Skype/video calls with clients appear with duration.
- Shifts: All scheduled shifts (companion, ASMR, FinDom, general) synced automatically.
- Amazon Deliveries: Expected delivery dates from connected Amazon account.
- Contracts: Start dates, end dates, and renewal deadlines.
- Fitness: Scheduled workouts.
- Film Releases: Scene release dates from filmography.
- Award Ceremonies: Award show dates for nominations.
iCloud Calendar Export and Import
- Export: Download your entire Indulgon calendar as an ICS file. Import it into iCloud Calendar, Google Calendar, or Outlook. URL: /api/calendar-sync/export.ics
- Import: Upload an ICS file from iCloud Calendar or Google Calendar. Events are added to your Indulgon calendar without duplicating existing ones.
- Sync: Click "Sync All" to pull the latest events from all 8 sources into your calendar.
DASHBOARD
Your dashboard aggregates data from across the entire platform into one view.
- Pending Booking Requests: Shows how many booking requests are waiting for your response.
- Today's Events: All calendar events for today (bookings, cam sessions, shifts, deliveries, etc.).
- Next 3 Days: Everything coming up in the next 3 days.
- Recent Milestones: Latest career timeline events (contracts signed, awards, scene milestones).
- People Worked With This Month: How many unique contacts you have worked with this month.
- Items For Sale: How many items are currently listed in your store.
- Upcoming Interviews: Press/publicist interviews coming up.
- Upcoming Appearances: Strip club appearances coming up.
- Active Ride Tracking: Whether you currently have an active ride being tracked (safety feature).
- Unread Notifications: Total unread notification count.
CROSS-PAGE CONNECTIONS
Everything on this platform connects to everything else. Here is how specific cross-connections work.
Shifts to Bookings, Calendar, and Financial Hub
When you create a shift, it automatically syncs to your calendar (blocked time), creates a booking record, and when completed, creates an income transaction in Financial Hub. Use "Sync All Shifts" to push all future shifts to the calendar at once.
Contracts to Calendar and Contacts
When you add a contract, start and end dates are added to your calendar. The contract party is added to your Industry Contacts. Entity links connect the contract to any related bookings and films. Renewal dates show as calendar reminders.
Store Sales to Income and Closet
When a store item is sold, an income transaction is automatically created in Financial Hub. If the item came from your closet (scene-worn item), the closet item status is updated to "sold" with the sale price and date.
Vault and Scene Media
Photos and videos from your scenes/films are accessible through the Vault. Any media from posts linked to films appears in the scene media view. Closet outfit photos also accessible from Vault.
Comprehensive Reports
Reports now pull from all sources: Filmography (scenes, studios, costars by year), Bookings (revenue by type), Publicist (engagement count and fees), Strip Clubs (appearance income and fees), Financial Hub (income, expenses, net), and Awards (nominations and wins). One report covers your entire year.
Profile Public Data
Your public profile now includes an Awards Showcase (all nominations and wins), a public Career Timeline (events you have marked as public), and Social Links (connected platform usernames). Visitors see your professional history at a glance.
Quick-Message from Contact Card
From any industry contact card, you can send a direct message. If the contact has a platform account, a conversation is created. If not, their email and phone are shown so you can reach them directly.
COLOR CUSTOMIZER
Customize your platform colors without changing your template layout. Click the "Aa" button in the top navigation to open the Color Customizer panel.
- Color picker: Change background, text, accent, button, and border colors individually
- Eyedropper: Pick any color from your screen and assign it to a variable
- Photo style toggle: "Normal" keeps original photo colors. "Match Theme" tints all photos to match your color scheme.
- Import from image: Upload a mood board or color palette image and extract colors automatically
- Undo: Step back through changes one at a time. Changed 5 colors but the last 2 were bad? Hit Undo twice.
- Revert Session: Go back to how everything looked when you first opened the customizer
- Reset: Return to the original template defaults
- The panel scrolls independently and works on any screen size. Header stays pinned so you can always close it.
DATA IMPORT
Import your earnings, subscribers, messages, and payout history from other platforms. All data is tagged by platform source and never mixed together.
SUPPORTED PLATFORMS
| OnlyFans | Earnings, Subscribers, Messages, Payouts | GDPR export (Settings > Privacy > Submit GDPR Request). 1-7 days. |
| SextPanther | Earnings, Messages, Payouts | Email [email protected] with GDPR request. |
| Chaturbate | Earnings, Payouts | chaturbate.com/privacy/request/ |
| ManyVids | Earnings, Payouts | Email [email protected] |
| Fansly | Earnings, Subscribers | Settings > Privacy > Request Data Export |
| MyFreeCams | Earnings | Email [email protected] |
HOW TO IMPORT
- Go to Data Import
- Click the platform you want to import from
- Read the "How to get your data" instructions for that platform
- Once you have the ZIP or CSV file(s), drag and drop into the upload zone
- The system auto-detects the platform and data type from the CSV headers
- Processing happens in the background -- you can close the modal and check back
- When complete, your summary card shows: earnings breakdown, subscriber overview, message stats
Note on GDPR exports: Platforms are legally required to give you one free copy of your data. Response time varies (same day to 7+ days). Some data may be redacted to protect other users' privacy (fan names, emails). If a platform partners with Indulgon Connect, the data transfer is instant and may include more detail.
SOCIAL CONNECT (HOOTSUITE-STYLE)
For platforms with public APIs (social media), you can connect directly and manage everything from Indulgon:
- Twitter / X: Available now. Connect via OAuth, post, schedule, view analytics and inbox.
- Instagram, TikTok, YouTube, Reddit, Facebook, LinkedIn: Coming soon.
Adult platforms (OnlyFans, SextPanther, etc.) do not have public APIs, so they require the GDPR export method above. When/if they partner with Indulgon Connect, the integration becomes automatic.
DATA EXPORT (YOUR RIGHT TO YOUR DATA)
Export everything from your Indulgon account at any time. Your export includes both data you created on Indulgon AND data you imported from other platforms -- all clearly labeled by source.
WHAT IS INCLUDED
| Indulgon Data | Content you uploaded, earnings from Indulgon transactions, bookings, profile, settings, vault items, feed posts, expenses, safety blocklist |
| OnlyFans Data | Imported earnings, subscribers, messages (metadata only), payouts -- all tagged as source: "onlyfans" |
| SextPanther Data | Imported earnings, messages, payouts -- tagged as source: "sextpanther" |
| Other Platforms | Any data imported from Chaturbate, ManyVids, Fansly, MyFreeCams -- each tagged by source |
EXPORT OPTIONS
- Full Export: Everything -- Indulgon + all imported data
- Indulgon Only: Just what you created on this platform
- Imported Only: Just what came from other platforms
- Custom: Pick exactly which data types to include (earnings, subscribers, content, bookings, etc.)
HOW TO EXPORT
- Go to Settings > Data Export
- Click "Preview" to see what data you have and how many records
- Choose your export type (Full, Indulgon Only, Imported Only, or Custom)
- Click "Export" -- processing takes 1-5 minutes depending on data size
- Download your ZIP file (contains CSV files + manifest + README)
- Every CSV includes a "data_source" column so you can filter by platform
Details: Exports are available for 7 days, up to 5 downloads per export. After that, request a new one. Format is ZIP containing CSVs (machine-readable, GDPR Article 20 compliant).
DATA RECOVERY (LOST / BANNED ACCOUNTS)
Lost access to a platform? Banned, suspended, or locked out? Your data is still legally yours. Indulgon can help you recover it.
HOW IT WORKS
- Go to Data Import > Recovery Request
- Select the platform you lost access to
- Tell us what happened (banned, suspended, deleted, locked out)
- Upload proof you owned the account (payout receipt, screenshot, or matching email)
- Choose what data you want recovered (earnings, subscribers, payouts, etc.)
- Acknowledge that you are not requesting account restoration -- just your data
- We generate a formal GDPR/CCPA data request letter with all the legal references
- The letter gets sent to the platform's privacy team (or you can send it yourself)
- We track the request and auto-follow up if they do not respond within 30 days
- When your data arrives, import it into your Indulgon dashboard as historical records
SUPPORTED PLATFORMS FOR RECOVERY
OnlyFans, SextPanther, Chaturbate, ManyVids, Fansly, MyFreeCams, Pornhub/Modelhub, Stripchat, CAM4, Clips4Sale, LoyalFans, and any other platform (custom letter template).
LEGAL BASIS
Under GDPR Article 15 (EU/UK) and CCPA (California), platforms are legally required to provide your personal data on request -- even if your account is banned or terminated. The data is yours regardless of account status. Platforms typically have 30 days (GDPR) or 45 days (CCPA) to respond. If they do not, the follow-up letter references supervisory authorities and enforcement.
IDENTITY VERIFICATION PASSPORT
Verify your identity once on Indulgon. Your verification becomes a portable credential you can share with any platform.
HOW IT WORKS
- Go to Settings > Identity Verification
- Upload a government-issued photo ID (driver's license, passport, or state ID)
- Take a selfie for face match verification
- Verification is reviewed (via Stripe Identity or admin review, usually within 24-48 hours)
- Once verified: your status includes legal name confirmation, age verification, and 2257 compliance
- To share with another platform: generate a time-limited share token (default 24 hours, single-use)
- Send the token link to the platform -- they check it and get your verified status without you re-uploading documents
Privacy: Share tokens are scoped (you choose what to share: identity, age, 2257 status). Tokens expire and can be revoked at any time. Your actual documents are never shared -- only the verification result.
PERFORMER TAGGING SYSTEM
Tag anyone in your filmography, financial records, bookings, or content -- even people who are not on Indulgon yet.
HOW IT WORKS
- On any tagging field (filmography, financial hub, bookings, content), start typing a name
- The autocomplete shows existing Indulgon users AND existing placeholders
- If the person is not in the list, type their full name and add optional info (Twitter handle, Instagram, email)
- A placeholder account is created -- their name is clickable on your profile
- If you provided social handles, we attempt to notify them: "[Your name] added you to their Indulgon profile"
- They click the link, create an account (or connect an existing one), and claim the placeholder
- All tags from everyone who tagged them transfer to their real account automatically
WHERE YOU CAN TAG
- Filmography: Tag co-stars, directors, photographers, producers in your scenes
- Financial Hub: Tag performers in shared earnings (split payments, scene partners)
- Bookings: Tag other performers in joint bookings
- Content: Tag performers who appear in your vault items
- Feed Posts: Tag performers in social posts
Note: Every tag is also an invitation. The more performers who tag someone, the higher that person appears in the pending invitations queue. Popular performers get invited first.
HELP CENTER AND SUPPORT
The Help Center is your one-stop page for getting help, managing your data, and understanding your rights.
TABS
- FAQ: Common questions about Indulgon, payments, data, safety. Quick-link cards to the most common actions.
- Your Data: Export all data, preview what you have, request recovery from other platforms. Full GDPR rights explained (access, portability, erasure, rectification, restriction).
- Account: Delete account (30-day grace period), recover account (password reset, locked out, hacked, restore deleted), merge duplicate accounts.
- Legal / Privacy: Full privacy policy, what data we collect, how we use it, what we do NOT do (no selling, no ads, no AI training), data retention, cookies, GDPR/CCPA compliance, 2257 compliance.
- Support Tickets: Open a ticket with category (account, billing, data request, technical, safety, content, verification). Auto-responses by category. Track all your tickets.
INDULGON CONNECT (PARTNER SDK)
For platform owners: embed Indulgon Connect buttons on your site so your models can transfer data and share verification with one click. See Partners and SDK Documentation for full details.
Integration is 2 lines of code. Free tier available. Partner API supports verification checks, data push, and usage analytics.
Cross-Platform Handle Resolver
When you tag anyone on Indulgon - in a post, photo, filmography entry, or anywhere else - the platform automatically looks up their real social media handles across Twitter, Instagram, TikTok, OnlyFans, and more.
How It Works
The system uses a multi-signal lookup chain:
- Platform users: If the person has a Indulgon account with connected socials, those verified handles are used instantly.
- Previous lookups: If someone has been tagged before, cached handles are reused (refreshed every 7 days).
- IAFD database: For adult industry performers, the Internet Adult Film Database is searched for linked social profiles.
- Web search: A live search finds real Twitter/Instagram/TikTok accounts and verifies them by context (name proximity to handle).
Cross-Platform Tag Conversion
When you cross-post to Twitter, Instagram, or TikTok, display names are automatically converted to the correct platform handle. Example: "with Aidra Fox" becomes "@OfficialAidraF" on Twitter and "@Aidrafoxlive" on Instagram.
Manual Verification
If the auto-lookup finds the wrong handle, you can manually verify/correct it. Verified handles are locked in and won't be overwritten by future lookups.
Works For Everyone
All 20 roles get this system. Fans tagging performers, performers tagging each other, studios tagging talent - same lookup, same accuracy.
Scene Promo Composer
Promote scenes from your filmography with a single action. The Scene Promo Composer pulls together everything you need: cover box photo, behind-the-scenes photos, HD scene photos, affiliate/buy links, and co-star tags with cross-platform handles.
Creating a Scene Promo
- Go to Feed or Filmography and choose "Promote Scene"
- Select a scene from your filmography
- The cover photo loads automatically. Add BTS photos or search for HD scene photos.
- Tag co-stars - their handles auto-resolve for each platform
- Add an affiliate/buy link to the DVD purchase page (you earn referral fees for clicks)
- Preview platform-specific versions (Twitter with @handles, Instagram, etc.)
- Post to Indulgon and cross-post to connected platforms
Affiliate Tracking
Each scene promo tracks clicks on your affiliate/buy link and reports earnings in your analytics. Set affiliate URLs per-film or per-promo.
Photo Search and Import
Search the web for HD photos of yourself (or anyone) and import them directly to your profile, albums, or filmography entries.
Where to Use It
- Every page: Click the image search icon in the FAB bar (bottom of screen) or press Ctrl+Shift+I
- Profile page: Search for headshots and professional photos
- Filmography: Find scene photos and cover art
- Feed: Attach images to posts
- Products: Add product images from search
HD Detection
Photos 1920px or wider are automatically flagged as HD with a badge in search results.
Source Filters
Search across: Web images, Your Posts, Filmography (scene photos, covers), Albums, Previously Imported photos.
Social Post Queue
A smart posting queue that ensures you engage with tagged content before publishing your own original posts.
Queue Priority Order
- Retweets of tagged posts - oldest first, then newest (clear your backlog)
- Quote retweets - tagged posts where you add your own comment
- Original posts - your new content goes out AFTER all retweets
- Cross-posts - content from Indulgon cross-posted to other platforms (last)
How to Use
- Import tagged posts: Pull your Twitter/Instagram notifications of posts you were tagged in. They queue as retweets automatically.
- Preview: See exactly what will publish and in what order before anything goes out.
- Process: Publish one at a time or batch-process the entire queue.
- Reorder: Move any item to the top or bottom of the queue.
- Delay: Configurable delay between posts (default 60 seconds) to avoid rate limits.
Works For All Users
Fans, performers, studios - everyone gets the same queue system. When a fan tags you and cross-posts, your handle converts correctly on each platform.
Universal Media Search (FAB Bar)
The FAB bar at the bottom of every page now includes an image search button (6th button). Click it or press Ctrl+Shift+I to open the search panel from any page.
FAB Bar Buttons
- Voice Narration
- Safety / Panic
- Customize Colors
- Light/Dark Mode
- Search Images (Ctrl+Shift+I)
- Indulgon AI Chat
Hover Tooltips
Every FAB button shows its name and keyboard shortcut when you hover over it.
OAuth Sign-In Providers
Users can sign in with their Google or Twitter/X account instead of creating a separate password. OAuth sign-in buttons appear on the login and signup pages.
Available now: Google, Twitter/X, Email/Password
Coming soon: Apple Sign-In, Microsoft/Outlook (available after LLC reinstatement)
How It Works
- Click your preferred OAuth provider button (Google or Twitter/X) on the login page
- Select your Google account
- If your OAuth email matches an existing Indulgon account, you are logged into that account (no duplicate created)
- If no account exists, a new one is created with your Google profile info
Security
All OAuth providers use industry-standard OAuth 2.0. Indulgon never sees your OAuth provider password. You can disconnect any OAuth provider from Settings at any time.
Smart Calendar
Calendar with tentative holds, industry event detection, and event-to-post promotion.
Tentative Holds
When a booking request comes in, a TENTATIVE event is created on your phone calendar. Accept the booking and it becomes CONFIRMED. Decline and it is removed. No more double-booking.
Industry Event Detection
The platform knows 14 major industry events (Exxxotica, AVN, XBIZ, Fetish Con, Venus Berlin, and more). When one appears on your calendar, it auto-suggests timed promotional posts: announcement, countdown, live coverage, and recap.
Booth Numbers and Company Tags
When creating event promo posts, you can add your booth number and tag companies/sponsors. Tags auto-convert to the correct platform handles when cross-posting (e.g., @Exxxotica on Indulgon becomes @EXXXOTICA on Twitter).
Email Sync
Connect Gmail, Outlook, or any IMAP email. Emails are auto-categorized into 13 categories: business, personal, newsletter, payment, booking, promotion, social, platform, legal, shipping, subscription, verification, spam. Payment confirmation emails are matched to bank transactions for reconciliation.
Admin Tools
Admin-only tools for platform management: user impersonation (view the platform as any user), user search and management, platform-wide statistics, and anti-replication protection status dashboard.
Clean URLs
All pages are accessible via clean URLs: /login, /dashboard, /tax, /feed, etc. The old paths (/app/login.html) still work for backward compatibility.
Live Queue
Real-time request queue with status broadcasting and video call auto-connect.
How it works
- Performer sets status: Available, Filming, Editing, On Call, Break, Offline
- Customers see their position and estimated wait (including buffer time between requests)
- For Skype shows: Connect button appears when it's your turn
- Privacy controls: both performer and customer choose what's visible
Video Call Platforms
Skype, Zoom, Microsoft Teams, FaceTime, Google Meet, Discord, Telegram Video, Indulgon Cam Room
Buffer Time
Set minutes between requests (fixed or per-type). Factored into wait time estimates.
API: /api/live-queue
Content Gallery
Organize photo shoots and custom videos, select files, deliver to customers, and maintain a timeline.
Workflow
- Create a shoot (photo set, custom video, behind the scenes)
- Upload all photos/videos from the session
- Select the best ones
- Click "Send Selected" to deliver to the customer
- Extras remain available for upsell
Timeline
All media appears on a chronological timeline (like Apple Photos). See what you did on any day.
API: /api/content-gallery
Email Intelligence
Auto-scans connected email for flights, invoices, platform notifications, and shipping updates.
Cross-Connections
- Flight emails -> Bookings + Calendar + Transactions + Tax
- Invoice emails -> Transactions + Tax + Financial Hub
- Platform emails (OnlyFans, etc.) -> Earnings + Subscribers
- Shipping emails -> Wishlist items + Order tracking
API: /api/email-intel
Unfulfilled Request Detector
Scans imported messages and tips to find customers who paid but never received their content.
Detection
- Incremental tip payments from the same person
- Follow-up messages ("where is my video?")
- Large tips with no delivery confirmation
Works across OnlyFans, SextPanther, email, and all imported platforms.
API: /api/unfulfilled
Multi-Account Connections
Connect multiple accounts per platform and choose which to use for each action.
How it works
- First account connected becomes the default
- Switch default with one click
- Each account tracks credentials, follower count, and capabilities
- When posting or importing, choose which account to use
API: /api/accounts
Quote Automation System
Replaces all 6 Make.com scenarios. Handles the entire customer request lifecycle — from receiving a request through payment, production, and delivery — all natively on the platform.
Full Request Lifecycle
Every customer request goes through these stages, with automatic email notifications at each step (if the customer opts in):
- Request Received — Customer submits a request. Confirmation email sent with request ID.
- Quote Approved — Performer reviews, sets a price, approves. Customer receives email with a Stripe payment link (14-day expiration).
- Payment Received — Full or partial payment confirmation. Full payment auto-moves request to the production queue. Partial payment shows remaining balance.
- Work Started — Performer begins working on the request. Customer notified that production has started.
- Request Completed — Content is ready. Customer receives download link via email.
- Content Delivered — Final delivery confirmed (digital download or physical shipment with tracking).
Payment Link Expiration
Payment links expire after 14 days. The system automatically checks every Monday morning:
- 1st expiration: New link generated, reminder email sent
- 2nd expiration: New link generated, "last chance" email sent
- 3rd expiration: Quote permanently expired, final notice email sent
Quote Decline + Alternatives
When a quote is declined, the system automatically suggests alternative services. Suggestions are rotated fairly — the least-suggested alternatives appear first, so every option gets equal visibility.
Notion Database Connections
The same Notion databases previously watched by Make.com are now connected directly to the platform:
- Master Requests Queue maps to
custom_requeststable - Custom Quote Requests maps to
custom_requeststable - Alternative Suggestions maps to
alternative_suggestionstable - Transaction/Payment Log maps to
payment_link_eventstable
Data syncs bidirectionally — updates on the platform appear in Notion and vice versa.
Stripe Webhook
The platform receives real-time payment notifications from Stripe via webhook at /api/quotes/webhook. Handles: successful payments, failed payments, and checkout completions. Webhook signature verification is enabled for security.
Email Templates (12 Total)
- Request Received — confirmation with request ID
- Quote Approved — price details + payment button
- Full Payment Received — queue position + estimated delivery
- Partial Payment Received — amount remaining + pay button
- Payment Failed — retry button
- Work Started — production status update
- Content Ready — download link
- Content Delivered — digital download or shipping tracking
- Link Expired - 1st Reminder — new payment link
- Link Expired - Last Chance — final new payment link
- Quote Final Expiration — quote permanently expired
- Decline with Alternatives — suggested alternative services
Smart Request Detection
When a customer fills out a Quote Request form and types something that matches your existing menu options, the system detects it and offers to switch them to a Custom Request instead.
How It Works
- Customer starts a Quote Request — They're typing a free-form description of what they want.
- System detects a match — As they type, the system checks their text against your styles (JOI, POV, CEI...), roles, outfits, and service types.
- Popup appears — Shows what was matched and offers to switch to a Custom Request with set pricing.
- Customer decides — They can switch (instant checkout) or dismiss and continue with the quote request.
If the customer switches, their description text is automatically copied to the Special Instructions field, and any matched options (style, role, outfit) are pre-selected in the Custom Request form.
Two Request Types
- Custom Request — Standard order from your pre-set menu. Price is known upfront. Customer selects from dropdowns and checks out immediately.
- Quote Request — Free-form "I want something specific." You review, set a price, they accept or decline, then pay.
Special Instructions Box
The Custom Request form includes an always-visible "Special Instructions" text area where customers can describe anything that isn't covered by the dropdown selections. This means even standard orders can have custom details.
Customer Order Page
Customers access the order form at /order?performer=[id]. This page shows both Custom Request and Quote Request options with a toggle at the top.
Request Inbox
The Request Inbox is the performer's dedicated workspace for managing all incoming Custom Requests and Quote Requests. Access it from the COMMERCE section of the nav dropdown or at /request-inbox.
What It Is
A filtered, searchable inbox that shows every request submitted through the Order Form. Each request displays a sentence-format summary of exactly what the customer wants, making it easy to scan and batch similar work.
Why It Matters
The inbox lets you filter by outfit, style, category, or any detail so you can batch all "red panties" requests, film them all at once, then move to the next batch. This saves time on outfit changes, prop setup, and context-switching.
How It Works
- Sidebar Filters: Status, request type, style, outfit (text search), category (15 service categories), duration, price range
- Free Text Search: Search across customer names, email, instructions, outfit details, quote IDs
- 8 Sort Options: Newest, oldest, price high/low, status, type, queue position, duration
- Saved Filters: Save presets like "Red Panties", "JOI 10min", "Foot Fetish Requests"
- Color-Coded Tags: Style (purple), outfit (pink), category (green), add-on (yellow)
Sentence-Format Notifications
When a customer submits a request, the notification reads: "James Smith requested a Custom Video for 10 minutes (JOI, POV) in Schoolgirl as Teacher for $300.00 [Categories: JOI, Foot Fetish]"
API: GET /api/service-menu/requests/inbox, PUT /api/service-menu/requests/saved-filter, GET /api/service-menu/requests/saved-filters
Order Form
The customer-facing page at /order?performer=[id] for placing Custom Requests and Quote Requests.
Custom Request vs Quote Request
Both offer the same 3 service types (Custom Video, Photo Set, Skype Show), 15 categories, styles, roles, outfits, and 10 add-ons. The difference: Custom Request = set pricing (instant checkout). Quote Request = personalized estimate (no payment until accepted).
15 Service Categories
Foot Fetish, Pantyhose/Nylon, Leg Fetish, Hand Fetish, JOI, Ignore Fetish, ASMR/Sensory, Food Fetishes, Watersports, Balloon Popping, Smoking Fetish, Wet and Messy, Crush Fetish, Femdom/Domination, Other/Custom.
10 Add-Ons
Anal, B/G, G/G, Toys, Oil/Lotion, Dirty Talk, Name Use, Extended Length, Rush Delivery, HD Upgrade.
Request Form Editor
Every performer can fully customize their request form at /request-form-editor. The default form comes pre-loaded with options from the platform's Notion databases, but performers can change everything.
What Can Be Customized
- Form Fields (Tab 1): Toggle which fields appear on the order form. Disable fields you do not use (e.g., hide Accessories or Locations). Required fields (Request Type, Duration, Special Instructions) cannot be disabled.
- Options and Selections (Tab 2): Add, remove, or rename any option in any dropdown or chip group. Styles, outfits, roles, moods, categories, add-ons, tools and toys, colors, accessories, locations, product items are all editable lists.
- Labels and Wording (Tab 3): Change the label, help text, and placeholder text for every field. Example: rename "Outfit" to "What should I wear?" with help text "Pick from my wardrobe or describe what you want."
- Policies and Pricing (Tab 4): Edit allowed/prohibited content lists, sales policy, refund policy, fulfillment time. Set custom video prices, photo set prices, and Skype show discount percentage.
- Email Templates (Tab 5): Customize the subject and body of all 6 lifecycle emails (Request Received, Quote Approved, Payment Received, Work Started, Content Completed, Content Delivered). Use placeholders: {customer_name}, {performer_name}, {order_summary}, {price}, {queue_position}, {payment_link}.
How Changes Propagate
When a performer saves changes, the customization applies everywhere:
- The customer-facing order form at
/order?performer=[id]shows their custom labels, options, and hidden fields - Email notifications use their custom templates
- The Request Inbox reflects their custom categories and option names
- The notification sentence summary uses the option names they configured
Reset to Defaults
A "Reset to Defaults" button restores all settings to the platform defaults (the Notion-sourced option lists). This cannot be undone.
Page: /request-form-editor | API: PUT /api/service-menu/settings, POST /api/service-menu/settings/reset
Universal Undo System
An Apple Markup-style undo system is available on all editor pages (Form Editor, Settings, and more).
How It Works
- Undo (Ctrl+Z / Cmd+Z): Undo the last single change. Each click undoes one action (add an option, remove an option, rename, toggle a field, etc.)
- Redo (Ctrl+Y / Cmd+Shift+Z): Redo the last undone change
- Revert All: Go back to the exact state when you opened the page. Undoes every change at once
- Change Counter: Shows how many changes have been made since opening the page
The undo bar appears in the bottom-right corner whenever changes are tracked. It disappears when there is nothing to undo.
Keyboard Shortcuts
Ctrl+Z/Cmd+Z— UndoCtrl+Y/Cmd+Shift+Z— Redo
Multi-Format and Multi-Outfit Orders
Customers can now select multiple request types (Custom Video + Photo Set + Skype Show) in a single order, and multiple outfits.
Multi-Format
When a customer selects more than one type (e.g., Custom Video AND Photo Set), they set duration/quantity for each type separately. The order is submitted as a multi-format request. The notification summary lists all selected formats.
Multi-Outfit
When more than one outfit is selected, an ordering hint appears asking the customer to specify which outfit to wear first. The Special Instructions placeholder updates to remind them. The Request Inbox shows all selected outfits as tags.
Notion Sync
When a performer adds, removes, or renames options in the Form Editor, those changes sync to the connected Notion databases (Customer Orders Current, Customer Orders Completed, Custom Quote Requests Special). New options are added automatically. Renamed options: the new name is added, but old entries in Notion keep the old name (Notion does not support renaming via API — use the Notion UI for that).
Notion-Enriched Dropdown Options
All dropdown options on the order form come directly from your Notion databases. The platform has 807 pre-populated selectable options across all fields. Customers never need to type anything except Special Instructions.
Option Sources (from Notion)
- Styles: 61 options (JOI, POV, Roleplay, CEI, Cuckhold, SPH, Findom, Mesmerize, GFE, etc.)
- Service Categories: 97 options (Foot Fetish, Anal Play, Masturbation, Bondage, ASMR, etc.)
- Outfits: 116 options (Lingerie, Schoolgirl, Nurse, Latex, Business Attire, etc.)
- Colors: 79 options (every color + patterns like Leopard, Lace, Satin, etc.)
- Creator/Customer Roles: 73 each (Step-Son, Teacher, Doctor, Boss, etc.)
- Accessories: 48 options (Choker, Ponytail, Red Lipstick, etc.)
- Tools and Toys: 44 options (Vibrator, Hitachi, Dildo, Handcuffs, etc.)
- Materials: 44 options (Leather, Latex, Silk, Lace, Cotton, etc.)
- Locations: 30 options (Bed, Shower, Kitchen, Car, etc.)
- Supplies: 30 options (Pies, Balloons, Whipped Cream, Oil, etc.)
- Moods: 26 options (Sexy, Innocent, Dominant, Submissive, etc.)
Custom Options
On Quote Request forms, customers can add custom options using the "+" button next to any chip group. Custom entries are stored in the order and synced to Notion automatically.
Dick Rating Service
Dick Rating is a service type alongside Custom Video, Photo Set, and Skype Show. When a customer selects it:
- The form simplifies — no outfit, duration, or location needed
- Customer selects a Rating Style: Honest, Generous, SPH, or Worship
- Customer attaches photos in the attachment area
- Optional special instructions
Pricing is set in your Service Menu settings under Dick Rating rates.
Order Attachments and Reference Links
Both Custom Request and Quote Request forms now include:
- File attachments: Drag-and-drop or click to upload. Max 10 files, 10MB each. Accepted: images (jpg, png, gif, webp) and videos (mp4, webm)
- Reference links: Paste URLs to example content
For Dick Ratings, customers attach their photos here. For any other request, reference photos help understand exactly what the customer wants.
Supplies for Quote Requests
Quote Requests include a Supplies section where customers select props/materials needed (Pies, Balloons, Whipped Cream, Oil, etc.). Supply costs are added to the quote separately from the service price.
In the quote email, supplies appear as a line item:
Service: Custom Video (20 min) - $300 Supplies: Pies, Tarp/Sheet, Whipped Cream - TBD by performer Total: $300 + supplies
The performer sets the supply cost when reviewing the quote.
Account Snapshots and Recovery
What: Automatic daily backups of your entire account (profile, posts, orders, messages, settings). One-click restore if anything is accidentally deleted.
Why: Peace of mind. Your data is always recoverable. Also powers analytics (sales intelligence, engagement tracking, trend analysis) and legal compliance.
How:
- Automatic: Daily snapshots run at 3 AM. No action needed.
- Manual: Go to Analytics > Account Recovery > Create Snapshot Now
- Restore: Click Restore on any snapshot to bring back your data to that point
- Admin recovery: If a user accidentally deletes their account, admin can recover with one click from Analytics > Account Recovery > Admin: Deleted Accounts
Retention: Regular snapshots kept 90 days. Deletion snapshots kept permanently. Transaction records 7 years. Activity logs 1 year.
Privacy promise: Data is NEVER sold. Used only for analytics, recovery, and legal compliance. Full policy at Analytics > Data Retention.
Sales Intelligence and Analytics
What: See what is selling the most, what is failing, engagement trends, best days/hours for sales, repeat customer rates, and top fans by spend.
Where: Analytics page has 7 tabs: Overview, Sales Intelligence, Engagement, Trends, Account Recovery, Data Retention, How It Works.
Sales Intelligence: Top selling products and services by revenue, custom request breakdown (completed vs failed), revenue over time chart. Filter by 7d/30d/90d/1y/all time.
Engagement: Top performing posts by engagement rate, failure analysis (why orders/bookings were cancelled), top fans by total spend.
Trends: Best days of the week for revenue, best hours, category performance, repeat customer rate percentage.
Data Retention Policy
What: Transparent policy on what data we keep, why, for how long, and your rights.
Three purposes only: (1) Analytics/insights, (2) Account recovery, (3) Legal compliance with law enforcement.
Law enforcement compliance: Records may be used as evidence in legal proceedings. Illegal activity is logged and can be provided to law enforcement via valid court orders/subpoenas. Users are notified unless legally prohibited.
Your rights: Request data copy (GDPR/CCPA), request deletion, restore from snapshot, view change trail, download CSV/JSON. Contact: [email protected]
Where: Analytics > Data Retention tab. Also in TOS Section 6, Legal page, and Settings > Privacy.
Smart Wishlists
Universal wishlist management across Amazon, Throne, and other platforms. Organize items into nested folders, track purchases, detect duplicates, get smart suggestions, and view analytics on your spending patterns.
Features
- 13 Tabs: Browse All, My Wishlists, Folders, Favorites, Purchased, Cart, Saved for Later, Duplicates, Analytics, Import, Gift Cards, Archive, All Favorites
- Nested Folders: Organize wishlists by category (Beauty, Home, Events > AVN 2026 > etc). Auto-organize by product category
- Single-Copy Items: One item can appear in multiple wishlists without duplication. Linked by ID
- True Duplicate Detection: Finds items with same ASIN + color + size across wishlists. Merge with one click
- Variant Summaries: See all colors/sizes of the same product grouped together
- Item Lifecycle: Track items from cart > saved > wishlist > purchased with full movement history
- Already-In-Wishlist Check: Popup when an item you are adding already exists somewhere
- Smart Suggestions: Auto-detect items sitting too long in cart/saved. Calendar-based suggestions for upcoming events. Buy-again reminders for consumables
- Archive System: Remove items without losing them. Restore anytime from Archive tab
- Purchase Tracking: Mark who purchased (self vs fan/gift), track spending vs savings
- Product Images: Seller-uploaded listing photos only (not review photos). Change preview by reordering images
- Reviews: Amazon customer reviews cached and displayed in item detail view
- Analytics: By category, by wishlist, by brand, price distribution, color/size preferences, style recommendations
- Gift Card Tracking: Manual entry or auto-detect from email (scans for Amazon gift card codes)
- Calendar Integration: Suggests items from wishlists based on upcoming events
- View Modes: Grid, List, or Compact view. Group by category, wishlist, brand, location, or color
- Universal Favorites: One page for ALL favorited/saved content across the entire platform
- Import: Amazon browser import (CDP), CSV upload, URL paste
For Customers
Customers can add their own Amazon wishlists and favorite performer products/services. When a customer favorites a product or service from a performer's store, it appears in their All Favorites page. Services they want to buy later are saved so they never lose track.
Cross-Page Connections
- Products page: Performer products appear as wishlist items for customers
- Services page: Save services to favorites when credits are low
- Feed: Saved/favorited posts show in All Favorites
- Content Gallery: Favorited photos/videos show in All Favorites
- Bookmarks: External bookmarks sync to favorites
- Store: Product wishlists visible on performer public profiles
- Calendar: Upcoming events trigger wishlist item suggestions
- Email: Gift card auto-detection from Amazon emails
Amazon Import Tools
Two ways to import your Amazon wishlists, cart, and saved items with full product data (images, categories, colors, sizes, prices, descriptions).
Option 1: Bookmarklet (All Browsers)
Works on Chrome, Firefox, Safari, Edge, Brave, and mobile browsers. No install required.
- Go to Wishlists > Import tab on your dashboard
- Drag the "Import to Indulgon" button to your browser's bookmarks bar
- Go to Amazon and open any page: a wishlist, your cart, saved for later, or a single product
- Click "Import to Indulgon" in your bookmarks bar
- A panel appears on the right showing all found items
- Click "Send to Indulgon" to import them
- Items appear on your Wishlists page with full product data, images, categories, and more
Safari on iPhone/iPad: Copy the bookmarklet URL, create a new bookmark, edit it, and replace the URL with the copied code. Then visit Amazon, tap the bookmark from your bookmarks bar.
What gets imported: Product title, ASIN, price, list price (sale detection), brand, 3-level categories (e.g. Beauty > Skin Care > Body), all product listing photos, color, size, rating, review count, description bullets, and availability status.
Option 2: Browser Extension (Chrome/Edge/Brave)
Power user tool with auto-sync, Import All Wishlists, and price drop alerts. Not available for Safari (use bookmarklet instead).
- Go to Wishlists > Import tab and click "Download Extension"
- Unzip the downloaded file
- Open chrome://extensions in your browser
- Enable "Developer mode" (toggle in top-right)
- Click "Load unpacked" and select the unzipped folder
- The Indulgon icon appears in your toolbar
- Click it, enter your Indulgon URL and User ID, click Connect
Extension features:
- Import This Page — scrape current Amazon page and send to Indulgon
- Import All Wishlists — automatically navigates to every wishlist, scrapes all items, imports everything in one shot
- Sync Now — check for new items and price changes
- Auto-Sync — when you visit an Amazon product you already track, shows "In your Indulgon" badge
- Price Drop Alerts — notifies you when a tracked item drops 10%+ in price
Which Should I Use?
| Feature | Bookmarklet | Extension |
|---|---|---|
| Works on Safari | Yes | No |
| Works on Chrome/Edge/Brave | Yes | Yes |
| Works on iPhone/iPad | Yes (manual setup) | No |
| No install required | Yes | No |
| Import All Wishlists at once | No (one at a time) | Yes |
| Auto-sync | No | Yes |
| Price drop alerts | No | Yes |
| Full product data extraction | Yes | Yes |
Recommendation: Start with the bookmarklet — it works everywhere and takes 10 seconds to set up. If you use Chrome and want auto-sync + Import All, add the extension too. Both can be used together.
Notion Wishlist Sync
Your wishlists and folders sync bidirectionally with Notion. Changes on the platform push to Notion, and changes in Notion pull back to the platform.
What Syncs
- Move items between wishlists or folders — updates Location property in Notion
- Mark purchased — sets Status to Purchased in Notion
- Toggle favorites — updates Favorited checkbox in Notion
- Archive items — sets Status to Archived in Notion
- Rename wishlists/folders — updates the Notion database title
- New items from import — creates Notion pages on sync
Synced Properties
Each item in Notion gets: Name, Price, List Price, ASIN, URL, Brand, Category, Subcategory, Color, Size, Rating, Location, Status, Favorited, Image, Added date, Source, Notes.
How to Use
- Automatic sync: When you move, favorite, purchase, or archive an item on the platform, it auto-updates in Notion (if linked)
- Manual push: Click Push to Notion in the bottom sync bar to send all items to Notion
- Manual pull: Click Pull from Notion to import changes made directly in Notion back to the platform
- Full sync: Click Full Sync to do both — push then pull
- Create Notion database: If a wishlist/folder is not yet linked, click Push and it will offer to create a new Notion database for it
- Link existing: Use the API to link a wishlist to an existing Notion database by its ID
Folder Sync
Folders can also be linked to Notion databases. All items across all wishlists in that folder sync to one Notion database. Create nested folder structures on the platform and they map to separate Notion databases.
Smart Item Detection
When the browser extension is installed, it automatically detects when you interact with items on Amazon and syncs them to your Indulgon account in real-time.
What Gets Detected
- Add to Cart — item appears in your Indulgon cart with full product data
- Add to Wishlist — item added to the matching wishlist on Indulgon (matched by name)
- Save for Later — item moves to your Saved for Later on Indulgon
- Buy Now — item marked as purchased on Indulgon immediately
How It Works
- Install the browser extension (Chrome/Edge/Brave)
- Smart Detect is ON by default — no setup needed
- Browse Amazon normally — when you click Add to Cart, Add to List, Save for Later, or Buy Now, the extension detects it
- A small notification appears confirming the item was added to Indulgon
- Full product data is captured: title, images, categories, price, brand, color, size, description
Settings
Toggle Smart Detect on/off in the extension popup. When off, no automatic detection occurs — you can still use Import This Page or the bookmarklet manually.
Safari / Bookmarklet Users
Smart Detect requires the browser extension. Safari users (and anyone using the bookmarklet) import items manually by clicking the bookmarklet after visiting an Amazon page. The bookmarklet captures the same full product data — it just requires a manual click.
AI Guide
Learn how to use the AI Assistant and all AI-powered features on the platform.
How it works: Visit the AI Guide page from your dashboard. Covers: AI Assistant chat, smart request detection, auto-categorization, content suggestions, quote automation, and more. The AI is free for all users -- included in the platform fee.
Discovery Quiz
Dating-app style quiz that matches fans with creators based on preferences.
How it works: Fans take a short quiz about their interests, preferred content types, styles, and personality. The matching engine scores creators across 9 dimensions and shows best matches. Creators set their quiz attributes in Settings > Discovery.
Feature Origins Registry
Transparent list of where every feature was inspired from or originally designed.
How it works: Available in Admin view under Feature Origins. Shows: feature name, origin (Original, Inspired, or Hybrid), source platform if inspired, and when it was added. 110+ features catalogued.
Template System
What Templates Do
Templates change the entire look of your profile and pages: colors, fonts, card styles, button shapes, and layout. Every page updates instantly when you switch templates. 12 professional templates available (Dark Default, Light Clean, Midnight Blue, Rosé Gold, Ocean Depths, Sunset Glow, Forest Green, Cyberpunk Neon, Minimal Gray, Lavender Dream, High Contrast, Pastel Light). All templates support both light and dark mode.
Three Template Modes
Choose how templates apply across your account:
- Same Everywhere: Apply one template to every page (Dashboard, Profile, Settings, Store, Earnings, Feed, Messages, Bookings, Gallery, Videos, Marketplace, Admin Panel)
- Unique Per Page: Assign a different template to each individual page. Every page remembers its own template selection
- Template Groups: Create groups of pages that share the same template. Example: Cyberpunk Neon for Dashboard + Earnings + Analytics, Minimal Gray for Profile + Settings + Messages, Rosé Gold for Store + Marketplace + Bookings. Add unlimited groups and assign pages via checkboxes
Template Groups Manager
Access the Templates Manager at /app/templates-manager.html to switch modes, create template groups, rename groups, and assign pages. Template choices persist across sessions. Changes apply instantly across all pages.
Per-Template Customization
Your customizations (visible pages, widget layout, CSS overrides) are saved independently for each template. Switch between templates freely — each one remembers your settings. Reset to defaults anytime, then undo to restore your customizations.
Universal Widget System
All bots and plugins from the Bots page can now be added as widgets to any customizable page. Visit /app/bots.html, find any bot or plugin, and click "Add to Page." Select destination page: Dashboard, Profile Editor, Settings, Store, Earnings, Feed, Messages, Bookings, Gallery, Videos, Marketplace, or Admin Panel. Widgets automatically categorize into sections (earnings, content, automation, analytics, social, marketing, management). Drag and drop to reposition widgets. Widget placements persist per page independently.
Widget Categories
Widgets auto-categorize based on their function: Earnings (financial tracking, analytics), Content (media management, galleries), Automation (bots, workflows, scheduling), Analytics (stats, reports, insights), Social (communication, messaging, engagement), Marketing (promotion, SEO, campaigns), Management (admin tools, settings, organization). Categories help you organize widgets logically across pages.
Upload Templates
Create your own templates from your customizations or upload CSS. Share publicly for free or sell in the Marketplace. Original templates can be priced. Inspired templates must include the legal disclaimer.
Unified Marketplace
Overview
The Marketplace combines Store, Templates, and Widgets into one page with tabs. Store tab has sub-tabs for Services, Digital, Products, and Experiences with a cross-tab cart. Templates tab lets you browse, preview (light+dark), apply, and manage templates. Widgets tab shows all available dashboard components.
Navigation
Access via the Marketplace link in the COMMERCE nav section. Clean URLs /store, /templates, and /marketplace all lead here. The old separate Store and Templates pages now redirect to the unified Marketplace.
Life Tracker (Expanded)
17 Categories
The Life page now tracks 17 categories: Meals, Fitness, Media/Books, Places, Health, Passwords, Websites, Receipts, Journal (General/Gratitude/Dream), Goals (Goal/Vision Board/Bucket List), Period/PMS, Sleep, Water/Hydration, Skincare, Outfits, Vision Board, and Bucket List.
Notion Sync
All 10 new life tracking categories sync bidirectionally with Notion databases. Push platform data to Notion or pull Notion data to the platform. Sync status visible at /api/life-sync/status.
New Features — Fine-Tuning Phase (May 2026)
Scene Work Hub (M4)
The Filmography page now includes a scene type switcher with four categories: All Scenes, Mainstream (company-paid), Self-Produced (your own content), and Fan-Funded (crowdfunded scenes). Each tab filters your filmography to show only matching scenes. All connect to earnings and dashboard analytics.
Safety Check-In Timer (P1)
Companion Services now includes an automatic safety check-in timer. When an appointment ends without a check-in, the system prompts: "Forgot to check in, or still going?" Choosing to extend triggers overtime rates automatically.
File Dedup Tool (A31)
Scan your cloud files for duplicates. The system identifies files with matching content (by hash) or matching name+size combinations. Merge duplicates with one click — the system keeps your chosen copy and archives the rest, showing exactly how much storage space you recover.
Gift Credits (A32)
Send credits to other users as gifts. Include a personal message with each gift. Both sender and recipient see the full gift history with messages and amounts.
Testing/PASS Integration (A33+A46+A47)
Track your testing records directly on the platform. Upload results from PASS, TalentTesting, or any provider. The system tracks 14-day validity windows and sends automatic reminders 2 days before expiration. Your testing status is visible on your profile (if you choose to show it).
Call Sheet Generator (A36)
Auto-generate standardized call sheets from booking confirmations. Includes: call time, makeup time, shoot time, location, talent list, rates, wardrobe notes, and special requests. Edit and share with all parties.
Dance Rate Calculator (A37)
Calculate suggested rates for feature dance appearances. Factors in: venue type (strip club, gentlemen's club, private event, convention), duration, day of week (weekend premium), holidays, travel requirements, and location premiums for top cities.
Smart Wardrobe Pricing (A38)
Items in your closet automatically get pricing suggestions based on scene provenance. Each scene an item appeared in adds a 15% collector value premium to the base price. The more scenes, the higher the suggested resale price.
Calendar Visibility Tiers (A48)
Three-tier calendar visibility: Full (booked party sees everything — date, time, location, rate, details), Summary (industry contacts see date and "Booked" label only), Public (fans see date and "Event" label only). Each tier is fully customizable in settings.
Booking Dual-Consent (A44+A45)
Both parties in a booking independently control what details are shared. The performer and customer each set their own visibility preferences. A complete audit trail tracks every change to booking details — who changed what, when.
Auto-Invoice on Booking (A52)
When a booking is confirmed, an invoice is automatically generated with a unique invoice number. Includes all booking details: client, company, date, rate, scene type, talent. Track payment status (pending/paid) with timestamp.
Locked Albums (A49)
Lock important files and albums to prevent accidental deletion. Locked items can be archived but never permanently deleted. Unlock anytime to restore normal deletion capability.
Seasonal Discount Automation (A34)
Set up automatic seasonal discounts that activate on specified dates. Define discount percentage, start/end dates, and which products/services it applies to. Discounts auto-enable and auto-disable on schedule.
Voice-to-Text (Q7)
Use your voice to type in any text field across the platform. Built on the browser's native Speech Recognition API — no server-side processing, instant results. Click the microphone icon or use the voice input function from any text area.
External Account Embeds (Q8)
Embed content from external platforms directly on your profile and pages. Supports iframe embeds for: Twitter, Instagram, TikTok, YouTube, Spotify, SoundCloud, Twitch. Platforms without embed APIs (OnlyFans, Fansly, ManyVids) use managed links instead.
Package Tracking (M8)
Track packages from USPS, UPS, FedEx, and other carriers. Add tracking numbers with carrier and description. Monitor delivery status and expected dates from your dashboard.
Message Renewals Tab (M5)
Messages now includes a Renewals tab showing upcoming subscription renewals, expiring subscriptions, and renewal-related messages. Stay on top of your subscriber relationships.
Password Security Scanner (A55)
Scan your saved passwords for duplicates and weak entries. The scanner identifies passwords reused across multiple sites and passwords under 8 characters. Provides actionable security recommendations.
Auto-Curate Mass Post (A50+A51)
Automatically select photos and videos from your library for a mass post. Filter by date range and category. Exclude previously posted content. The system suggests gallery or carousel layout based on selection count.
May 24, 2026 — New Features & Updates
Account Recovery (New)
Your account is automatically backed up every time you save changes and once daily. To restore a previous version:
- Go to Settings → Privacy & Security → Account Recovery
- Click Load My Backups to see your last 10 recovery points
- Each backup shows: date/time, type (Daily Backup, Before Change), and record count
- Click Restore on any backup — your current state is saved first, then restored
- Page refreshes automatically with the restored data
Note: Restores your profile info, bio, avatar, settings, and social links. Does not affect posts, messages, or earnings.
Your Profile Links (New)
Every account has two permanent links:
- Username Link (e.g.
/u/jillianjanson) — human-readable, changes if you change your username - Permanent Link (e.g.
/p/17beed97-...) — never changes, safe to put on business cards, bio links, anywhere permanent
Find both links in Settings → Your Profile Links and on your Profile page via the Share Profile button.
Model Releases & Costar System (New)
Required by 18 U.S.C. § 2257 for any performer who creates adult content with costars.
- Go to Legal → Model Releases → + Add Costar
- Search by name — if they're on Indulgon, their info auto-fills
- Fill in: legal name, DOB, content type covered
- Submit — they receive an email notification and in-app alert
- They review and sign from their Legal → Costar Links tab
- Once BOTH parties sign, the release is fully executed — you can both tag each other in content
Key rule: One bilateral release per performer pair covers all future content. No new paperwork for each shoot.
For customers: No model release needed for purchases. Only required when two content creators tag each other in content.
Age Verification (Updated)
All users must verify age to access content.
- New users: Date of birth field + ID upload on the signup page. Verified once at account creation.
- Existing users: A one-time verification popup appears. Enter your DOB and upload a government-issued ID. Cannot dismiss until completed.
- Verification is stored permanently — never asked again once completed
- Content is blurred until verified
Earnings Summary (Updated)
Dashboard and Earnings page now show a SextPanther-style earnings summary with period comparisons:
- Pay Period card — current period earnings vs last period, next payout date, days remaining
- Today vs Yesterday — with percentage change
- Last 7 Days vs Previous 7 Days
- Last 30 Days vs Previous 30 Days
- Year to Date vs Previous Year to Date
- Payout schedule: biweekly (15th and last day of month)
- Rollover: if balance is below minimum payout, it rolls over to next period automatically
Error Status (New)
Platform now monitors itself in real time. If something breaks, it's reported automatically — no user needs to tell you.
- Dashboard — Error Status box (admin only) shows today's count, auto-fixed, needs attention
- Command Center → User Errors tab — full list with open/auto-fixed groups
- Updates → Live Errors tab — cross-referenced with changelog to show what's been fixed
- Notion — daily summary pushed to your "Indulgon Error Tracking" database, updates in real time
2026-05-24 — Updated: Tour Page, Tutorial
The following areas were updated. See the full changelog for details: All targets updated: tour.html (5 new sections: profile links, legal/model releases, account recovery, comms hub, transparency), tutorial.html (4 new steps: age verify, profile links, account recovery, model releases), PLATFORM-OPERATIONS-MANUAL.md (full May 24 documentation), FINE-TUNING-PLAN.md (status updates for all built features)
2026-05-25 — Updated: Age Verification, Sign Up / Login, Messages
The following areas were updated. See the full changelog for details: Fix age verification: pass user_id in API call, pre-set age_verified in localStorage on login/oauth, page exclusion list (login/signup/tour), quick-login bypass for Jillian. Fix messages: participant_2 null bug fixed (_recipientId), Genspark->Jillian conversation repaired. profile-discovery returns bio/tagline/signup_method.
Scene Work Lifecycle
From the moment a booking is created to ongoing fan activity on a released scene — every step is tracked automatically.
Phase 1: Booking Created
- Producer creates booking → routes to Agent (if you have agent routing on in Settings) or directly to you
- You see it in Inbox → Requests tab
- Accept → moves to Bookings → call sheet auto-generated
- Call sheet has: call time, location, costars, director, studio, wardrobe notes, special instructions
Phase 2: Day of Shoot
- Check in using Safety → Check-in (linked to the booking for records)
- View call sheet from Bookings → your confirmed booking
- Costars: if they're on Indulgon, they can see the booking details too (if you choose to share)
Phase 3: Confirm Payment
- After the shoot and you've been paid: Bookings → find booking → click "I Have Been Paid "
- Platform automatically creates: scene record, earnings entry, costar tags
- Costars on platform: tagged and notified
- Costars not on platform: invite link generated for you to send them
- Earnings appear in: Financial Hub → Scene Work, Earnings page → your career history
Scene Categories — What Goes Where
| Category | Who Books/Funds It | Who Owns Content | Example |
|---|---|---|---|
| Mainstream | Studio / Production company | Studio | Evil Angel books you for a scene |
| Self-Produced | You | You | You shoot your own OnlyFans content |
| Funded | Fan, another creator, or brand | Funder / Varies | Fan commissions a custom scene; another creator pays you to appear on their OF; brand deal |
Phase 4: After Release
- Scene corrections: Filmography → scene card → "Correct Info" — fix title, studio, description, any wrong data. Change trail logs every edit.
- Tube site flagging: Filmography → scene card → "Flag Tube Site" — report unauthorized uploads or wrong information. Admin is notified immediately.
- Fan comments: Filmography → scene card → "Comments" — see what fans are saying. Every comment sends you a notification.
- Press releases: When your publicist publishes a press release about a scene, you're notified automatically.
- Interviews: Interview requests can be linked to specific scenes so all performers tagged are notified.
Messaging — Pay Per Message System
How Pricing Works
Every message from a fan costs credits. You set your own rates. The fan sees the cost before sending.
| Message Type | Default Rate | Who Pays |
|---|---|---|
| Text | $2.00 | Fan |
| Photo | $5.00 | Fan |
| Video | $10.00 | Fan |
| PPV (locked) | You set per message | Fan (to unlock) |
| Performer ↔ Performer | Free | Neither |
| Agent / Industry | Free | Neither |
Change your rates: Settings → Messaging Rates → save. Rates update immediately for all future messages.
Online & Industry Status
Online Mode (how you appear right now)
The status picker is in the nav bar on every page. Click it to change your mode instantly.
- Online — green dot visible, you show up in "Online" searches and message filters. Auto-set when you log in.
- Incognito — on the platform but completely invisible. No dot. Not in any search results. You see everyone; nobody sees you.
- Appear Offline — always shows as offline, even if you're actively browsing. Use when you don't want any interruptions.
Your mode persists — if you set Incognito, it stays Incognito on every page and every session until you change it.
Industry Status (career availability)
Set in Settings → Privacy → Industry Status, or click the status picker in the nav.
- Active — shooting content, available for bookings and custom requests
- On Hiatus — still in the industry, not currently shooting new content. May still respond to select inquiries.
- Inactive — short break (days). Will be back soon. Low-priority status.
- Retired — left the industry. Existing content remains. Booking requests disabled.
Mobile Behavior
When you switch to another app on your phone, the platform detects it and sets you offline automatically using the browser's visibility API and sendBeacon technology. Switch back → online again. This works in Safari, Chrome, and all major mobile browsers.
Social Platform Connections
Connect your other platforms to import content and mirror your presence.
Imported content keeps its original posted date so your feed timeline stays accurate.
Routes: /api/social-mirror, /api/cross-post | Table: social_accounts, mirrored_content