{"id":46447659,"url":"https://github.com/nicholasraimbault/skytale","last_synced_at":"2026-03-12T00:09:34.663Z","repository":{"id":341717853,"uuid":"1170430069","full_name":"nicholasraimbault/skytale","owner":"nicholasraimbault","description":"End-to-end encrypted channels for AI agents. Zero-knowledge relay, traffic-invisible wire protocol, MLS (RFC 9420). Python \u0026 TypeScript SDKs.","archived":false,"fork":false,"pushed_at":"2026-03-08T22:20:55.000Z","size":1368,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-03-09T04:47:16.894Z","etag":null,"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"],"latest_commit_sha":null,"homepage":"https://skytale.sh","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nicholasraimbault.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-02T05:36:44.000Z","updated_at":"2026-03-08T22:20:58.000Z","dependencies_parsed_at":"2026-03-09T02:00:48.045Z","dependency_job_id":null,"html_url":"https://github.com/nicholasraimbault/skytale","commit_stats":null,"previous_names":["nicholasraimbault/skytale"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/nicholasraimbault/skytale","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicholasraimbault%2Fskytale","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicholasraimbault%2Fskytale/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicholasraimbault%2Fskytale/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicholasraimbault%2Fskytale/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nicholasraimbault","download_url":"https://codeload.github.com/nicholasraimbault/skytale/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicholasraimbault%2Fskytale/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30404981,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-11T21:51:19.558Z","status":"ssl_error","status_checked_at":"2026-03-11T21:50:57.892Z","response_time":84,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["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"],"created_at":"2026-03-05T23:52:35.854Z","updated_at":"2026-03-12T00:09:34.651Z","avatar_url":"https://github.com/nicholasraimbault.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Skytale\n\n[![PyPI](https://img.shields.io/pypi/v/skytale-sdk)](https://pypi.org/project/skytale-sdk/)\n[![npm](https://img.shields.io/npm/v/@skytalesh/sdk)](https://www.npmjs.com/package/@skytalesh/sdk)\n[![CI](https://github.com/nicholasraimbault/skytale/actions/workflows/ci.yml/badge.svg)](https://github.com/nicholasraimbault/skytale/actions/workflows/ci.yml)\n[![Docs](https://img.shields.io/badge/docs-skytale.sh-blue)](https://skytale.sh/docs)\n[![License](https://img.shields.io/badge/license-Apache%202.0-green)](LICENSE)\n\nEncrypted shared context for AI agents. Five lines of code.\n\nEnd-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.\n\n**[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/)**\n\n## Prerequisites\n\n- **Python** \u003e= 3.8 or **Node.js** \u003e= 18\n- A free Skytale API key — [sign up at app.skytale.sh](https://app.skytale.sh/login) or run `skytale signup you@example.com`\n\n## Quick Start\n\n\u003e 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`.\n\n```bash\npip install skytale-sdk\n```\n\n```python\nfrom skytale_sdk import SkytaleChannelManager\n\nmgr = SkytaleChannelManager(identity=b\"my-agent\", api_key=\"sk_live_...\")\nmgr.create(\"acme/research/results\")\nmgr.send(\"acme/research/results\", \"Hello, encrypted world!\")\nmsgs = mgr.receive(\"acme/research/results\")\n```\n\n### Two agents, one channel\n\n#### Python\n\n```python\nfrom skytale_sdk import SkytaleChannelManager\n\n# Alice creates a channel and invites Bob\nalice = SkytaleChannelManager(identity=b\"alice\", api_key=\"sk_live_...\")\nalice.create(\"acme/research/results\")\ntoken = alice.invite(\"acme/research/results\")\n\n# Bob joins with the invite token\nbob = SkytaleChannelManager(identity=b\"bob\", api_key=\"sk_live_...\")\nbob.join_with_token(\"acme/research/results\", token)\n\n# Send and receive — end-to-end encrypted\nalice.send(\"acme/research/results\", \"Hello from Alice!\")\nmsgs = bob.receive(\"acme/research/results\")  # [\"Hello from Alice!\"]\n```\n\n#### TypeScript\n\n```bash\nnpm install @skytalesh/sdk\n```\n\n```typescript\nimport { SkytaleChannelManager } from \"@skytalesh/sdk\";\n\n// Alice creates a channel and invites Bob\nconst alice = new SkytaleChannelManager({ identity: \"alice\", apiKey: \"sk_live_...\" });\nawait alice.create(\"acme/research/results\");\nconst token = await alice.invite(\"acme/research/results\");\n\n// Bob joins with the invite token\nconst bob = new SkytaleChannelManager({ identity: \"bob\", apiKey: \"sk_live_...\" });\nawait bob.joinWithToken(\"acme/research/results\", token);\n\n// Send and receive — end-to-end encrypted\nalice.send(\"acme/research/results\", \"Hello from Alice!\");\nconst msgs = await bob.receive(\"acme/research/results\"); // [\"Hello from Alice!\"]\n```\n\n**Full quickstart guide:** [Python SDK →](https://skytale.sh/docs/sdk/python/) | [TypeScript SDK →](https://skytale.sh/docs/sdk/typescript/)\n\n## How It Works\n\n- **MLS (RFC 9420)** — the IETF standard for scalable group encryption, now for agent-to-agent communication\n- **Zero-knowledge relay** — routes ciphertext it cannot read. No keys, no plaintext, no group state on the server\n- **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\n- **Automatic key management** — key rotation, forward secrecy, post-compromise security. Add or remove agents and the crypto updates itself\n\n## Agent Infrastructure\n\nBeyond encrypted messaging, Skytale provides the building blocks for production agent systems.\n\n```python\nfrom skytale_sdk import AgentIdentity, SkytaleChannelManager, TrustCircle\n\n# Cryptographic agent identity (DID:key)\nidentity = AgentIdentity.generate()\nprint(identity.did)  # did:key:z6Mk...\n\n# Tamper-evident audit logging (EU AI Act Article 12)\nmgr = SkytaleChannelManager(identity=b\"agent\", api_key=\"sk_live_...\", audit=True)\nmgr.create(\"acme/secure/channel\")\nmgr.send(\"acme/secure/channel\", \"audited message\")\nassert mgr.verify_audit_chain()\n\n# Agent discovery\nmgr.register_agent(capabilities=[\"analysis\", \"summarization\"])\nagents = mgr.search_agents(capability=\"analysis\")\n```\n\n- **[Agent Identity](https://skytale.sh/docs/sdk/python/#agent-identity)** — Ed25519 DID:key credentials, signatures, DID documents\n- **[Audit Logging](https://skytale.sh/docs/sdk/python/#audit-logging)** — Hash-chained tamper-evident logs for every channel operation\n- **[Attestations](https://skytale.sh/docs/sdk/python/#attestations)** — Verifiable credentials with selective disclosure (SD-JWT)\n- **[Trust Circles](https://skytale.sh/docs/sdk/python/#trust-circles)** — Credential-gated MLS groups with admission policies\n- **[Agent Registry](https://skytale.sh/docs/sdk/python/#agent-registry)** — Register capabilities, discover agents by skill\n\n## Framework Integrations\n\nDrop-in support for popular agent frameworks — your agents get encrypted shared context without changing how they work.\n\n```bash\npip install skytale-sdk[langgraph]       # LangGraph tools\npip install skytale-sdk[crewai]          # CrewAI BaseTool instances\npip install skytale-sdk[mcp]             # MCP server for Claude Desktop, OpenClaw\npip install skytale-sdk[openai-agents]   # OpenAI Agents SDK\npip install skytale-sdk[pydantic-ai]     # Pydantic AI\npip install skytale-sdk[smolagents]      # smolagents (Hugging Face)\npip install skytale-sdk[agno]            # Agno\npip install skytale-sdk[google-adk]      # Google ADK\npip install skytale-sdk[autogen]         # AutoGen (Microsoft)\npip install skytale-sdk[llamaindex]      # LlamaIndex\npip install skytale-sdk[strands]         # Strands (AWS)\n```\n\nTypeScript: `npm install @skytalesh/sdk @mastra/core` for [Mastra](https://skytale.sh/docs/sdk/typescript/#mastra) integration.\n\n**OpenClaw users:** install the [ClawHub skill](https://skytale.sh/docs/integrations/openclaw/) for automatic encrypted channel support — `clawhub install skytale`\n\n### Compliance \u0026 Security\n\nSkytale 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.\n\n- **[Compliance overview](https://skytale.sh/docs/security/compliance/)** — EU AI Act, SOC 2, GDPR status and roadmap\n- **[Encryption deep-dive](https://skytale.sh/docs/concepts/encryption/)** — MLS protocol, forward secrecy, traffic analysis resistance\n- **[Security policy](SECURITY.md)** — vulnerability reporting and response\n\n## Multi-Protocol Support\n\nNative 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.\n\n```python\nfrom skytale_sdk import SkytaleChannelManager, Envelope, Protocol\n\nmgr = SkytaleChannelManager(identity=b\"my-agent\", api_key=\"sk_live_...\")\n\n# Send protocol-tagged envelopes through encrypted channels\nenv = Envelope(Protocol.A2A, \"application/json\", b'{\"parts\":[]}')\nmgr.send_envelope(\"acme/research/results\", env)\n```\n\n## Security\n\nTo report a vulnerability, email [security@skytale.sh](mailto:security@skytale.sh). See [SECURITY.md](SECURITY.md) for our full security policy.\n\n## License\n\n[Apache 2.0](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicholasraimbault%2Fskytale","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnicholasraimbault%2Fskytale","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicholasraimbault%2Fskytale/lists"}