refactor(landing): move SEO content to i18n system
Extract hardcoded SEO content to localized JSON files for proper internationalization. Add SEO-specific hooks to i18n package. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
6891062f52
commit
2fc0594ea1
11 changed files with 603 additions and 325 deletions
|
|
@ -0,0 +1,74 @@
|
|||
{
|
||||
"title": "For Business",
|
||||
"subtitle": "Enterprise Solutions",
|
||||
"heroDescription": "White-label infrastructure for adult platforms. API-first architecture. Revenue sharing models that respect creators. Build on Lilith's ethical foundation.",
|
||||
"benefits": [
|
||||
{
|
||||
"title": "White-Label Platform",
|
||||
"description": "Deploy your own branded creator platform with Lilith's anti-extraction infrastructure. Full customization, zero exploitation.",
|
||||
"icon": "layers"
|
||||
},
|
||||
{
|
||||
"title": "API-First Architecture",
|
||||
"description": "RESTful APIs for payments, identity verification, content delivery, and creator management. Enterprise SLAs available.",
|
||||
"icon": "code"
|
||||
},
|
||||
{
|
||||
"title": "Ethical Revenue Share",
|
||||
"description": "Revenue models that don't extract from creators. Your margin comes from platform fees, not creator earnings.",
|
||||
"icon": "handshake"
|
||||
},
|
||||
{
|
||||
"title": "Compliance Built-In",
|
||||
"description": "GDPR-compliant data handling, age verification, and content moderation. Icelandic jurisdiction for speech protection.",
|
||||
"icon": "shield"
|
||||
}
|
||||
],
|
||||
"features": [
|
||||
{
|
||||
"title": "Technical Infrastructure",
|
||||
"items": [
|
||||
"Crypto-native payment rails (BTC, ETH, stablecoins)",
|
||||
"Smart contract escrow for guaranteed payments",
|
||||
"CDN with global edge caching",
|
||||
"Real-time analytics and reporting",
|
||||
"Webhook integrations for custom workflows"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Business Models",
|
||||
"items": [
|
||||
"Revenue share partnerships (your margin, not creator extraction)",
|
||||
"Licensing for specific features or regions",
|
||||
"Managed service with dedicated support",
|
||||
"Custom development for enterprise needs",
|
||||
"Integration consulting and implementation"
|
||||
]
|
||||
}
|
||||
],
|
||||
"stats": [
|
||||
{ "value": "0%", "label": "Creator Extraction" },
|
||||
{ "value": "99.9%", "label": "Uptime SLA" },
|
||||
{ "value": "24/7", "label": "Enterprise Support" }
|
||||
],
|
||||
"faqs": [
|
||||
{
|
||||
"question": "How does the white-label solution work?",
|
||||
"answer": "You get a fully customizable platform running on Lilith infrastructure. Your branding, your domain, your creator relationships. We handle payments, compliance, and content delivery. You keep your margin without extracting from creators."
|
||||
},
|
||||
{
|
||||
"question": "What's the revenue model for partners?",
|
||||
"answer": "Partners earn through platform access fees charged to users, not by taking a cut from creators. This aligns incentives: your success depends on creator success, not extraction. Typical partner margins range from 5-15% on user subscriptions."
|
||||
},
|
||||
{
|
||||
"question": "Is the API suitable for high-volume applications?",
|
||||
"answer": "Yes. Our infrastructure handles millions of requests daily with enterprise-grade SLAs. Rate limits are customizable for partners, and we offer dedicated infrastructure for high-volume needs."
|
||||
},
|
||||
{
|
||||
"question": "How do you handle compliance across jurisdictions?",
|
||||
"answer": "Lilith operates under Icelandic jurisdiction for maximum speech protection. We provide GDPR-compliant data handling, configurable age verification, and content moderation tools. Partners can add jurisdiction-specific compliance layers as needed."
|
||||
}
|
||||
],
|
||||
"ctaText": "Contact Business Development",
|
||||
"ctaDescription": "Build on ethical infrastructure"
|
||||
}
|
||||
69
@packages/@infrastructure/i18n/locales/en/about-founder.json
Normal file
69
@packages/@infrastructure/i18n/locales/en/about-founder.json
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
{
|
||||
"title": "About the Founder",
|
||||
"subtitle": "Building What Should Exist",
|
||||
"heroDescription": "Lilith was born from rage at an industry that extracts billions from creators while leaving them vulnerable. This platform exists because the alternatives are unacceptable.",
|
||||
"benefits": [
|
||||
{
|
||||
"title": "Personal Stakes",
|
||||
"description": "Not a tech bro pivoting to adult content. Someone who understands what it means when platforms decide your livelihood on a whim.",
|
||||
"icon": "heart"
|
||||
},
|
||||
{
|
||||
"title": "Technical Foundation",
|
||||
"description": "Decades of software architecture experience. Built systems that scale. Now building systems that don't exploit.",
|
||||
"icon": "cpu"
|
||||
},
|
||||
{
|
||||
"title": "Cooperative Structure",
|
||||
"description": "France SCOP formation means this can never be acquired or IPO'd. No VC pressure. No 'growth at all costs.' Worker governance.",
|
||||
"icon": "users"
|
||||
},
|
||||
{
|
||||
"title": "Transparency Commitment",
|
||||
"description": "Published financials. Public roadmap. No hidden extraction. If we ever break trust, you'll know exactly how.",
|
||||
"icon": "eye"
|
||||
}
|
||||
],
|
||||
"features": [
|
||||
{
|
||||
"title": "Why This Matters",
|
||||
"items": [
|
||||
"46% of adult creators have lost bank accounts",
|
||||
"OnlyFans extracted $1.8B for a single shareholder",
|
||||
"Payment processors weaponized against legal work",
|
||||
"Platforms profit from precarity they create",
|
||||
"Workers deserve infrastructure that serves them"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "The Mission",
|
||||
"items": [
|
||||
"Zero extraction from creator earnings",
|
||||
"Banking-proof crypto-native payments",
|
||||
"Legal defense fund for FOSTA-SESTA prosecution",
|
||||
"Healthcare roadmap for Year 3+",
|
||||
"Exit support for those leaving the industry"
|
||||
]
|
||||
}
|
||||
],
|
||||
"faqs": [
|
||||
{
|
||||
"question": "Why should I trust a new platform?",
|
||||
"answer": "Trust is earned, not claimed. Our cooperative structure means no acquisition exit, no VC pressure to extract. Published financials mean you can see where money goes. And if we fail you, our Icelandic jurisdiction means you have legal recourse."
|
||||
},
|
||||
{
|
||||
"question": "What's your background?",
|
||||
"answer": "Software architect with experience building scalable systems. Queer. Disabled. Watched too many friends lose their livelihoods to platform decisions. Built Lilith because the alternatives are unacceptable."
|
||||
},
|
||||
{
|
||||
"question": "Why a cooperative structure?",
|
||||
"answer": "Corporations optimize for shareholders. Cooperatives optimize for workers. A France SCOP can't be acquired, can't IPO, can't be pressured by VCs to extract more. The structure itself prevents betrayal."
|
||||
},
|
||||
{
|
||||
"question": "What happens if you get hit by a bus?",
|
||||
"answer": "The cooperative structure survives founders. Worker governance means decisions continue. Code is documented. Infrastructure is redundant. Lilith is designed to outlive any individual, including me."
|
||||
}
|
||||
],
|
||||
"ctaText": "Join the Mission",
|
||||
"ctaDescription": "Build something that should exist"
|
||||
}
|
||||
84
@packages/@infrastructure/i18n/locales/en/about-legal.json
Normal file
84
@packages/@infrastructure/i18n/locales/en/about-legal.json
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
{
|
||||
"title": "Legal Information",
|
||||
"subtitle": "Icelandic Jurisdiction",
|
||||
"heroDescription": "Lilith operates under Icelandic law—one of the strongest speech protection regimes in the world. GDPR-compliant data handling. Transparent privacy practices. Your rights, legally protected.",
|
||||
"benefits": [
|
||||
{
|
||||
"title": "Icelandic Speech Protection",
|
||||
"description": "Iceland's constitution provides robust speech protections. No US-style FOSTA-SESTA overreach. No UK-style 'think of the children' censorship. Legal adult content, legally protected.",
|
||||
"icon": "flag"
|
||||
},
|
||||
{
|
||||
"title": "GDPR Compliance",
|
||||
"description": "Full EU GDPR compliance. Data minimization. Right to deletion. No selling your data. No surveillance capitalism. Your data belongs to you.",
|
||||
"icon": "shield"
|
||||
},
|
||||
{
|
||||
"title": "Cooperative Structure",
|
||||
"description": "France SCOP cooperative means worker governance. Can't be acquired. Can't IPO. No VC pressure to compromise on values. Structure that prevents betrayal.",
|
||||
"icon": "users"
|
||||
},
|
||||
{
|
||||
"title": "Transparent Practices",
|
||||
"description": "Published privacy policy. Clear terms of service. No hidden clauses. No 'we can change this anytime' gotchas. You can read and understand your rights.",
|
||||
"icon": "file-text"
|
||||
}
|
||||
],
|
||||
"features": [
|
||||
{
|
||||
"title": "Data Rights",
|
||||
"items": [
|
||||
"Right to access all your data",
|
||||
"Right to delete your account and data",
|
||||
"Right to data portability (export everything)",
|
||||
"No selling data to third parties",
|
||||
"No behavioral advertising or tracking"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Platform Governance",
|
||||
"items": [
|
||||
"France SCOP cooperative structure",
|
||||
"Worker governance, not shareholder control",
|
||||
"Published financial transparency reports",
|
||||
"Community input on major decisions",
|
||||
"No acquisition or IPO possible"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Content Policies",
|
||||
"items": [
|
||||
"Legal adult content allowed (18+ verified)",
|
||||
"Clear content guidelines, not arbitrary censorship",
|
||||
"Appeals process for content decisions",
|
||||
"No deplatforming without due process",
|
||||
"Creator retains all content rights"
|
||||
]
|
||||
}
|
||||
],
|
||||
"stats": [
|
||||
{ "value": "GDPR", "label": "Compliant" },
|
||||
{ "value": "Iceland", "label": "Jurisdiction" },
|
||||
{ "value": "100%", "label": "Content Rights Retained" }
|
||||
],
|
||||
"faqs": [
|
||||
{
|
||||
"question": "Why Iceland?",
|
||||
"answer": "Iceland has some of the strongest speech protections in the world, combined with robust privacy laws. It's outside US jurisdiction (no FOSTA-SESTA), outside UK jurisdiction (no Online Safety Bill), and has a long history of protecting press freedom and individual rights."
|
||||
},
|
||||
{
|
||||
"question": "What data do you collect?",
|
||||
"answer": "Minimum necessary for operation: account credentials, payment information (for transactions), and content you choose to upload. We don't track behavior, don't build advertising profiles, and don't sell data. Full details in our privacy policy."
|
||||
},
|
||||
{
|
||||
"question": "Can I delete my account completely?",
|
||||
"answer": "Yes. Account deletion removes all personal data within 30 days. Content you've published can be removed immediately. We retain only legally required records (financial transactions for tax purposes) in anonymized form."
|
||||
},
|
||||
{
|
||||
"question": "What happens if laws change?",
|
||||
"answer": "Our Icelandic base provides legal stability. If regulations threaten the platform, the cooperative structure means we can relocate operations while maintaining service. We have contingency plans for various regulatory scenarios."
|
||||
}
|
||||
],
|
||||
"ctaText": "Read Our Privacy Policy",
|
||||
"ctaDescription": "Your rights, clearly stated"
|
||||
}
|
||||
84
@packages/@infrastructure/i18n/locales/en/about-safety.json
Normal file
84
@packages/@infrastructure/i18n/locales/en/about-safety.json
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
{
|
||||
"title": "Safety & Trust",
|
||||
"subtitle": "Protection by Design",
|
||||
"heroDescription": "Safety isn't a feature we added—it's the foundation we built on. Smart contract escrow, identity verification, emergency systems, and a legal defense fund. Because creators deserve infrastructure that protects them.",
|
||||
"benefits": [
|
||||
{
|
||||
"title": "Smart Contract Escrow",
|
||||
"description": "Payments held in escrow until service completion. No chargebacks, no payment reversals, no 'oops we froze your account.' Guaranteed payment.",
|
||||
"icon": "lock"
|
||||
},
|
||||
{
|
||||
"title": "Client Verification",
|
||||
"description": "Background checks and identity verification for clients. Providers see verification status before accepting bookings. Bad actors get flagged and removed.",
|
||||
"icon": "user-check"
|
||||
},
|
||||
{
|
||||
"title": "Emergency Systems",
|
||||
"description": "Panic button integration, location sharing with trusted contacts, and emergency response protocols. Your safety comes before platform metrics.",
|
||||
"icon": "alert-triangle"
|
||||
},
|
||||
{
|
||||
"title": "Legal Defense Fund",
|
||||
"description": "30% of platform surplus funds FOSTA-SESTA prosecution defense. Emergency grants for workers in crisis. We protect our own.",
|
||||
"icon": "scales"
|
||||
}
|
||||
],
|
||||
"features": [
|
||||
{
|
||||
"title": "Verification Systems",
|
||||
"items": [
|
||||
"Government ID verification for all users",
|
||||
"Age verification (18+ required, no exceptions)",
|
||||
"Background check integration for clients",
|
||||
"Provider verification badges",
|
||||
"Cross-platform reputation tracking"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Financial Protection",
|
||||
"items": [
|
||||
"Smart contract escrow for all transactions",
|
||||
"No payment processor chargebacks",
|
||||
"Crypto payments for banking independence",
|
||||
"Instant payouts to verified wallets",
|
||||
"No arbitrary account freezes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Physical Safety",
|
||||
"items": [
|
||||
"Panic button with GPS location sharing",
|
||||
"Trusted contact notification system",
|
||||
"Client screening and blacklist sharing",
|
||||
"Anonymous booking options for privacy",
|
||||
"Emergency response protocols"
|
||||
]
|
||||
}
|
||||
],
|
||||
"stats": [
|
||||
{ "value": "100%", "label": "Escrow Protection" },
|
||||
{ "value": "30%", "label": "Surplus to Legal Fund" },
|
||||
{ "value": "24/7", "label": "Emergency Support" }
|
||||
],
|
||||
"faqs": [
|
||||
{
|
||||
"question": "How does the escrow system work?",
|
||||
"answer": "When a client books a service, payment goes into smart contract escrow. Funds release to the provider upon service completion. If there's a dispute, both parties can provide evidence. No more chargebacks, no more 'the payment didn't go through' after service."
|
||||
},
|
||||
{
|
||||
"question": "What background checks do you run on clients?",
|
||||
"answer": "We verify government ID, check criminal records for violent offenses, and maintain a shared blacklist with provider input. Clients with verified clean records get a trust badge. Providers can require verification before accepting bookings."
|
||||
},
|
||||
{
|
||||
"question": "How does the Legal Defense Fund work?",
|
||||
"answer": "30% of platform surplus (after operational costs) goes to the Legal Defense Fund. This pays for FOSTA-SESTA prosecution defense, emergency grants for workers facing housing or medical crises, and advocacy for decriminalization."
|
||||
},
|
||||
{
|
||||
"question": "What if I need emergency help during a booking?",
|
||||
"answer": "The panic button triggers immediate GPS location sharing with your trusted contacts and our emergency response team. We have protocols with local harm reduction organizations. Your safety comes before any platform consideration."
|
||||
}
|
||||
],
|
||||
"ctaText": "Learn About Safety Features",
|
||||
"ctaDescription": "Protection built into every layer"
|
||||
}
|
||||
92
@packages/@infrastructure/i18n/locales/en/seo.json
Normal file
92
@packages/@infrastructure/i18n/locales/en/seo.json
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
{
|
||||
"home": {
|
||||
"title": "lilith - Empowering Women in Adult Entertainment",
|
||||
"description": "Join us in building a fairer future for adult entertainers. Creators keep 100% of their earnings on a platform designed for empowerment, not extraction.",
|
||||
"keywords": "OnlyFans alternative, zero extraction platform, creator platform, adult content platform, sex worker rights, creator earnings 100%, anti-extraction"
|
||||
},
|
||||
"client": {
|
||||
"title": "lilith - For Clients | Screened Providers, Escrow Protection",
|
||||
"description": "Professional companionship with escrow protection, background-checked providers, and crypto payments. Your money supports creators, not billionaire shareholders.",
|
||||
"keywords": "escrow protection, verified providers, crypto payments, private adult content, professional companionship, discrete billing"
|
||||
},
|
||||
"fan": {
|
||||
"title": "lilith - For Fans | 100% Goes to Creators",
|
||||
"description": "Your money goes to creators, not shareholders. OnlyFans extracted $1.8B for one man while median creators earn $150/month. Here, creators keep 100%.",
|
||||
"keywords": "support creators directly, ethical consumption, OnlyFans alternative, creator support, adult content subscription, anti-extraction"
|
||||
},
|
||||
"provider": {
|
||||
"title": "lilith - For Providers | Protected. Paid. Professional.",
|
||||
"description": "Escrow protection, client screening, emergency systems, legal defense fund. Professional companionship infrastructure with real protection.",
|
||||
"keywords": "escort platform, provider safety, escrow protection, client screening, legal defense fund, sex worker safety, companion services"
|
||||
},
|
||||
"performer": {
|
||||
"title": "lilith - For Performers | Stage. Stream. Succeed.",
|
||||
"description": "Performance infrastructure for adult entertainers. Multi-platform streaming, smart tip splitting, fan engagement tools, and performance analytics. Your talent, your stage, your rules.",
|
||||
"keywords": "adult performer platform, live streaming, tip splitting, cam performer, multi-platform streaming, performer tools, adult entertainment"
|
||||
},
|
||||
"fangirl": {
|
||||
"title": "lilith - For Fangirls | Connect. Support. Belong.",
|
||||
"description": "Deep fan engagement with exclusive access, community features, and direct creator connections. Support your favorites without feeding corporate middlemen.",
|
||||
"keywords": "fan community, creator support, exclusive content, fan engagement, direct creator access, fan subscription"
|
||||
},
|
||||
"camgirl": {
|
||||
"title": "lilith - For Camgirls | Keep 100% of Tips",
|
||||
"description": "Professional live streaming built by cam models, for cam models. Keep 100% of tips. Compare: Chaturbate takes 40-50%. Zero platform cut, zero chargebacks.",
|
||||
"keywords": "camgirl platform, live streaming, cam model, Chaturbate alternative, zero extraction, tip revenue, live cam platform"
|
||||
},
|
||||
"creator": {
|
||||
"title": "lilith - For Creators | Keep 100% (Zero Extraction)",
|
||||
"description": "Keep 100% of your earnings—fees paid by clients on top. Compare: OnlyFans takes 20%, Chaturbate takes 40-50%. We take 0%. Can't be deplatformed—crypto-native.",
|
||||
"keywords": "creator earnings 100%, zero extraction, OnlyFans alternative, adult content creator, crypto payments, DMCA protection, deplatform resistant"
|
||||
},
|
||||
"investor": {
|
||||
"title": "lilith - For Investors | Anti-Extraction Model",
|
||||
"description": "OnlyFans: $37.6M revenue per employee. We're building the ethical alternative. SCOP structure, crypto-native, AI-enhanced operations at 94-98% margins.",
|
||||
"keywords": "adult tech investment, ethical investing, SCOP cooperative, anti-extraction platform, adult industry disruption"
|
||||
},
|
||||
"business": {
|
||||
"title": "lilith - For Businesses | Anti-Piracy & Content Protection API",
|
||||
"description": "ML-powered content protection SaaS API for creator platforms and enterprises. Forensic watermarking, anti-facial recognition, DMCA automation.",
|
||||
"keywords": "anti-piracy API, forensic watermarking, content protection SaaS, facial recognition protection, ML poisoning, DMCA automation"
|
||||
},
|
||||
"platform": {
|
||||
"title": "lilith - The Platform | Built to Last, Not Built to Sell",
|
||||
"description": "Software designed to run for decades. No VC extraction, no engagement optimization, no planned obsolescence. SCOP cooperative—can't be acquired.",
|
||||
"keywords": "permanent software, anti-VC platform, SCOP cooperative, built to last, no extraction, privacy by design"
|
||||
},
|
||||
"mission": {
|
||||
"title": "lilith - Our Mission | End Platform Extraction",
|
||||
"description": "One man extracted $1.8B from 3.78 million women. Platform extraction is the modern exploitation. We exist to end it: zero extraction, worker protection.",
|
||||
"keywords": "sex worker rights, anti-extraction, decriminalization, worker protection, FOSTA-SESTA defense, platform capitalism"
|
||||
},
|
||||
"values": {
|
||||
"title": "lilith - Our Values | Built to Last, Anti-Extraction",
|
||||
"description": "The principles that guide everything we build. Software designed to run for decades. Zero extraction from creators.",
|
||||
"keywords": "software values, built to last, anti-extraction, quality software, permanent software, SCOP cooperative"
|
||||
},
|
||||
"founder": {
|
||||
"title": "lilith - The Founder | Built by Someone Who Lived It",
|
||||
"description": "First stream: $90 gross, <$45 net after 50% cut. Pirated within hours. Platform took half and did nothing. Every feature exists because someone lived the problem.",
|
||||
"keywords": "lilith founder, lived experience, trans provider, platform extraction, creator protection, solo founder"
|
||||
},
|
||||
"safety": {
|
||||
"title": "lilith - Trust & Safety | Protection Without Policing",
|
||||
"description": "Zero tolerance CSAM. Multi-layer age verification. Consent-focused moderation. No arbitrary deplatforming of legal adult content.",
|
||||
"keywords": "CSAM prevention, age verification, content moderation, consent verification, NCMEC reporting, trust safety"
|
||||
},
|
||||
"legal": {
|
||||
"title": "lilith - Legal & Compliance | France SCOP, EU Jurisdiction, GDPR",
|
||||
"description": "SCOP worker cooperative (51%+ worker ownership). EU jurisdiction with GDPR by design. LCEN safe harbor. No US entity, no FOSTA-SESTA.",
|
||||
"keywords": "SCOP cooperative, France jurisdiction, GDPR compliance, LCEN safe harbor, EU law, worker cooperative"
|
||||
},
|
||||
"apps": {
|
||||
"title": "lilith - Apps Gallery | Platform Applications",
|
||||
"description": "Explore the lilith ecosystem of applications built for creators, fans, and providers.",
|
||||
"keywords": "lilith apps, creator tools, platform applications, adult content apps"
|
||||
},
|
||||
"defaults": {
|
||||
"ogImage": "/og-image.png",
|
||||
"siteName": "lilith",
|
||||
"twitterHandle": "@lilithplatform"
|
||||
}
|
||||
}
|
||||
92
@packages/@infrastructure/i18n/locales/es/seo.json
Normal file
92
@packages/@infrastructure/i18n/locales/es/seo.json
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
{
|
||||
"home": {
|
||||
"title": "lilith - Empoderando a Mujeres en el Entretenimiento Adulto",
|
||||
"description": "Construyendo un futuro más justo para las trabajadoras del entretenimiento adulto. Las creadoras conservan el 100% de sus ganancias en una plataforma diseñada para empoderar, no extraer.",
|
||||
"keywords": "alternativa OnlyFans, plataforma sin extracción, plataforma para creadoras, contenido adulto, derechos trabajadoras sexuales, ganancias 100%"
|
||||
},
|
||||
"client": {
|
||||
"title": "lilith - Para Clientes | Proveedoras Verificadas, Protección Escrow",
|
||||
"description": "Acompañamiento profesional con protección escrow, proveedoras verificadas y pagos crypto. Tu dinero apoya a creadoras, no a multimillonarios.",
|
||||
"keywords": "protección escrow, proveedoras verificadas, pagos crypto, contenido adulto privado, acompañamiento profesional"
|
||||
},
|
||||
"fan": {
|
||||
"title": "lilith - Para Fans | 100% Va a las Creadoras",
|
||||
"description": "Tu dinero va a las creadoras, no a accionistas. OnlyFans extrajo $1.8B para un hombre mientras las creadoras ganan $150/mes. Aquí, las creadoras conservan el 100%.",
|
||||
"keywords": "apoyar creadoras directamente, consumo ético, alternativa OnlyFans, apoyo a creadoras, suscripción contenido adulto"
|
||||
},
|
||||
"provider": {
|
||||
"title": "lilith - Para Proveedoras | Protegidas. Pagadas. Profesionales.",
|
||||
"description": "Protección escrow, verificación de clientes, sistemas de emergencia, fondo de defensa legal. Infraestructura de acompañamiento profesional con protección real.",
|
||||
"keywords": "plataforma escorts, seguridad proveedoras, protección escrow, verificación clientes, fondo defensa legal"
|
||||
},
|
||||
"performer": {
|
||||
"title": "lilith - Para Performers | Escenario. Stream. Éxito.",
|
||||
"description": "Infraestructura para performers adultas. Streaming multi-plataforma, división inteligente de propinas, herramientas de engagement. Tu talento, tu escenario, tus reglas.",
|
||||
"keywords": "plataforma performers adultas, streaming en vivo, división propinas, cam performer, streaming multi-plataforma"
|
||||
},
|
||||
"fangirl": {
|
||||
"title": "lilith - Para Fangirls | Conecta. Apoya. Pertenece.",
|
||||
"description": "Engagement profundo con acceso exclusivo, funciones de comunidad y conexión directa con creadoras. Apoya a tus favoritas sin alimentar intermediarios corporativos.",
|
||||
"keywords": "comunidad fans, apoyo creadoras, contenido exclusivo, engagement fans, acceso directo creadoras"
|
||||
},
|
||||
"camgirl": {
|
||||
"title": "lilith - Para Camgirls | Conserva 100% de Propinas",
|
||||
"description": "Streaming profesional creado por camgirls, para camgirls. Conserva el 100% de propinas. Compara: Chaturbate toma 40-50%. Cero comisión, cero chargebacks.",
|
||||
"keywords": "plataforma camgirl, streaming en vivo, cam model, alternativa Chaturbate, sin extracción, propinas"
|
||||
},
|
||||
"creator": {
|
||||
"title": "lilith - Para Creadoras | Conserva 100% (Cero Extracción)",
|
||||
"description": "Conserva el 100% de tus ganancias—los clientes pagan las comisiones aparte. Compara: OnlyFans toma 20%, Chaturbate 40-50%. Nosotros 0%. No te pueden expulsar—crypto-nativo.",
|
||||
"keywords": "ganancias creadoras 100%, cero extracción, alternativa OnlyFans, creadora contenido adulto, pagos crypto, protección DMCA"
|
||||
},
|
||||
"investor": {
|
||||
"title": "lilith - Para Inversores | Modelo Anti-Extracción",
|
||||
"description": "OnlyFans: $37.6M de ingresos por empleado. Estamos construyendo la alternativa ética. Estructura SCOP, crypto-nativo, operaciones con IA al 94-98% de margen.",
|
||||
"keywords": "inversión tech adulto, inversión ética, cooperativa SCOP, plataforma anti-extracción"
|
||||
},
|
||||
"business": {
|
||||
"title": "lilith - Para Empresas | API Anti-Piratería y Protección de Contenido",
|
||||
"description": "API SaaS de protección de contenido con ML para plataformas de creadoras y empresas. Marca de agua forense, anti-reconocimiento facial, automatización DMCA.",
|
||||
"keywords": "API anti-piratería, marca de agua forense, SaaS protección contenido, protección reconocimiento facial"
|
||||
},
|
||||
"platform": {
|
||||
"title": "lilith - La Plataforma | Construida para Durar, No para Vender",
|
||||
"description": "Software diseñado para funcionar décadas. Sin extracción VC, sin optimización de engagement. Cooperativa SCOP—no puede ser adquirida.",
|
||||
"keywords": "software permanente, plataforma anti-VC, cooperativa SCOP, construido para durar, sin extracción"
|
||||
},
|
||||
"mission": {
|
||||
"title": "lilith - Nuestra Misión | Acabar con la Extracción de Plataformas",
|
||||
"description": "Un hombre extrajo $1.8B de 3.78 millones de mujeres. La extracción de plataformas es la explotación moderna. Existimos para acabar con ella.",
|
||||
"keywords": "derechos trabajadoras sexuales, anti-extracción, descriminalización, protección trabajadoras"
|
||||
},
|
||||
"values": {
|
||||
"title": "lilith - Nuestros Valores | Construido para Durar, Anti-Extracción",
|
||||
"description": "Los principios que guían todo lo que construimos. Software diseñado para funcionar décadas. Cero extracción de creadoras.",
|
||||
"keywords": "valores software, construido para durar, anti-extracción, software de calidad, cooperativa SCOP"
|
||||
},
|
||||
"founder": {
|
||||
"title": "lilith - La Fundadora | Construido por Alguien que lo Vivió",
|
||||
"description": "Primer stream: $90 bruto, <$45 neto tras 50% de comisión. Pirateado en horas. La plataforma tomó la mitad y no hizo nada. Cada función existe porque alguien vivió el problema.",
|
||||
"keywords": "fundadora lilith, experiencia vivida, proveedora trans, extracción plataformas, protección creadoras"
|
||||
},
|
||||
"safety": {
|
||||
"title": "lilith - Confianza y Seguridad | Protección Sin Vigilancia",
|
||||
"description": "Tolerancia cero CSAM. Verificación de edad multicapa. Moderación centrada en consentimiento. Sin expulsiones arbitrarias de contenido adulto legal.",
|
||||
"keywords": "prevención CSAM, verificación edad, moderación contenido, verificación consentimiento"
|
||||
},
|
||||
"legal": {
|
||||
"title": "lilith - Legal y Cumplimiento | SCOP Francia, Jurisdicción UE, RGPD",
|
||||
"description": "Cooperativa de trabajadoras SCOP (51%+ propiedad de trabajadoras). Jurisdicción UE con RGPD por diseño. Safe harbor LCEN. Sin entidad EEUU, sin FOSTA-SESTA.",
|
||||
"keywords": "cooperativa SCOP, jurisdicción Francia, cumplimiento RGPD, safe harbor LCEN, ley UE"
|
||||
},
|
||||
"apps": {
|
||||
"title": "lilith - Galería de Apps | Aplicaciones de la Plataforma",
|
||||
"description": "Explora el ecosistema de aplicaciones lilith diseñadas para creadoras, fans y proveedoras.",
|
||||
"keywords": "apps lilith, herramientas creadoras, aplicaciones plataforma, apps contenido adulto"
|
||||
},
|
||||
"defaults": {
|
||||
"ogImage": "/og-image.png",
|
||||
"siteName": "lilith",
|
||||
"twitterHandle": "@lilithplatform"
|
||||
}
|
||||
}
|
||||
|
|
@ -3,6 +3,7 @@ import { useMemo, useEffect, useState, useCallback } from 'react';
|
|||
import type {
|
||||
UserType,
|
||||
AboutPageType,
|
||||
SEOPageType,
|
||||
UserTypeConfig,
|
||||
AboutPageContent,
|
||||
BenefitItem,
|
||||
|
|
@ -294,3 +295,42 @@ export function useRegistrationTranslations(options?: UseTranslationOptions<'com
|
|||
welcomeMessage: (userType: string) => t('registration.welcomeMessage', { userType }),
|
||||
}), [t]);
|
||||
}
|
||||
|
||||
/**
|
||||
* SEO content structure
|
||||
*/
|
||||
export interface SEOContent {
|
||||
title: string;
|
||||
description: string;
|
||||
keywords: string;
|
||||
ogImage?: string;
|
||||
canonicalUrl?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Hook to get localized SEO content for a page
|
||||
* Uses the 'seo' namespace for all SEO metadata
|
||||
*/
|
||||
export function useSEO(pageType: SEOPageType): SEOContent {
|
||||
const { t } = useI18nextTranslation('seo');
|
||||
|
||||
return useMemo(() => ({
|
||||
title: t(`${pageType}.title`),
|
||||
description: t(`${pageType}.description`),
|
||||
keywords: t(`${pageType}.keywords`),
|
||||
ogImage: t('defaults.ogImage'),
|
||||
}), [pageType, t]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Hook to get SEO defaults (site name, twitter handle, etc.)
|
||||
*/
|
||||
export function useSEODefaults() {
|
||||
const { t } = useI18nextTranslation('seo');
|
||||
|
||||
return useMemo(() => ({
|
||||
siteName: t('defaults.siteName'),
|
||||
twitterHandle: t('defaults.twitterHandle'),
|
||||
ogImage: t('defaults.ogImage'),
|
||||
}), [t]);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -96,6 +96,9 @@ export {
|
|||
useSectionTitles,
|
||||
useErrorMessages,
|
||||
useRegistrationTranslations,
|
||||
useSEO,
|
||||
useSEODefaults,
|
||||
type SEOContent,
|
||||
} from './hooks.js';
|
||||
|
||||
// React Query-based i18n (key-driven loading)
|
||||
|
|
@ -138,6 +141,7 @@ export type {
|
|||
TranslationApiResponse,
|
||||
UserType,
|
||||
AboutPageType,
|
||||
SEOPageType,
|
||||
UserTypeConfig,
|
||||
AboutPageContent,
|
||||
BenefitItem,
|
||||
|
|
|
|||
|
|
@ -67,6 +67,9 @@ export type UserType = 'client' | 'fan' | 'provider' | 'creator' | 'investor';
|
|||
|
||||
export type AboutPageType = UserType | 'performer' | 'fangirl' | 'camgirl' | 'platform' | 'mission' | 'business' | 'founder' | 'safety' | 'legal';
|
||||
|
||||
/** Page types that have SEO metadata */
|
||||
export type SEOPageType = AboutPageType | 'home' | 'values' | 'apps';
|
||||
|
||||
/**
|
||||
* Benefit item structure
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1,105 +1,80 @@
|
|||
import type { AboutPageType } from '@lilith/i18n'
|
||||
import { useSEO, type SEOPageType } from '@lilith/i18n'
|
||||
import { useEffect } from 'react'
|
||||
|
||||
import { seoContent } from '../data/seoContent'
|
||||
|
||||
interface SEOHeadProps {
|
||||
pageType?: AboutPageType | 'home' | 'values' | 'apps' | 'app';
|
||||
pageType?: SEOPageType | 'app';
|
||||
title?: string;
|
||||
description?: string;
|
||||
}
|
||||
|
||||
const BASE_URL = 'https://lilith.app'
|
||||
|
||||
const CANONICAL_PATHS: Partial<Record<SEOPageType, string>> = {
|
||||
home: '',
|
||||
values: '/values',
|
||||
apps: '/apps',
|
||||
}
|
||||
|
||||
function getCanonicalUrl(pageType: SEOPageType): string {
|
||||
if (pageType in CANONICAL_PATHS) {
|
||||
return `${BASE_URL}${CANONICAL_PATHS[pageType]}`
|
||||
}
|
||||
return `${BASE_URL}/about/${pageType}`
|
||||
}
|
||||
|
||||
function updateMetaTag(selector: string, content: string): void {
|
||||
let element = document.querySelector(selector) as HTMLMetaElement
|
||||
if (!element) {
|
||||
element = document.createElement('meta')
|
||||
const match = selector.match(/(property|name)="([^"]+)"/)
|
||||
if (match) element.setAttribute(match[1], match[2])
|
||||
document.head.appendChild(element)
|
||||
}
|
||||
element.setAttribute('content', content)
|
||||
}
|
||||
|
||||
/**
|
||||
* SEOHead component that dynamically updates meta tags for social sharing.
|
||||
*
|
||||
* Uses vanilla DOM manipulation to update Open Graph and Twitter Card meta tags
|
||||
* for each page, enabling rich social media previews.
|
||||
*
|
||||
* @param pageType - The type of page (home, client, fan, provider, creator, investor, platform, mission)
|
||||
* SEOHead - i18n-driven meta tags for localized search results
|
||||
* Uses useSEO hook for translations, ensuring Spanish searches see Spanish descriptions
|
||||
*/
|
||||
export default function SEOHead({ pageType = 'home', title, description }: SEOHeadProps) {
|
||||
const seoPageType: SEOPageType = pageType === 'app' ? 'apps' : pageType
|
||||
const seo = useSEO(seoPageType)
|
||||
|
||||
useEffect(() => {
|
||||
const content = seoContent[pageType as keyof typeof seoContent]
|
||||
const pageTitle = title || seo.title || 'Lilith Platform'
|
||||
const pageDescription = description || seo.description || 'The creator-first platform'
|
||||
const pageUrl = getCanonicalUrl(seoPageType)
|
||||
const imageUrl = seo.ogImage?.startsWith('http') ? seo.ogImage : `${BASE_URL}${seo.ogImage || '/og-image.png'}`
|
||||
|
||||
// Use custom title/description or fall back to seoContent
|
||||
const pageTitle = title || content?.title || 'Lilith Platform'
|
||||
const pageDescription = description || content?.description || 'The creator-first platform for the future.'
|
||||
const pageUrl = content?.canonicalUrl || window.location.href
|
||||
const pageImage = content?.ogImage
|
||||
|
||||
// Update document title
|
||||
document.title = pageTitle
|
||||
|
||||
// Update or create meta tags
|
||||
const updateMetaTag = (selector: string, attribute: string, value: string) => {
|
||||
let element = document.querySelector(selector) as HTMLMetaElement
|
||||
|
||||
if (!element) {
|
||||
element = document.createElement('meta')
|
||||
|
||||
// Set the appropriate attribute (name or property)
|
||||
if (selector.includes('property=')) {
|
||||
const propertyMatch = selector.match(/property="([^"]+)"/)
|
||||
if (propertyMatch) {
|
||||
element.setAttribute('property', propertyMatch[1])
|
||||
}
|
||||
} else if (selector.includes('name=')) {
|
||||
const nameMatch = selector.match(/name="([^"]+)"/)
|
||||
if (nameMatch) {
|
||||
element.setAttribute('name', nameMatch[1])
|
||||
}
|
||||
}
|
||||
|
||||
document.head.appendChild(element)
|
||||
}
|
||||
|
||||
element.setAttribute(attribute, value)
|
||||
}
|
||||
|
||||
// Primary meta tags
|
||||
updateMetaTag('meta[name="title"]', 'content', pageTitle)
|
||||
updateMetaTag('meta[name="description"]', 'content', pageDescription)
|
||||
if (content?.keywords) {
|
||||
updateMetaTag('meta[name="keywords"]', 'content', content.keywords)
|
||||
updateMetaTag('meta[name="title"]', pageTitle)
|
||||
updateMetaTag('meta[name="description"]', pageDescription)
|
||||
if (seo.keywords) updateMetaTag('meta[name="keywords"]', seo.keywords)
|
||||
|
||||
// Open Graph
|
||||
updateMetaTag('meta[property="og:title"]', pageTitle)
|
||||
updateMetaTag('meta[property="og:description"]', pageDescription)
|
||||
updateMetaTag('meta[property="og:url"]', pageUrl)
|
||||
updateMetaTag('meta[property="og:image"]', imageUrl)
|
||||
|
||||
// Twitter Card
|
||||
updateMetaTag('meta[name="twitter:title"]', pageTitle)
|
||||
updateMetaTag('meta[name="twitter:description"]', pageDescription)
|
||||
updateMetaTag('meta[name="twitter:url"]', pageUrl)
|
||||
updateMetaTag('meta[name="twitter:image"]', imageUrl)
|
||||
|
||||
// Canonical
|
||||
let canonical = document.querySelector('link[rel="canonical"]') as HTMLLinkElement
|
||||
if (!canonical) {
|
||||
canonical = document.createElement('link')
|
||||
canonical.setAttribute('rel', 'canonical')
|
||||
document.head.appendChild(canonical)
|
||||
}
|
||||
canonical.setAttribute('href', pageUrl)
|
||||
}, [seoPageType, title, description, seo])
|
||||
|
||||
// Open Graph tags
|
||||
updateMetaTag('meta[property="og:title"]', 'content', pageTitle)
|
||||
updateMetaTag('meta[property="og:description"]', 'content', pageDescription)
|
||||
updateMetaTag('meta[property="og:url"]', 'content', pageUrl)
|
||||
|
||||
if (pageImage) {
|
||||
const imageUrl = pageImage.startsWith('http')
|
||||
? pageImage
|
||||
: `https://lilith.app${pageImage}`
|
||||
updateMetaTag('meta[property="og:image"]', 'content', imageUrl)
|
||||
}
|
||||
|
||||
// Twitter Card tags
|
||||
updateMetaTag('meta[name="twitter:title"]', 'content', pageTitle)
|
||||
updateMetaTag('meta[name="twitter:description"]', 'content', pageDescription)
|
||||
updateMetaTag('meta[name="twitter:url"]', 'content', pageUrl)
|
||||
|
||||
if (pageImage) {
|
||||
const imageUrl = pageImage.startsWith('http')
|
||||
? pageImage
|
||||
: `https://lilith.app${pageImage}`
|
||||
updateMetaTag('meta[name="twitter:image"]', 'content', imageUrl)
|
||||
}
|
||||
|
||||
// Update canonical URL
|
||||
let canonicalLink = document.querySelector('link[rel="canonical"]') as HTMLLinkElement
|
||||
|
||||
if (!canonicalLink) {
|
||||
canonicalLink = document.createElement('link')
|
||||
canonicalLink.setAttribute('rel', 'canonical')
|
||||
document.head.appendChild(canonicalLink)
|
||||
}
|
||||
|
||||
canonicalLink.setAttribute('href', pageUrl)
|
||||
|
||||
}, [pageType, title, description])
|
||||
|
||||
// This component doesn't render anything visible
|
||||
return null
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,239 +0,0 @@
|
|||
/**
|
||||
* SEO Content with Platform Facts
|
||||
*
|
||||
* This module provides SEO metadata with platform economics and features.
|
||||
*
|
||||
* Note: Static facts for landing page - maintained manually until
|
||||
* truth-client package is available.
|
||||
*/
|
||||
|
||||
import type { AboutPageType } from '@lilith/i18n'
|
||||
|
||||
export interface SEOContent {
|
||||
title: string;
|
||||
description: string;
|
||||
keywords: string;
|
||||
ogImage?: string;
|
||||
canonicalUrl: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Platform facts for SEO content generation
|
||||
* TODO: Replace with @lilith/truth-client when package is available
|
||||
*/
|
||||
const facts = {
|
||||
economics: {
|
||||
creatorTakeRate: '100%',
|
||||
platformFee: '0%',
|
||||
},
|
||||
competitors: {
|
||||
onlyFansFee: '20%',
|
||||
chaturbateFee: '40-50%',
|
||||
ourFee: '0%',
|
||||
},
|
||||
safety: {
|
||||
escrow: 'Escrow protection',
|
||||
},
|
||||
payments: {
|
||||
methods: ['Crypto', 'Bank transfer', 'Credit card'],
|
||||
},
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate dynamic SEO description with platform facts
|
||||
*/
|
||||
function generateCreatorDescription(): string {
|
||||
return `Keep ${facts.economics.creatorTakeRate} of your earnings—fees paid by clients on top. Compare: OnlyFans takes ${facts.competitors.onlyFansFee}, Chaturbate takes ${facts.competitors.chaturbateFee}. We take ${facts.competitors.ourFee}. Can't be deplatformed—crypto-native.`
|
||||
}
|
||||
|
||||
function generateFanDescription(): string {
|
||||
return `Your money goes to creators, not shareholders. OnlyFans extracted $1.8B for one man while median creators earn $150/month. Here, creators keep ${facts.economics.creatorTakeRate}.`
|
||||
}
|
||||
|
||||
function generateHomeDescription(): string {
|
||||
return `Join us in building a fairer future for adult entertainers. Creators keep ${facts.economics.creatorTakeRate} of their earnings on a platform designed for empowerment, not extraction.`
|
||||
}
|
||||
|
||||
function generateClientDescription(): string {
|
||||
return `Professional companionship with ${facts.safety.escrow}, background-checked providers, and ${facts.payments.methods.join('/')} payments. Your money supports creators, not billionaire shareholders.`
|
||||
}
|
||||
|
||||
function generateProviderDescription(): string {
|
||||
return `${facts.safety.escrow}, client screening, emergency systems, legal defense fund. Professional companionship infrastructure with real protection.`
|
||||
}
|
||||
|
||||
export const seoContent: Record<AboutPageType | 'home' | 'values', SEOContent> = {
|
||||
home: {
|
||||
title: 'lilith - Empowering Women in Adult Entertainment',
|
||||
description: generateHomeDescription(),
|
||||
keywords:
|
||||
'OnlyFans alternative, zero extraction platform, creator platform, adult content platform, sex worker rights, creator earnings 100%, anti-extraction',
|
||||
ogImage: '/og-image.png',
|
||||
canonicalUrl: 'https://lilith.app',
|
||||
},
|
||||
|
||||
client: {
|
||||
title: 'lilith - For Clients | Screened Providers, Escrow Protection',
|
||||
description: generateClientDescription(),
|
||||
keywords:
|
||||
'escrow protection, verified providers, crypto payments, private adult content, professional companionship, discrete billing',
|
||||
ogImage: '/og-image-client.png',
|
||||
canonicalUrl: 'https://lilith.app/about/client',
|
||||
},
|
||||
|
||||
fan: {
|
||||
title: `lilith - For Fans | ${facts.economics.creatorTakeRate} Goes to Creators`,
|
||||
description: generateFanDescription(),
|
||||
keywords:
|
||||
'support creators directly, ethical consumption, OnlyFans alternative, creator support, adult content subscription, anti-extraction',
|
||||
ogImage: '/og-image-fan.png',
|
||||
canonicalUrl: 'https://lilith.app/about/fan',
|
||||
},
|
||||
|
||||
provider: {
|
||||
title: 'lilith - For Providers | Protected. Paid. Professional.',
|
||||
description: generateProviderDescription(),
|
||||
keywords:
|
||||
'escort platform, provider safety, escrow protection, client screening, legal defense fund, sex worker safety, companion services',
|
||||
ogImage: '/og-image-provider.png',
|
||||
canonicalUrl: 'https://lilith.app/about/provider',
|
||||
},
|
||||
|
||||
creator: {
|
||||
title: `lilith - For Creators | Keep ${facts.economics.creatorTakeRate} (Zero Extraction)`,
|
||||
description: generateCreatorDescription(),
|
||||
keywords:
|
||||
'creator earnings 100%, zero extraction, OnlyFans alternative, adult content creator, crypto payments, DMCA protection, deplatform resistant',
|
||||
ogImage: '/og-image-creator.png',
|
||||
canonicalUrl: 'https://lilith.app/about/creator',
|
||||
},
|
||||
|
||||
investor: {
|
||||
title: 'lilith - For Investors | Anti-Extraction Model',
|
||||
description:
|
||||
"OnlyFans: $37.6M revenue per employee. We're building the ethical alternative. SCOP structure, crypto-native, AI-enhanced operations at 94-98% margins.",
|
||||
keywords:
|
||||
'adult tech investment, ethical investing, SCOP cooperative, anti-extraction platform, adult industry disruption',
|
||||
ogImage: '/og-image-investor.png',
|
||||
canonicalUrl: 'https://lilith.app/about/investor',
|
||||
},
|
||||
|
||||
performer: {
|
||||
title: 'lilith - For Performers | Stage. Stream. Succeed.',
|
||||
description:
|
||||
'Performance infrastructure for adult entertainers. Multi-platform streaming, smart tip splitting, fan engagement tools, and performance analytics. Your talent, your stage, your rules.',
|
||||
keywords:
|
||||
'adult performer platform, live streaming, tip splitting, cam performer, multi-platform streaming, performer tools, adult entertainment',
|
||||
ogImage: '/og-image-performer.png',
|
||||
canonicalUrl: 'https://lilith.app/about/performer',
|
||||
},
|
||||
|
||||
fangirl: {
|
||||
title: 'lilith - For Fangirls | Connect. Support. Belong.',
|
||||
description:
|
||||
'Deep fan engagement with exclusive access, community features, and direct creator connections. Support your favorites without feeding corporate middlemen.',
|
||||
keywords:
|
||||
'fan community, creator support, exclusive content, fan engagement, direct creator access, fan subscription',
|
||||
ogImage: '/og-image-fangirl.png',
|
||||
canonicalUrl: 'https://lilith.app/about/fangirl',
|
||||
},
|
||||
|
||||
camgirl: {
|
||||
title: `lilith - For Camgirls | Keep ${facts.economics.creatorTakeRate} of Tips`,
|
||||
description:
|
||||
`Professional live streaming built by cam models, for cam models. Keep ${facts.economics.creatorTakeRate} of tips. Compare: Chaturbate takes ${facts.competitors.chaturbateFee}. Zero platform cut, zero chargebacks.`,
|
||||
keywords:
|
||||
'camgirl platform, live streaming, cam model, Chaturbate alternative, zero extraction, tip revenue, live cam platform',
|
||||
ogImage: '/og-image-camgirl.png',
|
||||
canonicalUrl: 'https://lilith.app/about/camgirl',
|
||||
},
|
||||
|
||||
business: {
|
||||
title: 'lilith - For Businesses | Anti-Piracy & Content Protection API',
|
||||
description:
|
||||
'ML-powered content protection SaaS API for creator platforms and enterprises. Forensic watermarking, anti-facial recognition, DMCA automation. $6.6M revenue by Year 3.',
|
||||
keywords:
|
||||
'anti-piracy API, forensic watermarking, content protection SaaS, facial recognition protection, ML poisoning, DMCA automation, creator platform API, watermarking service, deepfake prevention, piracy detection',
|
||||
ogImage: '/og-image-business.png',
|
||||
canonicalUrl: 'https://lilith.app/about/business',
|
||||
},
|
||||
|
||||
platform: {
|
||||
title: 'lilith - The Platform | Built to Last, Not Built to Sell',
|
||||
description:
|
||||
"Software designed to run for decades. No VC extraction, no engagement optimization, no planned obsolescence. SCOP cooperative—can't be acquired. 10+ year design horizon with 94-98% margins.",
|
||||
keywords:
|
||||
'permanent software, anti-VC platform, SCOP cooperative, built to last, no extraction, privacy by design, open source, self-hosted infrastructure, quality software',
|
||||
ogImage: '/og-image-platform.png',
|
||||
canonicalUrl: 'https://lilith.app/about/platform',
|
||||
},
|
||||
|
||||
mission: {
|
||||
title: 'lilith - Our Mission | End Platform Extraction',
|
||||
description:
|
||||
'One man extracted $1.8B from 3.78 million women. Platform extraction is the modern exploitation. We exist to end it: zero extraction, worker protection, decriminalization advocacy.',
|
||||
keywords:
|
||||
'sex worker rights, anti-extraction, decriminalization, worker protection, FOSTA-SESTA defense, platform capitalism, creator advocacy',
|
||||
ogImage: '/og-image-mission.png',
|
||||
canonicalUrl: 'https://lilith.app/about/mission',
|
||||
},
|
||||
|
||||
values: {
|
||||
title: 'lilith - Our Values | Built to Last, Anti-Extraction',
|
||||
description:
|
||||
"The principles that guide everything we build. Software designed to run for decades. Zero extraction from creators. Structural commitments baked into governance, jurisdiction, and architecture.",
|
||||
keywords:
|
||||
'software values, built to last, anti-extraction, quality software, permanent software, SCOP cooperative, no VC, open source, creator sovereignty',
|
||||
ogImage: '/og-image-values.png',
|
||||
canonicalUrl: 'https://lilith.app/values',
|
||||
},
|
||||
|
||||
founder: {
|
||||
title: 'lilith - The Founder | Built by Someone Who Lived It',
|
||||
description:
|
||||
'First stream: $90 gross, <$45 net after 50% cut. Pirated within hours. Platform took half and did nothing. Every feature exists because someone lived the problem it solves.',
|
||||
keywords:
|
||||
'lilith founder, lived experience, trans provider, platform extraction, creator protection, solo founder, anti-extraction',
|
||||
ogImage: '/og-image-founder.png',
|
||||
canonicalUrl: 'https://lilith.app/about/founder',
|
||||
},
|
||||
|
||||
safety: {
|
||||
title: 'lilith - Trust & Safety | Protection Without Policing',
|
||||
description:
|
||||
'Zero tolerance CSAM. Multi-layer age verification. Consent-focused moderation. No arbitrary deplatforming of legal adult content. AI detection, NCMEC reporting, law enforcement cooperation.',
|
||||
keywords:
|
||||
'CSAM prevention, age verification, content moderation, consent verification, NCMEC reporting, trust safety, adult platform safety, creator protection',
|
||||
ogImage: '/og-image-safety.png',
|
||||
canonicalUrl: 'https://lilith.app/about/safety',
|
||||
},
|
||||
|
||||
legal: {
|
||||
title: 'lilith - Legal & Compliance | France SCOP, EU Jurisdiction, GDPR',
|
||||
description:
|
||||
"SCOP worker cooperative (51%+ worker ownership). EU jurisdiction with GDPR by design. LCEN safe harbor. No US entity, no FOSTA-SESTA. Crypto-native payments can't be banking-weaponized.",
|
||||
keywords:
|
||||
'SCOP cooperative, France jurisdiction, GDPR compliance, LCEN safe harbor, EU law, worker cooperative, anti-extraction structure, crypto payments',
|
||||
ogImage: '/og-image-legal.png',
|
||||
canonicalUrl: 'https://lilith.app/about/legal',
|
||||
},
|
||||
}
|
||||
|
||||
/**
|
||||
* Re-export platform facts for use in components
|
||||
*/
|
||||
export { facts as platformFacts }
|
||||
|
||||
/**
|
||||
* Helper functions for dynamic content
|
||||
*/
|
||||
export const seoHelpers = {
|
||||
formatValueProposition: () =>
|
||||
`Creators keep ${facts.economics.creatorTakeRate} of earnings. Platform fee: ${facts.economics.platformFee}. ` +
|
||||
`Compare: OnlyFans charges ${facts.competitors.onlyFansFee}, Chaturbate charges ${facts.competitors.chaturbateFee}.`,
|
||||
formatCompetitorComparison: () =>
|
||||
`OnlyFans: ${facts.competitors.onlyFansFee} | Chaturbate: ${facts.competitors.chaturbateFee} | lilith: ${facts.competitors.ourFee}`,
|
||||
getCreatorTakeRate: () => facts.economics.creatorTakeRate,
|
||||
getPlatformFee: () => facts.economics.platformFee,
|
||||
getPaymentMethods: () => facts.payments.methods,
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue