Layer 4 · self-hosting reality check
What it actually takes to self-host Microsoft Presidio
The docs say 1 GB. In practice you want 4 GB with the spaCy NLP models loaded. Here is the honest version — real requirements, real monthly cost, what you will be maintaining, and the one thing that catches people out.
Usually reached from Azure AI Content Safety alternatives, where Microsoft Presidio is one of the picks.
| RAM — documented minimum | 1 GB |
|---|---|
| RAM — what it really needs | 4 GB with the spaCy NLP models loaded |
| CPU | 2 vCPU |
| Disk | 1–2 GB for language models |
| Monthly cost | $12–24/mo, or nothing if it runs in-process inside an existing service |
| Setup time | Half a day, longer to tune recognisers for your domain |
| How you install it | pip install, or containers for the analyzer and anonymizer services |
| Ongoing maintenance | Moderate. Custom recognisers need tuning as your data changes. |
| Where it stops scaling | Thousands of documents per minute per instance. It is CPU-bound and parallelises cleanly. |
The thing that catches people out
Out of the box it over-redacts and under-redacts at the same time: it will mask ordinary words that look like names while missing your internal account-number format entirely. Both failures are quiet. Write custom recognisers for your own identifier patterns, and measure against a labelled sample before you put it in front of anything that matters.
When not to self-host Microsoft Presidio
You need a guarantee rather than a strong filter. PII detection is probabilistic and should be one layer, not the whole compliance story.
Every guide here carries this section. A site that only ever tells you to self-host is selling something — the useful answer is sometimes no.
Other Layer 4 self-hosting guides
- Self-hosting Ollama8 GB VRAM for a 7B model at usable speed; 24 GB for 30B-class
- Self-hosting vLLM24 GB VRAM minimum for useful production serving
- Self-hosting QdrantVectors × dimensions × 4 bytes, in RAM, plus overhead — 1M × 768d is roughly 3 GB
- Self-hosting pgvector8 GB — the HNSW index wants to be resident
- Self-hosting LlamaIndex4 GB for the app; your vector store is the real cost
- Self-hosting faster-whisper5 GB VRAM for large-v3 in float16; 2 GB with int8
Common questions
- How much RAM does Microsoft Presidio actually need?
- 4 GB with the spaCy NLP models loaded in practice. The documented minimum is 1 GB, which is the figure at which the process starts rather than the figure at which it works under real use. 2 vCPU alongside it.
- What does self-hosting Microsoft Presidio cost per month?
- $12–24/mo, or nothing if it runs in-process inside an existing service This is commodity VPS pricing and excludes your time, which is the larger cost for most people — budget for moderate. Custom recognisers need tuning as your data changes.
- How long does it take to set up Microsoft Presidio?
- Half a day, longer to tune recognisers for your domain, via pip install, or containers for the analyzer and anonymizer services.
- When should I NOT self-host Microsoft Presidio?
- You need a guarantee rather than a strong filter. PII detection is probabilistic and should be one layer, not the whole compliance story.
- What is the most common mistake when self-hosting Microsoft Presidio?
- Out of the box it over-redacts and under-redacts at the same time: it will mask ordinary words that look like names while missing your internal account-number format entirely. Both failures are quiet. Write custom recognisers for your own identifier patterns, and measure against a labelled sample before you put it in front of anything that matters.