Introducing Brij · Open source

One bridge between your conversations and everything downstream.

Brij is an open-source package that routes natural-language data — chat streams, email, voice — between your platforms, your systems and Sense Street. Encrypted, masked and observable, on infrastructure you control.

BLOOMBERG CHAT REFINITIV EIKON ICE CHAT SYMPHONY TEAMS / SLACK EMAIL & VOICE brij TRANSFORM MASK & OBFUSCATE ENCRYPT QUEUE & ROUTE OBSERVABILITY SENSE STREET AI YOUR APPLICATIONS DATA WAREHOUSE SCIM / LDAP · OKTA · ENTRA · IAM

EVERY STREAM IN · ONE CONFIGURABLE PIPELINE · EVERY SYSTEM OUT

01 · Why

The plumbing everyone rebuilds.

Every institution that wants to put its conversations to work ends up building the same thing first: collectors for each chat platform, scrubbers for identities, encryption, queues, monitoring. None of it is anyone's edge — it's the toll paid before the interesting work can start, rebuilt behind closed doors at every firm.

Brij is that layer, packaged and open-sourced: a bridge between where natural language lives — chat platforms, email, voice — and everywhere it becomes useful, whether that's Sense Street's extraction models, your own applications or your data warehouse. You run it, you read it, you extend it.

02 · Helpers

Five stops, each one a library.

Brij ships as a set of composable libraries, not a monolith. Schema transformation normalises what platforms emit — stripping proprietary enrichments, adding your context: desks, locations, customer data. Masking, encryption, connectivity & queueing and observability each do one job. Compose the whole pipeline, or import the single helper you're missing.

RAW INGEST TRANSFORM MASK & OBFUSCATE ENCRYPT QUEUE & ROUTE MESSAGE #88,214 platform: BLOOMBERG_CHAT from: j.smith@acmeam.com body: "we'd pay 99.42 for 25mm kfw 07/31" enrichments: { 14 platform fields } AS RECEIVED FROM THE PLATFORM from: j.smith@acmeam.com body: "we'd pay 99.42 for 25mm kfw 07/31" desk: EUR CREDIT · LDN + added enrichments: — stripped YOUR SCHEMA, YOUR CONTEXT from: CPTY-7F3A body: "we'd pay 99.42 for 25mm kfw 07/31" desk: EUR CREDIT · LDN map: vault entry #4471 · reversible IDENTITY REMOVED · ECONOMICS PRESERVED payload: ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ cipher: AES-256-GCM · your keys IN FLIGHT AND AT REST topic: ss.extract.eur-credit partition: 3 · offset 88,214 routes: SENSE STREET AI · WAREHOUSE trace: 2.4 ms · ok OBSERVED END TO END ONE MESSAGE · FIVE STOPS · EVERY STOP A LIBRARY YOU CAN USE ALONE

03 · Obfuscation & masking

Masked on the way out, restored on the way back.

Masking is only half the job — the other half is getting your data back. Brij keeps a mapping vault inside your perimeter: identities are pseudonymised before a message leaves, and when structured results return, the same mapping runs in reverse. Your CRM sees real counterparties; the outside world never does.

YOUR PERIMETER CHAT PLATFORMS YOUR CRM / BLOTTER brij MASK · ENCRYPT DECRYPT · REMAP MAPPING VAULT CPTY-7F3A ⇄ J.SMITH — ACME AM CPTY-2B11 ⇄ M.CHEN — NORTHLOCH NEVER LEAVES THE PERIMETER SENSE STREET AI SEES ONLY MASKED CPTY-7F3A RFQ · CPTY-7F3A RFQ · ACME AM IDENTITY GOES OUT MASKED · RESULTS COME BACK · REMAPPED INSIDE

04 · Configuration

Declared, not coded.

Connectivity, queueing, workflows, encryption and masking are all declared in configuration — a UI for setup, files for review and version control. Change a route, and the topology changes; no integration code to write or re-test.

APIs are versioned with backward and forward compatibility, so test and production can run different versions of Brij against the same streams while you upgrade on your own schedule.

BRIJ.ROUTES.YAML version: v2 # v1 clients ok route eu-credit: from: [bloomberg, symphony] mask: policy/desk-eu crypt: kms/prod-key-7 to: [sense-street, warehouse] env: test env: prod # promoted BLOOMBERG SYMPHONY brij SS AI WAREHOUSE V1 ✓ BACKWARD COMPATIBLE TEST → PROD EACH LINE OF CONFIG IS A PIECE OF TOPOLOGY

05 · Message patterns

Whatever cadence your data arrives in.

Not all natural-language data moves the same way. A live sales-trader workflow needs a message the millisecond it lands; a five-year history arrives as one enormous backfill; voice becomes text before it becomes data. Brij ships the same six patterns the deck was drawn around — batch, streaming, sales-trader workflow, historical, email, and voice recordings & transcripts — as first-class routes.

STREAMING BATCH STW · LIVE HISTORICAL EMAIL VOICE SIX PATTERNS · ONE PIPELINE · SAME GUARANTEES

06 · Identity & access

Plugged into your identity stack.

Brij doesn't invent users. It provisions over SCIM / LDAP, so the people and groups already in your directory drive its behaviour — group membership determines masking policy, and AuthN / AuthZ for admin and API access flows through Okta, Microsoft Entra, AWS IAM or Google Cloud IAM. Leavers lose access the moment your IdP says so.

OKTA MS ENTRA AWS IAM GCLOUD IAM SCIM / LDAP DIRECTORY USERS · GROUPS · DESKS brij AUTHN / AUTHZ ADMIN & API ACCESS MASKING POLICY GROUPS → MASKING RULES ACCESS WHO CONFIGURES · WHO READS YOUR IDENTITY PROVIDER IS THE SOURCE OF TRUTH

07 · Open source

Open source, on your infrastructure.

Brij will ship under a permissive licence — MIT, Apache 2.0 and BSD are on the shortlist — so security teams can read every line that touches a message, and engineering teams can extend it without asking permission. It runs entirely on your infrastructure; nothing about the bridge is a black box.

MITAPACHE 2.0BSDLICENCE SELECTION UNDERWAY