One contract for multiple surfaces
Connect exposes gRPC, gRPC-Web, and HTTP/JSON from the same edge for native clients, browsers, and external tooling.
Vianium concentrates Connect, auth, OAuth, billing, streaming, observability, and protected state behind one backend that serves apps, dashboard, and automation through the same contract.
Designed as an execution core: one layer for clients, plugins, and operations.
Current runtime
Connected stack
Active pieces
Platform
The product does more than connect services. It already gathers the pieces that usually end up scattered across backend, tools, and frontends: identity, protocols, linked accounts, media, health, and billing.
Connect exposes gRPC, gRPC-Web, and HTTP/JSON from the same edge for native clients, browsers, and external tooling.
Registration, login, refresh, revocation, and per-plugin OAuth remain centralized in the platform.
Health, boot info, Prometheus metrics, Stripe webhooks, and stream proxying already live inside the gateway.
Each module runs behind gRPC with typed contracts and operational isolation between capabilities.
Use cases
Vianium already covers the areas that fragment fastest as a product grows: multiple surfaces, linked accounts, sensitive media, and automation.
Use the same Connect contract for native surfaces, web, and automation instead of maintaining parallel backends.
Enable Reddit, Threads, Drive, or YouTube with per-plugin OAuth and isolated per-user state.
Keep media, sessions, events, presence, and sensitive flows inside the platform instead of scattering them across clients.
Expose typed capabilities to tools and agents through the same edge, with centralized auth, revocation, and observability.
Developer experience
The platform does more than bundle capabilities. It also provides a disciplined way to extend them without duplicating auth, state, observability, or integration logic.
The gateway serves gRPC, gRPC-Web, and HTTP/JSON from the same contract.
Each module lives behind proto and gRPC, with clear boundaries between core and plugin.
OAuth, revocation, media, metrics, and health do not need to be rebuilt for every client.
Probes, metrics, and streams make the backend behave like real infrastructure instead of a black box.
Contract-first surface
The goal is to let apps, dashboard, and external tooling connect to one shared surface instead of duplicating auth, state, and integration logic.
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 Modules
Each module already exposes real product operations while sharing the same identity, encryption, and operational fabric.
Messaging
Messaging, media, groups, channels, communities, catalog, and real-time events on top of Baileys.
Media
Search, metadata, captions, history, subscriptions, and authenticated streaming through InnerTube plus proxying.
Personal feed
Home feed, subreddits, profiles, posts, comments, and authenticated user actions.
Publishing
Publishing, discovery, mentions, replies, and insights with the user account linked into the platform.
Storage
File browsing, folders, sharing, and chunked uploads on top of Google Drive.
Security
Credentials, tokens, and sensitive data are protected through a real key hierarchy, authenticated encryption, and session revocation inside the backend.
Credentials use Argon2id with 64 MB of memory, 3 iterations, a random 16-byte salt, and constant-time verification.
The MEK lives in VIANIUM_MEK and is never stored in Mongo. Registration creates one random DEK per user and stores it encrypted with AES-256-GCM.
Operational keys are derived per user and per plugin to isolate Reddit, Threads, Drive, YouTube, and WhatsApp internal data.
Encrypted blobs use a random 12-byte nonce and built-in authentication so tampering is detected before any payload is opened.
Queryable sensitive identifiers are indexed through deterministic HMAC-SHA256 values instead of exposing the original value in storage.
JWT sessions use HS256 with a random 128-bit JTI and can be revoked by identifier when a cache backend is present.
Current coverage
Today the model covers identity, linked accounts, and plugin-level sensitive persistence.
Passwords are never stored in plaintext or reversible form.
The user DEK remains encrypted under the MEK, while the MEK stays outside the database.
Reddit, Threads, Drive, and YouTube persist tokens under per-user, context-derived keys.
Chats, messages, contacts, media, and sessions use AES-256-GCM plus HMAC lookup hashes.
Architecture
The gateway receives clients, resolves identity, routes into plugins, and keeps operational visibility without forcing you to reimplement the same logic across every surface.
The same proto definitions feed apps, dashboard, tools, and automation.
Auth, billing, media, health, revocation, and webhooks live in the same layer.
Each plugin receives gRPC with defined contracts and protected per-user state.
Probes, metrics, streams, and health control expose what the platform is doing in real time.
Operational flow
The architecture serves multiple surfaces without fragmenting authentication, encryption, billing, or telemetry.
Apps, web, and external tooling consume the same Connect edge.
Auth, OAuth, billing, media proxying, and health handlers.
Typed microservices for WhatsApp, YouTube, Reddit, Threads, and Drive.
MongoDB, Redis, Stripe, and unified metrics under one runtime.
FAQ
Today it is an execution platform with a Connect gateway, unified identity, billing, observability, and active modules for WhatsApp, YouTube, Reddit, Threads, and Drive.
No. It can serve thin or older clients, but the current product fits better as an execution backend for multiple surfaces, linked-account modules, and automation.
Native apps via gRPC, browsers via gRPC-Web, and external tools via HTTP/JSON. The same Connect layer handles the edge.
As plugins or typed services behind the gateway. That lets the product expand without rewriting the shared logic in every client.
The platform already owns auth, per-plugin OAuth, JWT revocation, media, health, metrics, billing webhooks, and sensitive persistence. Clients stay focused on interface and user experience.
With Argon2id for credentials, a 256-bit MEK outside the database, keys derived per user and purpose, AES-256-GCM, and session revocation by JTI.
Next step
Attach modules when you need them. Keep identity, media, billing, and operations under one platform.