Skip to content
Secure AI
Quick start

Your first private
AI call, in five minutes.

Get a free key, send one request, and see the names and numbers that never reached the model. Then put Secure AI in front of the model you already use by changing one line.

POST /v1/redactLive
{
  "object": "redaction",
  "cleaned_text": "Hi, I am Sylvie Nakashima. Ring me on
           (415) 637-6526 or email
           ingrid.sinclair@outlook.com",
  "entities_found": { "name": 1, "phone": 1, "email": 1 },
  "map": {
    "Sylvie Nakashima": "Sara Whitfield",
    "(415) 637-6526": "07700 900123",
    "ingrid.sinclair@outlook.com": "sara@example.com"
  },
  "redacted": 3
}

1 · Get a key.

Sign in and open the developer console, then Create a key. The free plan includes 50,000 requests a month, no card. Copy the key now; it is shown once.

2 · Hide the details in one sentence.

Send any text. What comes back has believable stand-ins in place of the real people and numbers, and a map of which is which, so you can put them back later.

Terminal

curl https://secureai.one/v1/redact \
  -H "Authorization: Bearer $SECURE_AI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Hi, I am Sara Whitfield. Ring me on 07700 900123 or email sara@example.com"}'

3 · Protect your AI app in one line.

Redact before your model, restore after it. Your app calls the AI itself, with your own key: Secure AI sees only the text going in, never the answer, and the real values go back on your machine. Keep the map as private as the text.

  • TypeScript · npm i @secure-ai/guard

    import { SecureAI } from "@secure-ai/guard";
    
    const sai = new SecureAI({ apiKey: process.env.SECURE_AI_KEY! });
    
    const { cleaned_text, map } = await sai.redact(userText);
    const reply = await yourModel(cleaned_text);   // your model, your key
    const answer = sai.restoreLocal(reply, map);   // on your machine
  • Python · pip install secure-ai-guard

    from secure_ai import SecureAI
    
    sai = SecureAI(api_key=os.environ["SECURE_AI_KEY"])
    
    r = sai.redact(user_text)
    reply = your_model(r.cleaned_text)   # your model, your key
    answer = sai.restore(reply, r.map)   # on your machine

4 · Or put it in front of your model.

Keep your OpenAI SDK and your own model key. Change the base URL and add one header: every request is hidden on the way out, and the answer comes back with the real details in it.

  • Python

    from openai import OpenAI
    
    # Your Secure AI key, and your own OpenAI key in a header
    client = OpenAI(
        api_key="sai_...",
        base_url="https://secureai.one/v1/proxy",
        default_headers={"X-Provider-Key": "sk-..."},
    )
    
    reply = client.chat.completions.create(
        model="gpt-5.5",
        messages=[
            {"role": "user", "content": "Draft a reply to Sara Whitfield"},
        ],
    )
    # Sara's real name is back in the answer
    print(reply.choices[0].message.content)
  • TypeScript

    import OpenAI from "openai";
    
    // Your Secure AI key, and your own OpenAI key in a header
    const client = new OpenAI({
      apiKey: process.env.SECURE_AI_KEY,
      baseURL: "https://secureai.one/v1/proxy",
      defaultHeaders: {
        "X-Provider-Key": process.env.OPENAI_API_KEY!,
      },
    });
    
    const reply = await client.chat.completions.create({
      model: "gpt-5.5",
      messages: [
        { role: "user", content: "Draft a reply to Sara Whitfield" },
      ],
    });

Not OpenAI?

# Claude, Gemini, Mistral, Grok, DeepSeek, Groq, Azure, Bedrock…
default_headers={"X-Provider": "mistral", "X-Provider-Key": "<your Mistral key>"}

5 · See what was kept back.

Open Home in Secure AI: each call is counted by kind (names, phone numbers, cards) the moment it is made. Only the counts are kept, never the text.

Using an agent tool?

Each one has its own short page or section.

Secure AI

Use any AI. Stay anonymous.

© 2026 Secure Artificial Intelligence, Inc.Private details never reach the AI.
Quick start · Secure AI