Deliverd Screen
Find and redact personal data and secrets in text before it reaches a model. Local, no account.
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
@deliverd/screenclaude mcp add deliverd-screen -- npx -y @deliverd/screen@0.2.0 mcp
{
"mcpServers": {
"deliverd-screen": {
"command": "npx",
"args": [
"-y",
"@deliverd/screen@0.2.0",
"mcp"
]
}
}
}
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
المحتويات
Deliverd SDKs and CLI
You build the action. Deliverd handles the human.
The SDKs and the CLI are now released from this public repository. From
@deliverd/sdk0.26.0, thedeliverdCLI 0.16.2 anddeliverd0.19.0 on PyPI, every release is built here and published by GitHub Actions with trusted publishing, so each one on npm and PyPI carries provenance linking it to the commit and workflow that built it. The Rust SDK, the .NET packages and Deliverd Screen have been released from here from the start, the Rust SDK by trusted publishing from 0.1.1. Earlier releases were published from a private repository under a single developer's account. Deliverd is growing, and as a company that supports open source it no longer made sense to keep it there: the source is now public, under the MIT licence. If a registry or a scanner shows a change of provenance or source repository at those versions, this is why.
Your AI agent asks a person for an approval, a review, an answer or a decision, and carries on when they respond. This repository is the source of the four packages that do the asking:
| Package | Install | Source |
|---|---|---|
| TypeScript SDK | npm install @deliverd/sdk | packages/sdk |
| Python SDK | pip install deliverd | packages/sdk-python |
| Rust SDK | cargo add deliverd | packages/sdk-rust |
| CLI | npx deliverd | packages/cli |
All four are MIT. The TypeScript and Python SDKs have no runtime dependency, the CLI has two, and the Rust SDK uses reqwest, serde and tokio rather than writing its own HTTP client. The Deliverd service every package here talks to is a separate, proprietary product.
.NET and Microsoft Agent Framework
| Package | Install | Source |
|---|---|---|
| .NET client | dotnet add package Deliverd | packages/sdk-dotnet |
| Agent Framework adapter | dotnet add package Deliverd.AgentFramework | packages/sdk-dotnet |
Both MIT. The client needs nothing beyond .NET; the adapter adds
Microsoft.Agents.AI, and answers Agent Framework's tool approvals with a
person's decision.
Deliverd Screen: a pre-send check for every prompt
It finds personal data, secrets and your own confidential terms in text before the text goes to an AI model, and redacts them. Everything runs on your machine, with no account and no network call, so it works whether or not you use Deliverd.
| Package | Install | Source |
|---|---|---|
| Deliverd Screen for TypeScript | npm install @deliverd/screen | packages/screen |
| Deliverd Screen for Python | pip install deliverd-screen | packages/screen-python |
| Deliverd Screen for Rust | cargo add deliverd-screen | packages/screen-rust |
import { screen } from "@deliverd/screen";
const checked = await screen(prompt);
if (checked.allowed) return checked.restore(await model.generate(checked.text));
All three are MIT. The TypeScript and Python packages have no runtime dependency, and the Rust crate's library has one, regex. They find the same things as the SDKs, held to one set of test cases. You can plug in a model for people's names, a CLI for pre-commit hooks and CI, and a local MCP server, and in TypeScript a Vercel AI SDK middleware. When a person has to decide whether something may be sent, Deliverd's Data Gate asks them and keeps the record.
Start free
- Create a free Deliverd account. The Free plan needs no card.
- Name your organisation. The next page hands you a key: set it as
DELIVERD_API_KEY. - Ask a person. Leave
approversout and the request goes to your organisation's owners and admins.
import { deliverd } from "@deliverd/sdk";
const decision = await deliverd.approve({ title: "Deploy to production" });
if (decision.approved) await deploy();
from deliverd import deliverd
decision = deliverd.approve(title="Deploy to production")
if decision.approved:
deploy()
npx deliverd login
npx deliverd ask "Deploy to production?" --wait
The approver gets an email and a notification, opens a page that works on a phone, and approves, rejects with a reason, or asks your agent a question. Every step is on the record.
Before you have an account
Development mode needs no key and no network. It prints what the approver would have seen and answers at once:
import { Deliverd } from "@deliverd/sdk";
const deliverd = new Deliverd({ mode: "development" });
from deliverd import Deliverd
deliverd = Deliverd(mode="development")
What is here
packages/sdk:@deliverd/sdkon npm. Node 20 and up.packages/sdk-python:deliverdon PyPI. Python 3.9 and up, standard library only, blocking orasyncio.packages/sdk-rust:deliverdon crates.io. Rust 1.89 and up, async on tokio.packages/sdk-dotnet:DeliverdandDeliverd.AgentFrameworkon NuGet. .NET 8 and up.packages/cli:deliverdon npm. For build steps, pipelines, scripts and connecting your AI tools over MCP.packages/screen,packages/screen-pythonandpackages/screen-rust: Deliverd Screen,@deliverd/screenon npm anddeliverd-screenon PyPI and crates.io.packages/conformance: one table of behaviour every SDK must share: retries, idempotency, webhook signatures, durations, gating and data screening. Each SDK's test suite reads it, so a case added there fails in whichever language has not implemented it.
Each package's README is the page you see on npm, PyPI or crates.io, and covers the package in full. The developer docs cover the API behind them.
Running the tests
pnpm install
pnpm --filter @deliverd/sdk build # release.test.ts reads dist/
pnpm vitest run
cd packages/sdk-python
PYTHONPATH=src python -m unittest discover -s tests
cd ../screen-python
PYTHONPATH=src python -m unittest discover -s tests
cd ../sdk-rust
cargo test
cd ../screen-rust
cargo test
cd ../sdk-dotnet
dotnet test Deliverd.slnx
How this repository works
The packages are developed in Deliverd's own repository, beside the API they call, and copied here after every change. The checks that hold them to that API and to its documentation run there, on every change, before anything arrives here; the tests in this repository are the ones that need nothing else.
So a pull request here is not merged here. Open one anyway, or an issue: we carry the change across, credit you in the commit, and it comes back in the next copy. Releases are published from this repository, by GitHub Actions with npm's, PyPI's, crates.io's and NuGet's trusted publishing, so each release on npm carries provenance linking it to the commit and workflow that built it.
Security
Please report a vulnerability privately through the contact page rather than in an issue. How the service handles data is on deliverd.dev/security.
Licence
MIT. It covers the code in this repository only.
الأسئلة الشائعة
ما هو Deliverd Screen؟
Find and redact personal data and secrets in text before it reaches a model. Local, no account.
كيف أثبّت Deliverd Screen؟
يعمل على جهازك. في Claude Code: claude mcp add deliverd-screen -- npx -y @deliverd/screen@0.2.0 mcp. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج Deliverd Screen إلى مفتاح API؟
لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.
هل Deliverd Screen مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص MIT.
من يصون Deliverd Screen؟
ينشره deliverd-dev. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.