---
title: "Deploy Presidio"
description: "Authenticated PII detection and anonymization API"
category: "AI/ML"
url: https://railway.com/deploy/presidio-pii
---

# Deploy Presidio

Authenticated PII detection and anonymization API

**[Deploy Presidio on Railway](https://railway.com/template/presidio-pii)**

- **Creator:** Tom
- **Category:** AI/ML

## Template content

### anonymizer https://raw.githubusercontent.com/monotykamary/railway-template-presidio/41236aafe976bb046e1a4d9fa0082dd1fa3c72c8/assets/presidio-icon.png

- **Source:** https://github.com/monotykamary/railway-template-presidio
- **Health check:** /health

### proxy https://raw.githubusercontent.com/monotykamary/railway-template-presidio/41236aafe976bb046e1a4d9fa0082dd1fa3c72c8/assets/presidio-icon.png

- **Source:** https://github.com/monotykamary/railway-template-presidio
- **Health check:** /healthz
- **Public domain:** Yes

### analyzer https://raw.githubusercontent.com/monotykamary/railway-template-presidio/41236aafe976bb046e1a4d9fa0082dd1fa3c72c8/assets/presidio-icon.png

- **Source:** https://github.com/monotykamary/railway-template-presidio
- **Health check:** /health

## Documentation

# Deploy and Host Presidio on Railway

## About Hosting Presidio

Presidio detects personally identifiable information in text and applies configurable anonymization operators. This template deploys stable version 2.2.364 with analyzer and anonymizer services kept private behind an authenticated proxy.

Retrieve `BASIC_AUTH_USER` and the generated `BASIC_AUTH_PASSWORD` from the proxy service before calling `/analyze` and `/anonymize`.

## Common Use Cases

- Detect names, phone numbers, emails, payment data, and identifiers
- Redact or replace sensitive text before storage or model processing
- Add a private PII-processing API to internal pipelines

## Dependencies for Presidio Hosting

### Deployment Dependencies

- Private Presidio Analyzer
- Private Presidio Anonymizer
- Public Caddy authentication proxy
- No database or persistent volume

### Implementation Details

Railway HTTPS routes to Caddy on port 8080. The proxy enforces generated HTTP Basic credentials, limits request bodies to 1 MB, and routes `/analyze` and `/anonymize` over Railway private DNS. `/healthz` verifies the analyzer; each private service also has its own `/health` deployment check.

Presidio 2.2.364 can return HTTP 500 for some malformed or schema-invalid requests, so clients should validate payloads before submission. Presidio detection is not infallible. The included official image uses its default English setup; production deployments need domain-specific recognizers, models, thresholds, and test corpora.

## Why Deploy Presidio on Railway?

Railway provides managed HTTPS, generated credentials, private service networking, health checks, and reproducible deployment for a stateless PII processing pipeline.


## Similar templates

- [Chat Chat](https://railway.com/deploy/-WWW5r) — Chat Chat, your own unified chat and search to AI platform.
- [stella](https://railway.com/deploy/stella) — Self-host stella with web, API, Postgres, Redis, and object storage.
- [Hermes Agent | OpenClaw Alternative with Dashboard](https://railway.com/deploy/hermes-agent-or-openclaw-alternative-wit) — Self-Hosted Hermes AI Agent for Telegram, Discord & Slack

Open this page in a browser: https://railway.com/deploy/presidio-pii
