Threaded discussionsHilos de discusión
Nested replies up to 10 levels deep, with smart ranking that takes likes, recency and author trust into account. Cursor pagination keeps the thread stable even when scores change mid-scroll. Respuestas anidadas hasta 10 niveles, con ranking inteligente que considera likes, recencia y trust del autor. La paginación por cursor mantiene el hilo estable aunque los scores cambien mientras se scrollea.
Compound score+id cursors prevent gaps and duplicates. A 10-minute sidecar cache hydrates the user's likes & bookmarks separately from the thread payload. Cursores compuestos por score+id evitan saltos y duplicados. Un sidecar de 10 min hidrata los likes y bookmarks del usuario por separado del payload del hilo.
AI moderationModeración con IA
Two layers of automated moderation run on every comment before it is published. A toxicity provider scores the text; an LLM moderation provider evaluates context against a per-tenant prompt. Both providers are swappable. Dos capas de moderación automática corren en cada comentario antes de publicarse. Un proveedor de toxicity puntúa el texto; un proveedor LLM evalúa contexto contra un prompt por tenant. Ambos son intercambiables.
| LayerCapa | ProvidersProveedores |
|---|---|
| ToxicityToxicity | Google Perspective Detoxify (self-hosted) |
| LLM moderationModeración LLM | OpenAI · Gemini Grok · DeepSeek |
| Banned wordsPalabras prohibidas | Per-tenant listLista por tenant |
Comments scoring above your toxicity threshold (default 0.7) are rejected with HTTP 400. Below threshold, the score is still stored so you can audit later.
Los comentarios con score por encima del umbral (default 0.7) se rechazan con HTTP 400. Por debajo, el score igual se guarda para auditar después.
Profiles & follow graphPerfiles y grafo social
Every commenter has a real profile with avatar, background, locale, settings, location history and a 30-day activity feed. The follow graph supports approvals, mutuals, blocks, bookmarks, mentions and dismissable suggestions. Cada comentarista tiene un perfil real con avatar, fondo, locale, settings, historial de ubicación y feed de actividad de 30 días. El grafo de follows soporta aprobaciones, mutuals, bloqueos, bookmarks, menciones y sugerencias descartables.
Reputation & trustReputación y trust
A real reputation engine. Every event (helpful mark, upvote, downvote, spam report, mod removal) carries a weight you control. Authors accumulate a score that maps to a trust level, and trust levels gate visibility, ranking and write actions. Un motor de reputación real. Cada evento (helpful, upvote, downvote, spam report, remoción del mod) lleva un peso configurable. Los autores acumulan score que mapea a un nivel de trust, y los niveles de trust gatean visibilidad, ranking y acciones.
| Event | Default weightPeso default |
|---|---|
| helpful_mark | +10 |
| pinned | +50 |
| correction | +20 |
| upvote | +1 |
| downvote | −2 |
| spam_report | −50 |
| mod_removal | −100 |
Real-time & chatTiempo real y chat
Server-Sent Events push new comments and notifications to open tabs. A WebSocket-backed chat channel and "live mode" for broadcast threads are optional Enterprise modules — same license, lazy-loaded. Server-Sent Events empujan comentarios y notificaciones a las pestañas abiertas. El chat por WebSocket y los hilos "live mode" son módulos Enterprise opcionales — misma licencia, lazy-load.
Offline-first & P2P resilienceOffline-first y resiliencia P2P
An IndexedDB cache keeps threads readable when the network drops. The optional resilience layer routes traffic to peer browsers over WebTorrent or Nostr when your server is degraded — useful for high-traffic events or unstable connectivity. Un cache en IndexedDB mantiene los hilos legibles cuando se cae la red. La capa opcional de resiliencia rutea tráfico a peers (WebTorrent o Nostr) cuando el servidor está degradado — útil para eventos de tráfico alto o conectividad inestable.
| Mode | BehaviorComportamiento |
|---|---|
| HYBRID | Server + P2P fallback (default).Server + fallback P2P (default). |
| PASSIVE | Existing sessions work; new logins blocked.Las sesiones existentes funcionan; nuevos logins bloqueados. |
| SERVER_ONLY | P2P disabled; protected writes blocked.P2P deshabilitado; writes protegidos bloqueados. |
| P2P_ONLY | Anonymous traffic over P2P; auth via server.Tráfico anónimo por P2P; auth por server. |
GamificationGamificación
Points, badges, levels, quests, a store, a leaderboard. Define your own rules per tenant. Built as an Enterprise plugin that loads only when activated. Puntos, badges, niveles, quests, tienda y leaderboard. Definí tus propias reglas por tenant. Implementado como plugin Enterprise que solo carga cuando se activa.
Surveys & pollsEncuestas y polls
Drop inline polls and structured surveys directly into a discussion thread or onto an article. Aggregated results, configurable visibility rules, geo-filtered audiences. Insertá polls y encuestas estructuradas directo en un hilo o en un artículo. Resultados agregados, reglas de visibilidad configurables, audiencias filtradas por geo.
Push notificationsNotificaciones push
Web Push via VAPID. Up to three subscriptions per user, deep-linked to the comment or notification that triggered them. Server-side aggregation prevents notification floods. Web Push vía VAPID. Hasta tres suscripciones por usuario, con deep-link al comentario o notificación que las disparó. Agregación server-side para evitar flooding.
i18n & geo-awarenessi18n y geo
The widget ships with 12 languages (en, pt, de, es, fr, ar, he, hi, ja, ru, zh, it). Per-comment language is auto-detected and you can offer one-click machine translation to the reader's locale. Optional MaxMind geolocation enables country/city aggregation. El widget viene con 12 idiomas (en, pt, de, es, fr, ar, he, hi, ja, ru, zh, it). El idioma por comentario se autodetecta y podés ofrecer traducción on-demand al locale del lector. Geolocalización MaxMind opcional para agregar por país/ciudad.
Admin dashboardDashboard de admin
A React 18 SPA — multi-tenant from day one. RBAC with 7 roles (god, admin, editor, moderator, advertiser, analyst, user). Real-time analytics, moderation queue, push and email composer, reputation tuning, job scheduler, geographic heatmap. SPA en React 18 — multi-tenant desde el día uno. RBAC con 7 roles (god, admin, editor, moderator, advertiser, analyst, user). Analytics en tiempo real, cola de moderación, composer de push y email, ajuste de reputación, scheduler de jobs y heatmap geográfico.