Website Creation Wizard
Configure and launch a new satellite model directory in minutes.
Basic Site Configuration
Content Types
Providers & Affiliate
Pages & Style
Preview & Create
Creation Plan
🎉 Website Provisioned Successfully!
Your site is ready. The following resources have been auto-created:
/pics/
Guides
Developer documentation, catalogued by categoryAI Skills
Reference for the Claude Code skills available on this project — what each one does, when to use it, and how to run it. Read-only.What Do These Buttons Do?
Plain-language reference for every button in this admin that actually does something (not just navigation) - what it does, when to use it, and how risky/slow it is. Read-only.Templates Browser
Discover portable website configurationsHiveTheme
Configures models listings, sitemaps indexes, incremental update publishes, and Tokyo theme styles.
Editorial Blog / Magazine
Setup posts and creators schema structures, RSS integrations, categories taxonomies, and daily publishes.
Sleek Video Library
Configures video details page, tags matching rules, publisher delta profiles, and Neon grid layout themes.
Entities
0 items loaded| UUID | Source ID | Feed ID | Status | Preview Attributes |
|---|---|---|---|---|
| No credentials configured. Setup JWT / API Key to explore entities. | ||||
🔍 About Platform Semantic Search
This tool searches through all ingested database records for this tenant (including models, blog posts, videos, and galleries) using natural language meaning rather than simple keyword matches. Use it to verify indexed content (e.g. "blonde online stripchat") and to retrieve unique UUIDs from the details panel on the right to assign models to blog posts or debug active entity attributes.
Search Results
0 items found| UUID | Title | Category | Status | Tags |
|---|---|---|---|---|
| Enter a search query above. | ||||
Queue Timeline
0 items loaded| ID | Job Type | Status | Attempts | Created At | Error Log / Details |
|---|---|---|---|---|---|
| No background jobs found. | |||||
Hive Studio Assistant
Ask operational questions with page, site, provider, run, and error context attached automatically.
Hive OS Terminal
Command mode for precise actions: top 20, doctor, online, sites status, publish modelname.
Missions
Long-running investigations and repair tasks recorded through Hive OS Tasks.
🧩 Skill Explorer
Every capability Hive OS knows about, self-registered by its owning module.
📜 Logs
| Time | Level | Component | Message |
|---|
🖼️ Model Photos
Settings → Media → Model Photos - local disk-bounded photo cache, rotated per model.
Global Settings
| Nickname | Provider | Photos | Last Cached | Status | Actions |
|---|---|---|---|---|---|
| Search for a model above. | |||||
📊 Publish
Publish your websites and check their live status.🗺️ Sitemaps Manager
Configure, save, and generate SEO sitemaps for your domains.Sitemaps Settings
Publish Run History
0 items loaded| UUID | Profile | Adapter | Status | Count | Duration | Created At |
|---|---|---|---|---|---|---|
| No publish runs found. | ||||||
Publish History
0 items loaded| Publish ID | Site | Mode | Duration | Status | Revision |
|---|---|---|---|---|---|
| No publish runs found. | |||||
Content Rules
0 profiles loaded| Name | Description | Status | Actions |
|---|---|---|---|
| Loading profiles... | |||
Create Content Rule
Sitemaps & Continuity Options
Sites Manager
0 sites loaded| Display Name | Primary Domain | Staging Domain | Environment | Status |
|---|---|---|---|---|
| No sites found. Add your first site to get started. | ||||
Site Details
activePosts
0 posts loaded| Title | Status | Published | Views | Actions |
|---|---|---|---|---|
| No posts found. Click "Add Post" to create one. | ||||
Post Details
Videos
0 videos loadedstorage/import/<your-domain>/incoming/
on the server — Hive picks them up automatically within 2 minutes and they'll appear below,
unassigned and ready to edit/publish. Or use the CLI:
hive content videos import-folder --path <dir> --site <domain>
| Thumb | Title | Status | Published | Duration | Views | Actions |
|---|---|---|---|---|---|---|
| No videos found. Click "Add Video" to create one. | ||||||
Video Details
Galleries
0 galleries loaded.zip of photos into storage/import/<your-domain>/incoming/
on the server — Hive picks it up automatically within 2 minutes and it'll appear below,
unassigned and ready to edit/publish. Or use the CLI:
hive content galleries import-folder --path <dir> --site <domain>
or hive content galleries import-zip --path <file.zip> --site <domain>
| Cover | Title | Status | Published | Photos | Views | Actions |
|---|---|---|---|---|---|---|
| No galleries found. Click "Add Gallery" to create one. | ||||||
Gallery Details
URL Routes
Edit a site's real routing file (urls.ini) directly - this controls every URL the published site responds to.Menu / Site Config
Header, tabs, sidebar, desktop footer and mobile footer menu placement (config.ini) - one comma-separated identifier list per line. Uses the site selected above.Serving Mode — Deployment Strategy
How this site keeps serving visitors if Hive becomes temporarily unavailable. Changing the selection below only saves configuration - it never starts an export, publish, job, cron, or file cleanup. Uses the site selected above.Side-by-side comparison
| Feature | ⚡ Live API Only | 🛟 Minimal Fallback | 🏛️ Full Static Fallback |
|---|---|---|---|
| Disk usage | ⭐ | ⭐⭐ | ⭐⭐⭐⭐⭐ |
| Publish speed | ⭐⭐⭐⭐⭐ (no publish) | ⭐⭐⭐⭐ | ⭐ |
| RAM during publish | ⭐⭐⭐⭐⭐ (no publish) | ⭐⭐⭐⭐ | ⭐ |
| CPU during publish | ⭐⭐⭐⭐⭐ (no publish) | ⭐⭐⭐⭐ | ⭐ |
| API dependency | High | Medium | Low |
| Offline protection | None (short cache only) | Homepage + important pages | Complete |
| Generates static files | ❌ No | ✅ Small set | ✅ Complete catalog |
| Extra disk space required | ❌ No | ✅ Minimal (MBs) | ✅ Significant (GBs) |
| Recommended for satellites | ✅ | ✅ | ⚠️ Only when required |
| Recommended for main site | ⚠️ Usable | ✅ | ✅ If needed |
- ✅ Live API Only for almost all sites.
- ✅ Minimal Fallback only if you want homepage continuity during brief outages.
- ⚠️ Full Static Fallback only for special projects where complete availability matters more than resource cost.
Tags & Categories
Curate which tags/categories this site shows and what they're called - each maps a display name + URL slug to either one real taxonomy value (e.g."kw1=cum*creampie&kw2=asian*chinese&gender=f&viewers=5..") for richer, combined matches. Models are matched automatically.
Base Categories
Built-in gender categories with real model counts.
Mapped Tags
Select a site to see what's actually available.
📡 Feed Providers
Central command center for data ingestion streams, mappings, scheduler cycles, and connector configurations.
Feed Name
ACTIVE📊 Recent Health Timeline
🗂️ Provider Dataset Default Rules
These default filtering rules apply to all models imported from this provider. Website Dataset Rules still apply independently.
📥 Incoming Feed Fields
Discovered fields in source payload. Click to map.
🗺️ Active Mapping Canvas
Source fields transformed into target Hive attributes.
👤 Canonical Hive Schema
Target entity attributes browser.
⚠️ Live Validation Feed & Diagnostics 0 issues found. Setup is 100% correct.
🔬 Live Mapping & Transform Preview Pipeline Simulating mapping using discovered sample values.
🧪 Non-Destructive Feed Test Runner
Simulate parser ingestion, transform chains, validation rules, and identity resolution rules before persisting.
#1 - external_id: N/A
| Target Field Path | Simulated Output Value |
|---|
Detailed explanation details.
Click "Run Test Fetch & Preview" to load sample payload records from the source provider and dry-run mapping transformations and validation constraints.
Resolving DNS hostname, running SSRF checks, performing HTTP GET request, and applying dry-run schema mapping...
Stream Health Diagnostics
Operational health calculation based on success rate, latency, and validations.
📅 7-Day Health Score Timeline
Daily health scores aggregated across scheduled synchronization runs. Highlighted cells indicate score drop regressions.
📈 Stream Performance Trends
📊 Cumulative Ingestion Stats
| Period | Imported | Rejected | Latency |
|---|---|---|---|
| Today | -- | -- | --ms |
| Yesterday | -- | -- | --ms |
| Last 7 Days | -- | -- | --ms |
| Last 30 Days | -- | -- | --ms |
Hive OS Assistant
Select an instant diagnostic action. Hive OS will retrieve run metrics, error patterns, and mapping rules to explain the state of this stream.
⏰ Synchronization Intervals
| Run ID | Started | Finished | Duration | Imported | Updated | Rejected | Duplicate | Merges | Mapping Rev | Status | Error |
|---|
📜 Sync Log Terminal
⚙️ Management and Bounds Settings
🔗 Affiliate Monetization Settings
Manage provider-specific affiliate IDs and status overrides.
No Configuration Found
There is no affiliate configuration set up for this provider on the selected site domain.
🎯 Campaigns & Tracking Configurations
📺 Custom Embed Templates & Previews
Edit resolved links templates, video embeds, default CTAs, and landing page URLs.
🧪 Render Test Sandbox
🔥 Time-limited Promotions & Override Campaigns
Temporarily replaces THIS provider's room link / embeds / tracking with different values between a start and end date, then automatically reverts to the normal config when the campaign ends. Example: run a Black Friday tracking tag for 3 days without touching the base config. To run a campaign for a different provider, open that provider's own Feed Cockpit and use its Promotions tab instead.
| Campaign Name | Priority | Status | Timeline | Actions |
|---|
➕ Add Campaign Override
📂 Duplicate Affiliate Settings
This clones the configurations and campaign rules directly to another site domain.
🎞️ Video Feeds
External video-clip affiliate feeds (VOD exports) - completely separate from webcam Providers and from a site's own published Videos content.
Add Video Feed
. if the feed's JSON response is a bare array with no wrapper object (e.g. apiJAV). Not used for CSV - each row is already one item.
🗺️ Field Mapping (JSON)
"title": "Title" or "external_id": "col0"). For values buried in HTML, encoded, or delimited, use an object with transforms: {"source": "description", "regex": "src=\"([^\"]+)\""} (first regex match), "regex_all" (every match, as a list), "split": ";" (delimited list), "urldecode": true, or "duration": true (parses "1m00s" into seconds). Leave empty to use JSON defaults (id/title/duration/tags/thumbImage/previewImages/targetUrl/detailsUrl/quality/isHd).
🧪 Nutra Feeds
External nutra/CPA/COD affiliate offer feeds - completely separate from webcam Providers and Video Feeds.
Add Nutra Feed
. if the feed's JSON response is a bare array with no wrapper object (e.g. apiJAV). Not used for CSV - each row is already one item.
🗺️ Field Mapping (JSON)
"title": "offer.name", "image_url": "offer.thumbnail", "tracking_link": "offer.tracking_link", "payout": "offer.payout", "currency": "offer.currency", "geo": "offer_geo.target"). Also supported: vertical (payout flow - COD/CPL/CPS/trial), caps, approval_status - captured for reference, not shown on public pages. Same transform objects as Video Feeds (regex/regex_all/split/urldecode) work here too. Leave empty to use JSON defaults (id/title/description/thumbnail/tracking_link/preview_url/payout/currency/country_code/category).
🛒 Commerce Feeds
External retail/e-commerce affiliate product feeds - completely separate from webcam Providers, Video Feeds, and Nutra Feeds.
Add Commerce Feed
. if the feed's JSON response is a bare array with no wrapper object (e.g. apiJAV). Not used for CSV - each row is already one item.
🗺️ Field Mapping (JSON)
"title": "product.title", "image_url": "product.image", "affiliate_url": "product.affiliate_url", "price": "product.price", "sale_price": "product.sale_price", "currency": "product.currency", "brand": "product.brand", "merchant": "product.merchant"). Also supported: availability, geo, commission_type, commission_value. Same transform objects as Video Feeds (regex/regex_all/split/urldecode) work here too. Leave empty to use JSON defaults matching this exact field list.
💕 Dating Feeds
Dating-vertical CPA/affiliate offer feeds (OffersLook, OffersHub, Affise, Integr8, or Affiliate.com dating offers) - built on the same engine as Nutra Feeds, kept in a separate list.
Add Dating Feed
GET /aff/v1/offers). Pre-filled with a sensible default per format - only change it if Preview below shows 0 items. Type . if the feed's JSON response is a bare array with no wrapper object (e.g. apiJAV). Not used for CSV - each row is already one item.
🗺️ Field Mapping (JSON)
"title": "offer.name", "tracking_link": "offer.tracking_url", "payout": "offer.payout_value", "currency": "offer.currency", "geo": "offer.geo", "image_url": "offer.creative_url"). Also supported: caps, approval_status, category. Same transform objects as Video/Nutra Feeds (regex/regex_all/split/urldecode) work here too. Leave empty to use JSON defaults matching this exact field list.
🎌 Asian Video Feeds
Japanese/Asian-vertical video product feeds (DMM/FANZA, apiJAV) - built on the same engine as Video Feeds, with actress/maker/series/price fields, kept in a separate list.
Add Asian Video Feed
GET /ItemList response). Pre-filled with a sensible default per format - only change it if Preview below shows 0 items. Type . if the feed's JSON response is a bare array with no wrapper object (e.g. apiJAV). Not used for CSV - each row is already one item.
🗺️ Field Mapping (JSON)
"title": "title", "target_url": "affiliateURL", "thumbnail_url": "imageURL.large", "actress_name": "iteminfo.actress[0].name", "maker": "iteminfo.maker[0].name", "series": "iteminfo.series[0].name", "release_date": "date", "price": "prices.price", "currency": "prices.currency"). Same transform objects as Video Feeds (regex/regex_all/split/urldecode) work here too. Leave empty to use JSON defaults matching this exact field list.
Processing
0 pipelines loaded| Display Name | Description | Version | Stages Count | Status |
|---|---|---|---|---|
| No pipelines found. Click "Create Pipeline" to configure one. | ||||
Processing Details
activeWebsite Output
0 bindings loaded| Domain | Site Name | Default Profile | Status | Actions |
|---|---|---|---|---|
| Loading website bindings... | ||||
Register Website Output
Configure Provider
Suggested Mapping Recommendations
After you click "Load Preview" above, Hive guesses which fields in the source data are the ID, title, and description. You can adjust these before connecting.Raw JSON Preview (SSRF Safe)
{}
🏢 Dashboard
🌐 Fleet-wideCentral dashboard managing fleet performance, site health, normalizer feeds, and runtime telemetry.
No Websites Bound to this Fleet
To begin aggregation, instantiate a site template or link a new schema binding in the platform setup tabs.
💾 Backup & Recovery
Self-recovery center for Hive data backups, production server snapshots, verification, schedules, destinations, and restore dry-runs.
Restore Wizard
One backup package per site/domain - its own DB rows (published AND draft), its own gallery/video/advert media, isolated from every other site. Provider photo caches are never included (regenerable from the feed).
🩺 System Operational Diagnostics
Deterministic checks verifying system, database, template, publisher, runtime, studio, and copilot health.
/ask. Requires Telegram to be configured (.env.production).
model_stat_* tables, measured live, with growth rate from the recorded sample series. Budget scales with the real model count.
🛡️ PoL Gate Pipeline
ProofOfLife anti-bot edge gate - auto-arm/disarm history (tools/pol-monitor/). See RAPORT_AVOS_FIREWALL_PARITY_2026-07-20.md.
Currently Armed
| Host | Server | Type | Age |
|---|---|---|---|
| Loading... | |||
Cycle Counts (12h)
| Host | Arms | Disarms |
|---|---|---|
| Loading... | ||
Cycle Counts (24h)
| Host | Arms | Disarms |
|---|---|---|
| Loading... | ||
Recent Events
| Time | Host (Server) | Event | Reason / Rate |
|---|---|---|---|
| Loading... | |||
🐝 Bot Analytics
🧭 Verdict
This section shows an AI's interpretation of the report above (not raw data) - nothing here is generated until you ask for one.
📄 Analysis prompt for this report
The exact prompt used to analyse this report - read it, or copy it and give it to any AI yourself.
hive-bot-verdict skill.)Concerns
Novel / unexpected patterns
🩺 Server Health
| Hour (UTC) | Max Apache | Max Load | Max CPU% | Min Health | Samples | Status |
|---|---|---|---|---|---|---|
| Loading... | ||||||
🧱 Nginx Blocking Layer
Requests nginx rejected outright ($should_block) before they ever reached the site - logged to blocked_bots.log.
Show IPs
Each IP shows the actual request that triggered it, when a recent example is still in the log - real evidence, not just the address.
Blocked, by UA label
| Label | Hits |
|---|---|
| Loading... | |
Top Targeted Hosts
| Host | Blocked |
|---|---|
| Loading... | |
Chrome Version Distribution
| Chrome/Version | Blocked |
|---|---|
| Loading... | |
Edge Version Blocks
| Edge/Version | Blocked |
|---|---|
| Loading... | |
Good-Bot Impersonators — the evidence
A bot's User-Agent string is self-reported and easy to fake. To confirm the real Googlebot/Bingbot/etc, we reverse-DNS the IP that made the request, then forward-confirm that hostname resolves back to the same IP. Both must match a known pattern (e.g. *.googlebot.com) for the badge to say real.
| IP | Claimed to be | Reverse-DNS hostname found | Forward-confirmed? | Verdict |
|---|
🔥 PHP Firewall Layer (Apache 429s)
Requests that got PAST nginx but were then rate-limited (HTTP 429) at the application layer, per site.
429s by Site (scrape signals)
| Site | 429s | Unique IPs | Distributed? |
|---|---|---|---|
| Loading... | |||
429s, by UA class
| Label | 429s |
|---|---|
| Loading... | |
Attack URL Patterns Detected
| Pattern | Hits |
|---|---|
| Loading... | |
✅ Good Bots & Humans Check
For each named good-bot, how it was actually treated by real site traffic (not the blocked_bots log) - response codes it got when it visited pages normally. A healthy pattern is mostly 200s; frequent 429s here means even a legitimate crawler is getting rate-limited.
| Bot | Response codes in window | Verdict |
|---|---|---|
| Loading... | ||
Note: real Googlebot/Bingbot/etc are usually allowlisted ($is_good_bot_ip) and bypass the PoL cookie challenge entirely - this table is about response codes, not the PoL gate.
📜 History & Trend
Past reports, newest first - nothing here is ever deleted or overwritten. Click a row to view that report above (with its own delta vs the one before it); use "◂ Back to latest" up top to return.
| Generated | Window | Verdict | Concerns | Blocked-but-legit | Distributed scrape |
|---|---|---|---|---|---|
| Loading... | |||||
🧯 Firewall / Security
A configurable layer on top of the always-on nginx rules (see the Bot Analytics panel for those) - every rule below starts in monitor and stays there until you explicitly change it. In monitor mode a rule computes and logs its score exactly like it would if enforced, but never touches a real request - the numbers below show what it WOULD have done.
How this works, in plain terms: each rule below checks for one specific pattern (e.g. a WordPress scan, an old browser). When a rule's pattern matches a request, it adds its score to that request's total. The Scoring thresholds rule (near the bottom of the list) then decides what happens based on that total - low enough is served normally, higher gets logged, higher still gets sent to prove they're human, and the highest band gets rejected. A rule only actually enforces (challenge/block) real visitors if you switch that specific rule's mode away from monitor - the threshold total alone changes nothing by itself.
Scoring rules
🚫 Auto-block state (escalating)
Stateful - an IP only appears here once it's met all four criteria (50+ events, 5+ min span, 3+ distinct paths, no valid human marker). Escalates 1h → 6h → 24h across separate offenses; permanent only ever happens manually.
| IP | Reason | Offense # | Expires | Actions |
|---|---|---|---|---|
| Loading... | ||||
🔌 Redis outage history
PoL verification itself no longer depends on Redis (signed, stateless), so an outage here no longer means rejected visitors - this is visibility into the arm/disarm engine's health, not an active-incident panel to panic over.
🕘 Audit log
Every mode/config change to a rule, with who made it, when, and the exact old/new values - written in the same transaction as the change itself, so this can never drift from what actually happened.
| When | Rule | User | Mode change | Config change |
|---|---|---|---|---|
| Loading... | ||||
Canonical Entities
0 items loaded| Title | Profiles |
|---|---|
| No canonical entities loaded. | |
Entity Title
Linked Profiles
Attributes
{}
Taxonomies
Materialized Facts
| Key | Value | Provider | Confidence |
|---|
Relationships Graph Links
| Source Entity | Target Entity | Type | Source | Confidence |
|---|
Publisher Health Status
0 domains loaded| Domain | Binding Status | Profile Status | Latest Run | Details |
|---|
domain.com
Publisher Health DiagnosticsWarnings Detected
Datasets & Freshness
Webhook Diagnostics
0 webhooks loaded| Job ID | Domain | Delivery Status | Attempt | Last Attempt |
|---|
Webhook Details
Timeline & Diagnostic Metrics
Last Error Diagnostic
No Website Selected
Select a website to manage its configurations, trigger publishing tasks, inspect feeds, and review diagnostics.
Domain Name
🟢 Active production🟢 Website Operational Health
🔄 Publish Status Summary
🔍 SEO & Metadata Verification
📡 Ingestion Feeds Summary
Hive OS Recommendations
📜 Recent Site Activity Log
| Avatar | Nickname | Provider | Gender | Country | Blocked | Status | Viewers | Published | Last Seen | Actions | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Loading models... | |||||||||||
🚀 Trigger Release Builds
"Full" rebuilds every page from scratch (slower, use after big config changes). "Incremental" only rebuilds what changed since the last publish (fast, the normal everyday choice). "Dry Run" and "Validate" both preview what WOULD happen without actually publishing anything.📊 Dry Run Planning Report
| Revision ID | Date / Time | Build Type | Files Written | Disk Size |
|---|
Layout Blueprint Mappings
Homepage Configurations
| Feed / Connector Name | Status | Last Synchronized | Fails Ratio | Record Delta | Actions |
|---|
⚡ Container System Resource Load
📈 Dataset Storage Growth Trends
This page now opens the canonical Hive OS Assistant with the active website context.
⚡ Suggested Prompts
🩺 Site Monitors
Scheduled checks of this site's live, public-facing functionality. Toggle any monitor off if you don't need it.
🩺 Site Diagnostics Health Checks
📝 Theme Blueprint & Visual Directives
🎨 Color Scheme & Hex Palette
📁 Template File Generation Checklist
✨ Typography & Layout Sizes
🧱 Layout Structure & Header Styles
🖼️ Model Grid Card Layouts
👤 Profile Page Design Patterns
🛡️ Age Gate Warning Settings (18+)
⚙️ Modes, Motion & System Frameworks
🔒 Fingerprint
Every generated site gets its own CSS/JS/DOM namespace, asset paths, and manifest/favicon aliases so no two Hive sites look structurally identical. Audit this site, compare it against another, or assign a fresh fingerprint.
🚀 Core Files Deployment
This site's runtime files (avos-compat.php, index.php, DatasetRepository.php, ManifestLoader.php, photos.php) and stylesheet are plain copies made once when the site was created - they do NOT auto-update when the shared theme source changes. Use this after a theme bugfix or a style.css edit to push it to this site's live deployment. Always backs up the previous version first.
🔎 SEO Meta Generator
Generates deterministic SEO title/description/keywords for this site's static and index pages (home, tags, hot, videos, etc.) using Hive's own real configured routes. Never overwrites a manually-edited or locked row. Per-model profile pages are generated live at request time, not here - see the Guides panel's "How to Add a New SEO Page Type" entry.
🩺 SEO Health Check
Real, live checks against this site's own domain - canonical, robots, sitemap, hreflang, JSON-LD, OpenGraph, redirects, 404s, trailing slash, internal links, dev/staging protection, IndexNow, firewall/verified-bot exposure, publish freshness, and mobile consistency. Read-only - never changes anything on this site.
🚨 Critical Findings
📜 Audit History (this site only)
Saved Meta
Models, tags, search, and the Homepage panel's own provider mix can only ever use a provider toggled on below. If one's missing, this tenant has no feed for it yet - set one up under Feeds first.
🎞️ Video Feed Display
One global setting, applied to every Video Feed on this site (not per-feed) - page size and which badges show on the listing/player pages.
🎥 Media & Fingerprint Settings
/storage/photos
-
Cache-Control: public, max-age=31536000
Live Status Engine
Keeps online/offline, current show, and viewer counts fresh (~1 minute) via Redis, without giving up static publishing's speed. Requires Redis to be configured for this deployment - see Doctor if unsure.hive:live:{tenant}:{provider}:{external_id}
180s
- a model not refreshed within this window is treated as offline/stale.
/live/status/{provider}/{external_id},
/live/status/batch,
/live/status/summary
General Configurations
en, es, de). This drives every language this site can show - the glossary, page translations, and the SEO Meta Generator all only ever work in the languages listed here. "en" is the default and never needs translating.
🧭 Navigation
Controls header links, tab links, sidebar blocks, desktop footer and mobile footer menu placement. Saves only these menu keys in config.ini.
👥 Sidebar Recommended Models
To show or hide this widget on your live site, add or remove models from the Sidebar items list above.
📢 Adverts
Header, Sidebar, Homepage Grid, and Footer banner images. Not shown on the live site yet in this patch - Studio management only.
Add Advert
📺 Embed Settings
Controls the homepage Featured player, forced grid models, and floating chat widget for this website. Saves only the embed-related keys in config.ini.
Homepage Featured Player
Grid Featured Models
Floating Chat
When enabled, the floating widget stays light until the visitor opens it.Performance Guard
🏠 Homepage Curation
Controls exactly which models appear on this website's homepage - category/tag filters, provider mix, sort.
Filters
Check any combination (e.g. Girls + Couples shows both). None checked = no category restriction. Note: a model has one real gender value, so this is OR logic across your picks, never AND - there's no such thing as a model matching two categories "at once". "New"/"Popular" already mean "no restriction" on their own, so combining them with anything else has no extra effect.
"Any" = model needs at least ONE of the tags below (OR). "All" = model needs every tag listed, at the same time (AND).
Real taxonomy tags from the models' own data (looks, niche, etc.) - combined with Category above using AND: a model must pass Category AND match your Tags rule to appear.
Provider Mix
Balanced: all enabled providers split evenly. Single Provider: only one provider, 100%. Multiple Providers: check exactly which providers you want (e.g. Chaturbate + StripChat + BongaCams) and they split evenly - no percentage math. Custom: pick as many providers as you want and set each one's own percentage (must total 100%).
| Provider | Percentage |
|---|
Sorting
How a visitor browses past the first batch of the "Homepage Model Count" pool above - all of it is already curated, this only controls how it's revealed on the page.
Preview
🪪 Profile Page - Related Models
Controls the "Related Models" section shown on each model's own profile page - precomputed offline, this only configures how many are shown and whether they must be online right now.
1-12. The offline job precomputes up to 12 candidates per model - this is how many actually get displayed.
Recommended: on. Checks live status (same Redis lookup the page already does for the model itself) and tops up with random other online models from the same category if the precomputed list doesn't have enough currently-online candidates. Turning this off shows the precomputed list as-is, with zero extra cost - but a card may point at a model that's actually offline right now.
📊 Profile Page - Model Statistics
Controls the live activity statistics (heatmap, monthly history, recent days, activity log) shown on each model's own profile page and its "Full Stats" sub-page. Computed live at request time from real telemetry - no republish needed, but propagation is not instant (up to ~30 seconds, same as every other setting on this tab).
Off by default. When off, none of the sections below appear anywhere, regardless of their own toggles.
⚠️ Danger Zone
Deletes this site's configuration record and detaches its publisher bindings safely. Does not delete already-published files or the tenant's ingested data.