Un contrato para varias superficies
Connect expone gRPC, gRPC-Web y HTTP/JSON desde el mismo borde para clientes nativos, navegadores y tooling externo.
Vianium concentra Connect, auth, OAuth, billing, streaming, observabilidad y estado protegido detrás de un backend que sirve apps, dashboard y automatización con el mismo contrato.
Diseñado como núcleo de ejecución: una sola capa para clientes, plugins y operación.
Runtime actual
Stack conectado
Piezas activas
Plataforma
El producto no solo conecta servicios. Ya reúne las piezas que normalmente terminan dispersas entre backend, herramientas y frontends: identidad, protocolos, cuentas enlazadas, media, health y facturación.
Connect expone gRPC, gRPC-Web y HTTP/JSON desde el mismo borde para clientes nativos, navegadores y tooling externo.
Registro, login, refresh, revocación y OAuth por plugin quedan centralizados en la plataforma.
Health, boot info, métricas Prometheus, webhooks de Stripe y stream proxy ya viven dentro del gateway.
Cada módulo corre detrás de gRPC, con contratos tipados y aislamiento operativo entre capacidades.
Casos de uso
Vianium ya cubre los frentes que más rápido se fragmentan cuando el producto crece: múltiples superficies, cuentas enlazadas, media sensible y automatización.
Usa el mismo contrato Connect para superficies nativas, web y automatización sin mantener backends paralelos.
Activa Reddit, Threads, Drive o YouTube con OAuth por plugin y estado aislado por usuario.
Mantén media, sesiones, eventos, presencia y flujos sensibles dentro de la plataforma en lugar de dispersarlos en clientes.
Expón capacidades tipadas a herramientas y agentes sobre el mismo borde, con auth, revocación y observabilidad centralizadas.
Experiencia técnica
La plataforma no solo empaqueta capacidades. También expone una manera disciplinada de extenderlas sin duplicar auth, estado, observabilidad ni lógica de integración.
El gateway sirve gRPC, gRPC-Web y HTTP/JSON desde el mismo contrato.
Cada módulo vive detrás de proto y gRPC, con límites claros entre core y plugin.
OAuth, revocación, media, métricas y health no se vuelven a implementar por cliente.
Probes, métricas y streams permiten tratar el backend como infraestructura real, no como una caja negra.
Superficie tipada
El objetivo es que apps, dashboard y tooling externo se conecten a una misma superficie en lugar de duplicar auth, estado y lógica de integración.
service AuthService {
rpc Login(LoginRequest) returns (AuthResponse);
rpc Register(RegisterRequest) returns (AuthResponse);
}
service YouTubeService {
rpc Search(SearchRequest) returns (SearchResponse);
rpc GetStreamURLs(GetStreamURLsRequest) returns (GetStreamURLsResponse);
}
// One edge: gRPC + gRPC-Web + HTTP/JSON Módulos
Cada módulo ya expone operaciones reales del producto y aprovecha el mismo tejido de identidad, cifrado y operación.
Mensajería
Mensajería, media, grupos, canales, comunidades, catálogo y eventos en tiempo real sobre Baileys.
Media
Búsqueda, metadatos, captions, historial, suscripciones y streaming autenticado mediante InnerTube y proxy.
Feed personal
Home feed, subreddits, perfiles, posts, comentarios y acciones autenticadas del usuario.
Publishing
Publicación, discovery, menciones, replies e insights con cuenta enlazada del usuario.
Storage
Exploración de archivos, carpetas, sharing y uploads por chunks sobre Google Drive.
Seguridad
Credenciales, tokens y datos sensibles se protegen con una jerarquía de claves real, cifrado autenticado y revocación de sesión dentro del backend.
Las credenciales usan Argon2id con 64 MB de memoria, 3 iteraciones, salt aleatorio de 16 bytes y verificación en tiempo constante.
La MEK vive en VIANIUM_MEK y no se guarda en Mongo. En el registro se genera una DEK aleatoria por usuario y se persiste cifrada con AES-256-GCM.
Las claves operativas se derivan por usuario y por plugin para aislar Reddit, Threads, Drive, YouTube y los datos internos de WhatsApp.
Los blobs cifrados usan nonce aleatorio de 12 bytes y autenticación integrada para detectar manipulación antes de abrir el contenido.
Identificadores sensibles consultables se indexan con HMAC-SHA256 determinístico en lugar de exponer el valor original en la base.
Los JWT usan HS256 con JTI aleatorio de 128 bits y pueden revocarse por identificador cuando existe backend de cache.
Cobertura actual
Hoy el modelo cubre identidad, cuentas enlazadas y persistencia sensible a nivel de plugin.
Las contraseñas nunca se guardan en claro ni en formato reversible.
La DEK del usuario queda cifrada bajo la MEK y la MEK permanece fuera de la base de datos.
Reddit, Threads, Drive y YouTube persisten tokens con claves derivadas por usuario y contexto.
Chats, mensajes, contactos, media y sesiones usan AES-256-GCM con hashes HMAC para lookups.
Arquitectura
El gateway recibe clientes, resuelve identidad, deriva hacia plugins y mantiene visibilidad operativa sin obligarte a reimplementar la misma lógica en cada superficie.
Las mismas definiciones proto alimentan apps, dashboard, herramientas y automatización.
Auth, billing, media, health, revocación y webhooks viven en la misma capa.
Cada plugin recibe gRPC con contratos definidos y estado protegido por usuario.
Probes, métricas, streams y control de salud muestran qué está ocurriendo en tiempo real.
Flujo operativo
La arquitectura sirve varias superficies sin fragmentar autenticación, cifrado, billing ni telemetría.
Apps, web y tooling externo consumen el mismo borde Connect.
Auth, OAuth, billing, proxy de media y handlers de salud.
Microservicios tipados para WhatsApp, YouTube, Reddit, Threads y Drive.
MongoDB, Redis, Stripe y métricas unificadas bajo el mismo runtime.
FAQ
Hoy es una plataforma de ejecución con gateway Connect, identidad unificada, billing, observabilidad y módulos activos para WhatsApp, YouTube, Reddit, Threads y Drive.
No. Puede servir clientes delgados o antiguos, pero el producto actual encaja mejor como backend de ejecución para múltiples superficies, módulos conectados y automatización.
Apps nativas vía gRPC, navegadores vía gRPC-Web y herramientas externas vía HTTP/JSON. El borde lo resuelve la misma capa Connect.
Como plugins o servicios tipados detrás del gateway. Eso permite ampliar el producto sin reescribir la lógica compartida en cada cliente.
Dentro ya viven auth, OAuth por plugin, revocación JWT, media, health, métricas, webhooks de billing y persistencia sensible. Los clientes se quedan con interfaz y experiencia.
Con Argon2id para credenciales, MEK de 256 bits fuera de la base, claves derivadas por usuario y propósito, AES-256-GCM y revocación de sesión por JTI.
Siguiente paso
Conecta módulos cuando los necesites. Mantén identidad, media, billing y operación bajo una sola plataforma.