This document explains how the Faasera Proxy intercepts, redacts, and routes LLM (Large Language Model) requests securely using Faasera Profiler.
A user or app sends a standard OpenAI-style request to the proxy instead of directly to OpenAI or another LLM provider.
POST http://localhost:8080/v1/chat/completions
Authorization: Bearer <API_KEY>
Content-Type: application/json
{
"model": "gpt-4",
"messages": [
{"role": "user", "content": "What is Jane Doe's SSN 123-45-6789?"}
]
}
messages array from the payload.For each message:
POST /api/profile-mask/default
Content-Type: application/json
{
"value": "What is Jane Doe's SSN 123-45-6789?"
}
The Faasera Profiler returns:
{
"replacement": "What is [[NAME]]'s SSN [[SSN]]?"
}
message.content.Based on the environment config (DEFAULT_TARGET=openai|claude|gemini|local), the proxy determines where to send the request.
Example:
https://api.openai.com/v1/chat/completions
Authorization header.Example LLM response:
{
"id": "chatcmpl-xyz",
"choices": [{
"message": {
"role": "assistant",
"content": "I'm sorry, but I cannot access personal information such as SSNs."
}
}]
}
┌────────────────────────┐
│ 1. Client Request │
└────────────┬───────────┘
│
▼
┌────────────────────────┐
│ 2. Proxy Receives │
└────────────┬───────────┘
│
▼
┌────────────────────────────┐
│ 3. Call Faasera Profiler. │
│ for Redaction │
└────────────┬───────────────┘
│
▼
┌────────────────────────┐
│ 4. Replace Message │
└────────────┬───────────┘
│
▼
┌──────────────────────────────────────────┐
│ 5. Route to LLM (OpenAI, Claude, etc.) │
└────────────┬─────────────────────────────┘
│
▼
┌────────────────────────┐
│ 6. Send to LLM │
└────────────┬───────────┘
│
▼
┌────────────────────────┐
│ 7. Receive Response │
└────────────┬───────────┘
│
▼
┌────────────────────────┐
│ 8. Return to Client │
└────────────────────────┘
Visit https://www.faasera.ai for additional SDKs, plugins, and compliance features.