
Tkach Security
io.github.ECD5APublished by GitHub account ECD5Av0.1.2Updated Oct 27, 2026
Fail-closed MCP adapter for untrusted model output over a local Tkach runtime.
Overview
Fail-closed security adapter that puts a local Tkach runtime between untrusted model proposals and protected actions, authorizing or denying them.
- What you can do
- Act as a stdio bridge from an MCP client to a separately running local Tkach HTTP runtime.
- Submit model proposals for authority and information-flow checks before an action is allowed or output released.
- Rely on Core-issued exact-scope permissions, provenance and release checks, and fail-closed decisions on invalid, denied, replayed or cancelled states.
- Keep broker-held secrets outside ordinary model context and record receipts without payloads.
- When to use it
- Use it when an agent's model output is treated as untrusted and protected actions or data exports must pass an explicit, fail-closed authorization boundary. It suits teams willing to run and configure the Tkach runtime themselves rather than expecting protection from installing a package.
- Requirements
- A separately started local Tkach runtime (tkach serve) on a loopback address, plus the TKACH_BEARER_TOKEN bearer token for that runtime; TKACH_HTTP_ADDR optionally sets the loopback address. The adapter is a Rust crate (cargo tkach-mcp) over stdio, desktop only. Installing the package alone does not enable background protection.
Installation
In SourceWeft
- Open Tkach Security in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
[Tkach Security — Krosna, Zaslon, Propusk and Sled]
A fail-closed security boundary for AI agents and compromised model output.
[CI] [GitHub release] [npm package] [PyPI package] [tkach-cli on crates.io] [MSRV 1.85] [Apache 2.0 license]
The model proposes. Tkach authorizes.
Put Tkach between model proposals and protected actions. Its Rust Core checks authority and information flow before allowing an action or releasing output. Model output remains untrusted data, even when the model is compromised.
Why Tkach
- Explicit authority: protected actions need an exact-scope, Core-issued
Propusk; model text cannot create one. - Controlled data flow: permission to read is not permission to export. Provenance and release checks remain inside the boundary.
- Fail-closed decisions: invalid, denied, replayed, cancelled, or uncertain states do not silently become permission.
- Isolated secrets and bounded evidence: broker-held secrets stay outside
ordinary model context;
Sledreceipts do not include payloads.
These guarantees apply to paths routed through Tkach. It does not make the model trustworthy, detect every prompt injection, or protect a compromised host.
Start in minutes
Install from crates.io with Rust 1.85 or newer:
init creates a starter request without overwriting files; check validates
its schema, not permission to execute; run --demo exercises the offline
boundary without a model connection. Use tkach ui for the interactive panel.
Prefer no Rust toolchain? Download a binary below and start with tkach init.
Packages and downloads · v0.1.2
Binary archives include SHA-256 manifests, keyless Sigstore bundles, and GitHub build attestations. Pin the OCI digest for deployment; verification details live in the distribution guide.
Integrate without moving policy out of Rust
Use the HTTP contract from
your application, the Rust client,
a Python/JS/TS/Go client,
or the stdio adapter from an MCP client.
Clients and MCP require a separately started local tkach serve runtime and
its bearer token; installing a package does not enable background protection.
tkach-core stays provider-, protocol-, and language-independent. Adapters
transport requests; policy and authority stay in Rust. Follow the
integration guide or copy a working examples/
scenario. The Go client is a source module, not a separate registry package.
The supported runtime is loopback-only by default. Public internet serving, TLS termination, Streamable HTTP, a cloud control plane, and a generic executor are not included; see the deployment contract.
Show the cross-platform CLI window
See the boundary in action
From a repository checkout, run the offline Golden Case. It needs no model service or credentials. It performs one create-only write inside a temporary sandbox, then proves that a sibling path and a compromised provider proposal are denied:
Expected result:
The positive path uses trusted host configuration for the exact policy, destination, and executor binding; the provider supplies only an untrusted proposal. Read the architecture for the enforcement path and the release notes for the release checks and remaining limitations.
Documentation
- Use: integration guide, examples, distribution.
- Review: product contract, architecture, security model, threat model.
- Follow: changelog, roadmap. Report vulnerabilities through SECURITY.md.
Contributing
Keep changes small and explicit about the security boundary. Core changes need a demonstrated security or product defect; adapters must remain thin and must not duplicate Core logic. See CONTRIBUTING.md for required checks, public-claim rules, and files that must remain local.
Support
If Tkach Security is useful to your work, support its continued maintenance:
- TON:
pointoncurve.ton - Bitcoin (BTC):
1ECDSA1b4d5TcZHtqNpcxmY8pBH1GgHntN - USDT (TRC20):
TUF4vPdB6QkjCvZq18rBL4Qj4dK5ihCN75
Contact
For inquiries about Tkach Security, integrations, security research, or collaboration:
Source: README.md at commit 009559d
Tools
0Version history
2- v0.1.2LatestSep 19, 2026
- v0.1.1Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts