How It Works
Bussin connects directly to Azure Service Bus from your browser, completely bypassing external proxy servers. Here are the details of how the connection model works.
Browser-Native Architecture
Bussin is served as a static single-page application. Once the static HTML and WebAssembly resources are loaded into your browser, the tool operates entirely locally in your browser's security sandbox.
- Direct Connections: Your browser opens TCP connections directly to Azure. No third-party API or backend proxy server ever sees your connection data.
- No Data Storage: Because there is no backend server, your Service Bus credentials, folder settings, and message payloads are processed purely in local memory.
AMQP over WebSockets
Standard browser security sandboxes block direct HTTP REST requests to Azure Service Bus data-plane endpoints because they lack CORS headers. Bussin bypasses this limitation by establishing direct AMQP 1.0 connections over WebSockets (`wss://
Because WebSockets are exempt from CORS restrictions, your browser can safely pipe raw messaging frames directly to the Azure broker over TLS.
Authentication & Required Permissions
Authentication is handled directly in your browser using Microsoft's official library (MSAL.js) via the standard OAuth 2.0 PKCE flow. To list namespaces and manage messages, Bussin requests two delegated scopes:
https://management.azure.com/user_impersonation: To list your namespaces and subscriptions.https://servicebus.azure.net/user_impersonation: To open data-plane connections to interact with queues and topics.
This means Bussin operates under your active identity and respects your existing Azure roles. To work with messages, ensure your account has one of these built-in roles assigned:
- Azure Service Bus Data Owner: Full permissions to send, read, and delete messages.
- Azure Service Bus Data Receiver: Read-only access to peek or receive messages.
- Azure Service Bus Data Sender: Write-only access to publish messages.
Visual Architecture Flow
This flow diagram shows how authentication, resource discovery, and messaging connections are handled entirely inside your browser's local sandbox: