|
Download README.md from Securelayer7/promptpurify: direct link, hf CLI and curl.
- Browser
- Download file 3.09 kB
-
https://huggingface.co/Securelayer7/promptpurify/resolve/main/README.md
- Command line
-
hf download hf://Securelayer7/promptpurify/README.md
-
curl -L -o README.md https://huggingface.co/Securelayer7/promptpurify/resolve/main/README.md
3.09 kB
| license: mit | |
| language: | |
| - en | |
| library_name: onnx | |
| pipeline_tag: text-classification | |
| tags: | |
| - prompt-injection | |
| - jailbreak | |
| - llm-security | |
| - guardrail | |
| - onnx | |
| metrics: | |
| - recall | |
| - false_positive_rate | |
| # promptpurify model card | |
| **Tiny prompt-injection detector. ~14 MB. CPU. Built from scratch by | |
| [SecureLayer7](https://securelayer7.net).** | |
| ## Intended use | |
| Single-turn classification of untrusted text into `benign` vs | |
| `prompt-injection`. Sits between user input (or a retrieved RAG chunk, | |
| or a tool output) and your LLM call. Outputs a probability score; you | |
| decide the threshold and the policy. | |
| ```ts | |
| import { createL5eRunner } from "promptpurify/l5"; | |
| const guard = await createL5eRunner(); | |
| const score = await guard.score(userMessage); | |
| if (score >= 0.95) return refusal(); | |
| ``` | |
| Full integration patterns: [docs/QUICKSTART.md](docs/QUICKSTART.md). | |
| ## At a glance | |
| | | | | |
| |---|---| | |
| | Type | ONNX transformer classifier | | |
| | Size on disk | **~14 MB (INT8)** | | |
| | Inference | CPU, single-digit ms | | |
| | Runtime | `onnxruntime-node` (optional peer) | | |
| | Network | **None.** In-process. | | |
| ## Training | |
| Built from scratch by SecureLayer7 on curated internal corpora. | |
| ## Evaluation | |
| Benchmarked against public datasets and OSS baselines. Comparison and | |
| methodology: [docs/BENCHMARKS.md](docs/BENCHMARKS.md). Reproducibility: | |
| [docs/REPRODUCE.md](docs/REPRODUCE.md). Bench script | |
| `scripts/bench.mjs` re-scores the shipped public eval slice with this | |
| exact model artifact. | |
| ## Out of scope | |
| - Single-turn scoring only — pair with conversation-level monitoring. | |
| - Content moderation (toxicity, hate, CSAM, self-harm) — pair with a | |
| content classifier. | |
| - Authentication and tool-scope enforcement are application | |
| responsibilities, not the model's. | |
| See [docs/HONEST-LIMITS.md](docs/HONEST-LIMITS.md). | |
| ## Bias | |
| The model is English-strongest. Operators serving multilingual traffic | |
| should calibrate the threshold per language. The model has no access | |
| to user identity, account state, or conversation history. | |
| ## License | |
| MIT for both the SDK and the model weights. | |
| Public datasets we evaluate against (and the OSS baseline models we | |
| compare to) carry their own upstream licenses — see | |
| [`training/CORPUS_LICENSES.json`](training/CORPUS_LICENSES.json). | |
| ## Integrity verification | |
| Every model artifact is checksummed. Verify before extracting: | |
| ```bash | |
| sha256sum -c models/l5e/SHA256SUMS | |
| ``` | |
| The release tarball is additionally cosign-signed with keyless | |
| Sigstore. | |
| ## Distribution mirrors | |
| | Mirror | URL | | |
| |---|---| | |
| | GitHub Releases | `https://github.com/securelayer7/PROMPTPurify/releases` | | |
| | Hugging Face Hub | [`Securelayer7/promptpurify`](https://huggingface.co/Securelayer7/promptpurify) | | |
| ## Contact | |
| - Security disclosures: [`SECURITY.md`](SECURITY.md) → | |
| `info@securelayer7.net` | |
| - General: [GitHub Issues](https://github.com/securelayer7/PROMPTPurify/issues) | |
| ## Acknowledgments | |
| Name and design philosophy inspired by | |
| [DOMPurify](https://github.com/cure53/DOMPurify) by [Cure53](https://cure53.de). | |
| Thanks to **Mario Heiderich** for suggesting the name. | |