TypingMind + Grepture: a chat UX, plus privacy, observability, and centralized routing
TypingMind is one of the best ChatGPT clients on the market. It's a polished BYOK frontend for OpenAI, Anthropic, and Gemini — your team brings their own keys, you skip the per-seat ChatGPT bill, and you get a fast, keyboard-driven chat experience.
Grepture sits between TypingMind and the providers and adds three things on top:
- Privacy — PII detection scrubs sensitive data on every outbound request, before it reaches OpenAI, Anthropic, or Gemini.
- Centralized routing — every chat call flows through one proxy URL, with a rules engine to block or tag specific content.
- Observability — a searchable audit log of every prompt and response, with token counts, costs, and per-user attribution.
Starting today, you can route every TypingMind request — OpenAI, Anthropic, or Gemini — through Grepture with a single base URL change. No SDK, no plugin, no fork.
What Grepture adds on top
Per-user, per-prompt cost tracking
Every TypingMind chat request flows through Grepture with its token count, model, and cost attached. Roll that up by user, by day, by team — finance gets a real answer to "what did we spend on which model last month, and who used it?"
Searchable prompt audit log
Every prompt and response gets indexed in your Grepture dashboard. Search by content, filter by user, replay a multi-turn conversation. When compliance asks "what did your team send to OpenAI in March," you have an answer instead of a shrug.
PII redaction before the request leaves
A chat UI like TypingMind is intentionally hands-off about what users type — that's the right call for a product focused on chat UX. Grepture's PII detection is the layer that handles the outbound side: customer emails, internal URLs, API keys, credit card numbers and employee names get stripped on every request before they reach OpenAI, Anthropic, or Gemini. Same rules you use for production API traffic, now in front of your team's chat app.
Content rules and blocking
Beyond PII, the same rules engine lets you block prompts that match a pattern, find-and-replace strings, tokenize fields you want masked, or just log-and-tag specific traffic. Useful for "no production credentials in chat" policies or for tagging customer-support prompts so they show up as a separate slice in the dashboard.
Setup takes 2 minutes
TypingMind exposes custom endpoint URL fields per provider in its settings. You paste the Grepture URL there, keep your existing OpenAI / Anthropic / Gemini key in the API key field, and you're done.
In TypingMind:
- Click on Models in the left sidebar to access the model settings
- Click the gear icon next to each model provider
- Click Show more to reveal the optional endpoint fields
- Paste the Grepture URLs below into the matching fields and click Save
TypingMind expects full endpoint URLs, not base URLs — it does not auto-append
/v1/chat/completions(or anything else). Use the full URLs exactly as written below.
OpenAI — set both endpoints
OpenAI exposes separate endpoint fields in TypingMind for Chat Completions and the Responses API. Set both — newer models (GPT-5, o-series, anything that uses the Responses API) bypass the proxy and go directly to OpenAI if only Chat Completions is configured:
Chat Completions Endpoint:
https://proxy.grepture.com/openai/grp_your-key-here/v1/chat/completions
Responses API Endpoint:
https://proxy.grepture.com/openai/grp_your-key-here/v1/responses
Anthropic
Messages Endpoint:
https://proxy.grepture.com/anthropic/grp_your-key-here/v1/messages
Gemini
Chat Endpoint:
https://proxy.grepture.com/gemini/grp_your-key-here
Gemini's endpoint URL embeds the model and method (e.g. /v1beta/models/<model>:generateContent), so TypingMind builds the full URL on top of this base. Leave the rest of the path off.
Replace grp_your-key-here with your Grepture API key from the dashboard. Keep your real OpenAI / Anthropic / Gemini key in TypingMind's API key field — Grepture extracts the Grepture key from the URL and forwards the provider key upstream untouched.
That's it. Every TypingMind request now flows through Grepture. Open your dashboard to watch the traffic come in.
How it works under the hood
TypingMind sends standard provider requests — Chat Completions or Responses API for OpenAI, Messages for Anthropic, GenerateContent for Gemini. The Grepture proxy accepts these at /openai/<key>/*, /anthropic/<key>/*, and /gemini/<key>/* respectively, strips the prefix, applies your detection rules, and forwards to the upstream provider with your real key. Whatever path you put after <key>/ is forwarded verbatim, so the same proxy URL handles /v1/chat/completions, /v1/responses, /v1/audio/transcriptions, and so on.
The compat layer is provider-aware:
- For OpenAI and Gemini, the
Authorization: Bearer <provider-key>header is forwarded as-is. - For Anthropic, the
x-api-keyheader is forwarded as-is. - Streaming responses (the default for chat) are streamed back token-by-token — no buffering, no broken UX.
On the way back, every response flows through Grepture: logged, token-counted, and (if you have output rules enabled) scrubbed of any PII that made it into the model's reply.
Added latency is around 8-12ms per request — negligible against model inference.
Team rollout pattern
You'll use a single Grepture team API key for everyone — that's the only shape Grepture supports today. To get per-user attribution, have each team member add a custom header in their TypingMind endpoint settings:
x-grepture-label: alice@company.com
TypingMind lets you add arbitrary headers alongside the proxy URL on each provider endpoint. Grepture indexes the x-grepture-label value on every request, so you can filter, group, and roll up dashboard traffic by user without managing separate keys.
If you want to slice by more than one dimension (user and project, say), use x-grepture-metadata instead:
x-grepture-metadata: {"user":"alice@company.com","project":"support-bot"}
Same idea, arbitrary tags. Anything you put in there is searchable in the dashboard.
What this unlocks
A few things teams have asked for that are now possible:
- "Show me everyone's TypingMind spend for the quarter." Dashboard query, 5 seconds — grouped by the
x-grepture-labeleach user sets. - "Is anyone running GPT-4 on customer support emails?" Filter by content, find the offending prompts, talk to the team.
- "We need a SOC2 audit trail for AI usage." Every prompt, every response, every cost, every PII redaction — logged with timestamps and user attribution.
- "Block sending emails to OpenAI." Add a detection rule, done.
What's next
TypingMind is the first stop in a broader push. The same proxy compat layer that powers this works with any chat UI that exposes a custom OpenAI or Anthropic base URL — LibreChat, LobeChat, Open WebUI, NextChat, ChatBox, BoltAI, and more. Setup guides for each are landing over the coming weeks.
If you're using a chat client that isn't in that list and you'd like it covered, let us know.
Get started
- Create a Grepture account — free plan covers 1,000 requests/month
- Paste the proxy URL into TypingMind's API Endpoints settings
- Open the dashboard and watch your team's traffic flow in
Setup details and troubleshooting in our chat UI integration page.