HexaEight.Bridge
1.0.0-preview9
Prefix Reserved
dotnet add package HexaEight.Bridge --version 1.0.0-preview9
NuGet\Install-Package HexaEight.Bridge -Version 1.0.0-preview9
<PackageReference Include="HexaEight.Bridge" Version="1.0.0-preview9" />
<PackageVersion Include="HexaEight.Bridge" Version="1.0.0-preview9" />Directory.Packages.props
<PackageReference Include="HexaEight.Bridge" />Project file
paket add HexaEight.Bridge --version 1.0.0-preview9
#r "nuget: HexaEight.Bridge, 1.0.0-preview9"
#:package HexaEight.Bridge@1.0.0-preview9
#addin nuget:?package=HexaEight.Bridge&version=1.0.0-preview9&prereleaseInstall as a Cake Addin
#tool nuget:?package=HexaEight.Bridge&version=1.0.0-preview9&prereleaseInstall as a Cake Tool
HexaEight.Bridge
NuGet License: Apache-2.0 Docs
Universal integration layer for HexaEight cryptographic identity and Dead Drop Encryption. One small .NET assembly that lets any language (Node.js, Python, .NET native — Go, Rust coming) consume the HexaEight platform with the same API surface.
The Bridge is the layer every HexaEight SDK is built on top of.
Install
dotnet add package HexaEight.Bridge --prerelease
Multi-targets net8.0, net9.0, net10.0. NuGet picks the right one for your host.
Five-line example
using HexaEight.Bridge;
var client = new Client();
string envelope = await client.EncryptEnvelopeAsync("alice.example.com", "Hello Alice!");
var msg = await client.DecryptEnvelopeAsync(envelope);
Console.WriteLine($"{msg.From}: {msg.Body}");
No key exchange. No PKI. No prior provisioning of the recipient. Just send.
API cheat sheet
| Method | What it does |
|---|---|
new Client() |
Loads your identity from env-file + hexaeight.mac (or hexaeightkeys.db on Azure). |
client.Name, client.SourceId |
Your fully-qualified identity and login-token prefix. |
EncryptEnvelopeAsync(recipient, body, kgt?, pinAsk?, sessionId?) |
Returns a single envelope string. Variant A by default; Variant B if sessionId is set. |
DecryptEnvelopeAsync(envelope, pinAsk?) |
Auto-detects variant. Returns DecryptedEnvelope { From, Body, Kgt, Kind, SessionId }. |
Client.InspectEnvelope(envelope) (static) |
Parses public metadata without decrypting — for deny-list filtering. |
FetchAskAsync(recipient, kgt) |
Pre-warm the ASK cache. |
PinAsk(recipient, kgt) / PinAskForSession(sessionId, ask) |
Mark a cache entry as preferred. |
UnpinAsk(...) / UnpinAskForSession(...) |
Remove the preference. |
HasAsk(...) / HasAskForSession(...) |
Test cache presence without fetching. |
ClearAskCache(recipient?, sessionId?) |
Remove entries. No args = clear all. |
SaveAskCacheAsync(path) / LoadAskCacheAsync(path) |
JSON persistence. |
EnableAutoPersist(path, interval?) |
Flush cache every N seconds. Cancels on Dispose(). |
For the full reference — parameters, return types, error semantics, performance numbers, wire format spec, and conceptual guides — see hexaeight.com/docs/reference/bridge .
Wire format
Envelope strings come in two variants:
Standard: {sourceId}|{kgt}|{ciphertext}
Sessioned: hsha:{sha256(sessionId)}|{ciphertext}
Full spec at hexaeight.com/docs/reference/wire-format .
Identity load order
The Bridge looks for credentials in this order, stopping at the first hit:
- Azure mode —
hexaeightkeys.db(SQLite) in the current working directory. - Environment variable —
HEXAEIGHT_MACHINETOKEN. - Env-file —
env-filein the current working directory with aHEXAEIGHT_MACHINETOKEN=...line.
The Bridge is read-only with respect to your environment — it never sets environment variables.
Cross-language use
The same Client class is reachable from:
- Node.js via
node-api-dotnetunderdotnet.HexaEight.Bridge.Client— packaged as@hexaeight/sdk. - Python via
pythonnetin theHexaEight.Bridgenamespace — packaged ashexaeight-sdk(in progress).
Method names, parameters, and return shapes are identical across languages. Each SDK exposes the surface in idiomatic style (camelCase for JS/TS, snake_case for Python).
For AI agents
A flat-text mirror of the full API reference is at hexaeight.com/llms-full.txt . The site-wide index follows the llms.txt convention at hexaeight.com/llms.txt .
Links
- Documentation — https://hexaeight.com/docs
- API Reference — https://hexaeight.com/docs/reference/bridge
- Quickstart — https://hexaeight.com/docs/quickstart
- Wire format spec — https://hexaeight.com/docs/reference/wire-format
- Pricing & licensing — https://hexaeight.com/pricing
- Status — https://status.hexaeight.com
- Support — support@hexaeight.com
License
Apache License 2.0. The Bridge is open-source plumbing; the underlying HexaEight cipher implementation (Dead Drop Encryption) is delivered as closed-source NuGet packages (HexaEightASKClientLibrary, HexaEightJWTLibrary) and is patent-pending.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Azure.Identity (>= 1.13.1)
- Azure.ResourceManager (>= 1.13.0)
- Azure.ResourceManager.Network (>= 1.10.0)
- ConsoleTools (>= 1.1.1)
- HexaEightASKClientLibrary (>= 1.9.143)
- HexaEightJWTLibrary (>= 1.9.287)
-
net8.0
- Azure.Identity (>= 1.13.1)
- Azure.ResourceManager (>= 1.13.0)
- Azure.ResourceManager.Network (>= 1.10.0)
- ConsoleTools (>= 1.1.1)
- HexaEightASKClientLibrary (>= 1.9.143)
- HexaEightJWTLibrary (>= 1.9.287)
-
net9.0
- Azure.Identity (>= 1.13.1)
- Azure.ResourceManager (>= 1.13.0)
- Azure.ResourceManager.Network (>= 1.10.0)
- ConsoleTools (>= 1.1.1)
- HexaEightASKClientLibrary (>= 1.9.143)
- HexaEightJWTLibrary (>= 1.9.287)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0-preview9 | 70 | 6/6/2026 |
| 1.0.0-preview34 | 49 | 6/27/2026 |
| 1.0.0-preview33 | 47 | 6/27/2026 |
| 1.0.0-preview32 | 58 | 6/25/2026 |
| 1.0.0-preview31 | 52 | 6/24/2026 |
| 1.0.0-preview30 | 57 | 6/23/2026 |
| 1.0.0-preview29 | 58 | 6/23/2026 |
| 1.0.0-preview28 | 54 | 6/23/2026 |
| 1.0.0-preview27 | 56 | 6/23/2026 |
| 1.0.0-preview26 | 58 | 6/23/2026 |
| 1.0.0-preview25 | 54 | 6/23/2026 |
| 1.0.0-preview24 | 55 | 6/22/2026 |
| 1.0.0-preview23 | 58 | 6/22/2026 |
| 1.0.0-preview22 | 54 | 6/21/2026 |
| 1.0.0-preview21 | 52 | 6/21/2026 |
| 1.0.0-preview20 | 53 | 6/20/2026 |
| 1.0.0-preview19 | 52 | 6/19/2026 |
| 1.0.0-preview18 | 57 | 6/12/2026 |
| 1.0.0-preview17 | 57 | 6/12/2026 |
| 1.0.0-preview16 | 57 | 6/12/2026 |