https://github.com/nicholasraimbault/skytale
End-to-end encrypted channels for AI agents. Zero-knowledge relay, traffic-invisible wire protocol, MLS (RFC 9420). Python & TypeScript SDKs.
https://github.com/nicholasraimbault/skytale
a2a agent-communication agent-security ai-agents crewai e2e-encryption encryption end-to-end-encryption langgraph mcp mls multi-agent openai-agents privacy python python-sdk rust slim typescript typescript-sdk
Last synced: 17 days ago
JSON representation
End-to-end encrypted channels for AI agents. Zero-knowledge relay, traffic-invisible wire protocol, MLS (RFC 9420). Python & TypeScript SDKs.
- Host: GitHub
- URL: https://github.com/nicholasraimbault/skytale
- Owner: nicholasraimbault
- License: apache-2.0
- Created: 2026-03-02T05:36:44.000Z (26 days ago)
- Default Branch: master
- Last Pushed: 2026-03-08T22:20:55.000Z (20 days ago)
- Last Synced: 2026-03-09T04:47:16.894Z (19 days ago)
- Topics: a2a, agent-communication, agent-security, ai-agents, crewai, e2e-encryption, encryption, end-to-end-encryption, langgraph, mcp, mls, multi-agent, openai-agents, privacy, python, python-sdk, rust, slim, typescript, typescript-sdk
- Language: Rust
- Homepage: https://skytale.sh
- Size: 1.3 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# Skytale
[](https://pypi.org/project/skytale-sdk/)
[](https://www.npmjs.com/package/@skytalesh/sdk)
[](https://github.com/nicholasraimbault/skytale/actions/workflows/ci.yml)
[](https://skytale.sh/docs)
[](LICENSE)
Encrypted shared context for AI agents. Five lines of code.
End-to-end encryption for any agent framework. [MLS protocol (RFC 9420)](https://www.rfc-editor.org/rfc/rfc9420.html). The relay never sees plaintext. Your agents talk — nobody else listens.
**[Documentation](https://skytale.sh/docs)** | **[Quickstart](https://skytale.sh/docs/getting-started/quickstart/)** | **[Python SDK](https://skytale.sh/docs/sdk/python/)** | **[TypeScript SDK](https://skytale.sh/docs/sdk/typescript/)**
## Prerequisites
- **Python** >= 3.8 or **Node.js** >= 18
- A free Skytale API key — [sign up at app.skytale.sh](https://app.skytale.sh/login) or run `skytale signup you@example.com`
## Quick Start
> Get your free API key: [sign up at app.skytale.sh](https://app.skytale.sh/login) (GitHub OAuth → API key on the welcome screen). Or via CLI: `skytale signup you@example.com`.
```bash
pip install skytale-sdk
```
```python
from skytale_sdk import SkytaleChannelManager
mgr = SkytaleChannelManager(identity=b"my-agent", api_key="sk_live_...")
mgr.create("acme/research/results")
mgr.send("acme/research/results", "Hello, encrypted world!")
msgs = mgr.receive("acme/research/results")
```
### Two agents, one channel
#### Python
```python
from skytale_sdk import SkytaleChannelManager
# Alice creates a channel and invites Bob
alice = SkytaleChannelManager(identity=b"alice", api_key="sk_live_...")
alice.create("acme/research/results")
token = alice.invite("acme/research/results")
# Bob joins with the invite token
bob = SkytaleChannelManager(identity=b"bob", api_key="sk_live_...")
bob.join_with_token("acme/research/results", token)
# Send and receive — end-to-end encrypted
alice.send("acme/research/results", "Hello from Alice!")
msgs = bob.receive("acme/research/results") # ["Hello from Alice!"]
```
#### TypeScript
```bash
npm install @skytalesh/sdk
```
```typescript
import { SkytaleChannelManager } from "@skytalesh/sdk";
// Alice creates a channel and invites Bob
const alice = new SkytaleChannelManager({ identity: "alice", apiKey: "sk_live_..." });
await alice.create("acme/research/results");
const token = await alice.invite("acme/research/results");
// Bob joins with the invite token
const bob = new SkytaleChannelManager({ identity: "bob", apiKey: "sk_live_..." });
await bob.joinWithToken("acme/research/results", token);
// Send and receive — end-to-end encrypted
alice.send("acme/research/results", "Hello from Alice!");
const msgs = await bob.receive("acme/research/results"); // ["Hello from Alice!"]
```
**Full quickstart guide:** [Python SDK →](https://skytale.sh/docs/sdk/python/) | [TypeScript SDK →](https://skytale.sh/docs/sdk/typescript/)
## How It Works
- **MLS (RFC 9420)** — the IETF standard for scalable group encryption, now for agent-to-agent communication
- **Zero-knowledge relay** — routes ciphertext it cannot read. No keys, no plaintext, no group state on the server
- **Traffic-invisible** — messages padded into one of eight bucket sizes and mixed with cover traffic. Observers can't tell what's being said, when, or even if real communication is happening
- **Automatic key management** — key rotation, forward secrecy, post-compromise security. Add or remove agents and the crypto updates itself
## Agent Infrastructure
Beyond encrypted messaging, Skytale provides the building blocks for production agent systems.
```python
from skytale_sdk import AgentIdentity, SkytaleChannelManager, TrustCircle
# Cryptographic agent identity (DID:key)
identity = AgentIdentity.generate()
print(identity.did) # did:key:z6Mk...
# Tamper-evident audit logging (EU AI Act Article 12)
mgr = SkytaleChannelManager(identity=b"agent", api_key="sk_live_...", audit=True)
mgr.create("acme/secure/channel")
mgr.send("acme/secure/channel", "audited message")
assert mgr.verify_audit_chain()
# Agent discovery
mgr.register_agent(capabilities=["analysis", "summarization"])
agents = mgr.search_agents(capability="analysis")
```
- **[Agent Identity](https://skytale.sh/docs/sdk/python/#agent-identity)** — Ed25519 DID:key credentials, signatures, DID documents
- **[Audit Logging](https://skytale.sh/docs/sdk/python/#audit-logging)** — Hash-chained tamper-evident logs for every channel operation
- **[Attestations](https://skytale.sh/docs/sdk/python/#attestations)** — Verifiable credentials with selective disclosure (SD-JWT)
- **[Trust Circles](https://skytale.sh/docs/sdk/python/#trust-circles)** — Credential-gated MLS groups with admission policies
- **[Agent Registry](https://skytale.sh/docs/sdk/python/#agent-registry)** — Register capabilities, discover agents by skill
## Framework Integrations
Drop-in support for popular agent frameworks — your agents get encrypted shared context without changing how they work.
```bash
pip install skytale-sdk[langgraph] # LangGraph tools
pip install skytale-sdk[crewai] # CrewAI BaseTool instances
pip install skytale-sdk[mcp] # MCP server for Claude Desktop, OpenClaw
pip install skytale-sdk[openai-agents] # OpenAI Agents SDK
pip install skytale-sdk[pydantic-ai] # Pydantic AI
pip install skytale-sdk[smolagents] # smolagents (Hugging Face)
pip install skytale-sdk[agno] # Agno
pip install skytale-sdk[google-adk] # Google ADK
pip install skytale-sdk[autogen] # AutoGen (Microsoft)
pip install skytale-sdk[llamaindex] # LlamaIndex
pip install skytale-sdk[strands] # Strands (AWS)
```
TypeScript: `npm install @skytalesh/sdk @mastra/core` for [Mastra](https://skytale.sh/docs/sdk/typescript/#mastra) integration.
**OpenClaw users:** install the [ClawHub skill](https://skytale.sh/docs/integrations/openclaw/) for automatic encrypted channel support — `clawhub install skytale`
### Compliance & Security
Skytale is designed for regulatory compliance from day one. MLS RFC 9420 encryption, zero-knowledge relay architecture, and structured audit logging map directly to EU AI Act, SOC 2, and GDPR requirements.
- **[Compliance overview](https://skytale.sh/docs/security/compliance/)** — EU AI Act, SOC 2, GDPR status and roadmap
- **[Encryption deep-dive](https://skytale.sh/docs/concepts/encryption/)** — MLS protocol, forward secrecy, traffic analysis resistance
- **[Security policy](SECURITY.md)** — vulnerability reporting and response
## Multi-Protocol Support
Native adapters for [SLIM](https://skytale.sh/docs/sdk/python/#slim-adapter), [A2A](https://skytale.sh/docs/sdk/python/#a2a-adapter), [ACP](https://skytale.sh/docs/sdk/python/#acp-adapter), [MCP](https://skytale.sh/docs/sdk/python/#mcp-encrypted-transport), [ANP](https://skytale.sh/docs/sdk/python/#anp-adapter), [LMOS](https://skytale.sh/docs/sdk/python/#lmos-adapter), and [NLIP](https://skytale.sh/docs/sdk/python/#nlip-adapter). A [cross-protocol bridge](https://skytale.sh/docs/sdk/python/#cross-protocol-bridge) translates between them.
```python
from skytale_sdk import SkytaleChannelManager, Envelope, Protocol
mgr = SkytaleChannelManager(identity=b"my-agent", api_key="sk_live_...")
# Send protocol-tagged envelopes through encrypted channels
env = Envelope(Protocol.A2A, "application/json", b'{"parts":[]}')
mgr.send_envelope("acme/research/results", env)
```
## Security
To report a vulnerability, email [security@skytale.sh](mailto:security@skytale.sh). See [SECURITY.md](SECURITY.md) for our full security policy.
## License
[Apache 2.0](LICENSE)