O navegador fala com um servidor Node 24 que concentra API, webhooks, mídia e cabeçalhos de segurança, e repassa as páginas ao front em Next.js. Os dados ficam em PostgreSQL 18 privado, acessado por papéis sem permissão de contornar RLS, com conteúdo privado cifrado. Workers separados tratam e-mail, listas, campanhas, redes sociais e conciliação de cobrança. Provedores externos entram por adaptadores isolados.
- Front
- Next.js 16, React 19, TypeScript e Tailwind 4, com Radix UI, React Hook Form, Zod, TanStack Query, dnd-kit para ordenar blocos e Motion para animações com movimento reduzido. Telas do site público, conta, editor, página do criador, telas do visitante e painel. Uma camada de proxy gera um nonce por requisição para a CSP e trata idioma e o endereço público do criador.
- Idiomas
- Dez idiomas (pt, en, es, fr, de, it, ja, ko, id, tr) com um arquivo por idioma para telas, frases do painel, 49 artigos de ajuda, matriz de planos e e-mails. Detecção na primeira visita, seletor com nomes nativos e idioma salvo na conta. Um verificador confere chaves, marcadores e listas em todos os catálogos.
- Servidor
- Node 24 com módulos por domínio (autenticação, catálogo, comércio, comissão, agenda, acesso a cursos, indicações, verificação, mensagens, campanhas, redes, consentimento). Sessões opacas em cookie HttpOnly, MFA por TOTP obrigatório para administradores com sessão mais curta, conferência de host, limites de requisição, CSRF e cabeçalhos de segurança. Dependências diretas mínimas: pg, argon2, jose, otpauth e sharp.
- Dados
- PostgreSQL 18 compilado a partir do código oficial, acessível só por socket local. 64 migrações; RLS habilitada e forçada nas tabelas de proprietário, com mais de 60 políticas, e papéis de aplicação criados sem BYPASSRLS. O contexto do usuário é definido dentro de cada transação para não vazar entre conexões do pool. Conteúdo privado cifrado com AES-256-GCM e hash Argon2id na autenticação.
- Pagamentos
- Modelo de cobrança de destino da Stripe Connect: a venda é repassada à conta do criador e a comissão do plano mais a taxa estimada do provedor seguem como taxa da plataforma. O webhook confere assinatura, valor, moeda, destino e taxa antes de marcar o pedido como pago. Assinaturas com teste de 30 dias, troca de plano com prorrateio e conciliação de eventos fora de ordem.
- Operação e privacidade
- Workers de e-mail, listas, campanhas e redes sociais, conciliação de cobrança, limpeza com prazos de retenção definidos, backup cifrado com restauração testada, interruptores de emergência por provedor e por espaço e verificação de prontidão. Consentimento de cookies que bloqueia medição e marketing até a escolha do visitante.