Skip to content

NodeCube/securefabric-public

SecureFabric — Open SDKs & Protocol (Public)

CI License: Apache-2.0

SecureFabric is a secure, low-latency messaging fabric designed for verified senders and end-to-end confidentiality.

Repository Scope

This public repository contains ONLY:

  • Client SDKs (Rust, JavaScript/TypeScript, Python)
  • Protocol specifications (protobuf, API docs)
  • Example applications and documentation
  • Tools for SDK development and testing

This repository does NOT contain:

  • SecureFabric node/server implementation (maintained privately)
  • Infrastructure code, deployment configs, or operational tooling
  • Production keys, certificates, or credentials

For node implementation, architecture decisions, or operational questions, please refer to the private repository. This separation ensures the open-source client libraries and protocol remain independent from proprietary server code.

What's here

  • SDKs: Rust, JS/TS, Python client libraries
  • Specs: Protocol overview, .proto, API docs
  • Examples: Minimal send/receive apps per language
  • Docs: Quickstart, architecture

Quickstart

All examples use placeholder credentials. Replace with your actual endpoint and token.

Rust

cd examples/rust
cargo run --bin demo -- --endpoint YOUR_ENDPOINT_HERE --token YOUR_TOKEN_HERE

JavaScript/TypeScript

cd examples/js
npm install
SF_ENDPOINT=YOUR_ENDPOINT_HERE SF_TOKEN=YOUR_TOKEN_HERE node index.js

Python

cd examples/python
pip install -r requirements.txt
SF_ENDPOINT=YOUR_ENDPOINT_HERE SF_TOKEN=YOUR_TOKEN_HERE python send_receive.py

Protocol & Architecture

Installation

Python Client SDK

Install the official Python client from PyPI:

pip install securefabric-client

Quick example:

import asyncio
from securefabric import SecureFabricClient

async def main():
    client = SecureFabricClient(
        target="node.example.com:50051",
        bearer_token="your-token-here"
    )
    await client.publish("sensors/temp", b"22.5C")
    await client.close()

asyncio.run(main())

Documentation: sdk/python/README.md

Rust SDK

Add to your Cargo.toml:

[dependencies]
securefabric-sdk = "0.1"

Documentation: sdk/rust/README.md

JavaScript/TypeScript SDK

npm install @securefabric/sdk

Documentation: sdk/js/README.md

SecureFabric Node (Server)

The SecureFabric node is distributed separately as a Debian package:

# Download the latest .deb from releases
wget https://github.com/NodeCube/securefabric-core/releases/download/v0.1.0/securefabric-node_0.1.0-1_amd64.deb

# Install
sudo dpkg -i securefabric-node_0.1.0-1_amd64.deb

# Configure
sudo nano /etc/securefabric/.env

# Start
sudo systemctl start securefabric-node

Documentation: docs/DEBIAN_PACKAGING.md

Note: The node implementation is maintained in a private repository. Only the client SDKs and protocol specifications are open source.

Trademark Notice

"SecureFabric" is a trademark. This repository contains only the public SDK and protocol specifications. The production SecureFabric node is a separate product with its own licensing.

Support & Contact

Contributing

See CONTRIBUTING.md. By contributing you agree to the Apache-2.0 license.

Security

Please report vulnerabilities via SECURITY.md or email security@secure-fabric.io.

License

This repository is licensed under Apache-2.0.

The SecureFabric production node (distributed separately) may have different licensing terms. This repository contains only the open-source SDK and protocol specifications.