Secure Your API Keys in Seconds
Proxana lets you hide secrets, enforce per-user rate limits, and get real-time analytics—all through a simple managed proxy endpoint. Spend your time building great UIs, not boilerplate servers.
How it works
Before
After
fetch( "https://api.openai.com/v1/completions", { method: "POST", headers: { "Content-Type": "application/json", "Authorization": "Bearer sk-XXXXXXX" // ⚠️ Exposed in client! } });
fetch( "https://my-proxy.proxana.dev/v1/completions", { method: "POST", headers: { "Content-Type": "application/json", "Authorization": `Bearer ${userJwt}` // ✅ No secrets exposed! }, });
Before
After
fetch( "https://api.openai.com/v1/completions", { method: "POST", headers: { "Content-Type": "application/json", "Authorization": "Bearer sk-XXXXXXX" // ⚠️ Exposed in client! } });
fetch( "https://my-proxy.proxana.dev/v1/completions", { method: "POST", headers: { "Content-Type": "application/json", "Authorization": `Bearer ${userJwt}` // ✅ No secrets exposed! }, });
Before
After
fetch( "https://api.openai.com/v1/completions", { method: "POST", headers: { "Content-Type": "application/json", "Authorization": "Bearer sk-XXXXXXX" // ⚠️ Exposed in client! } });
fetch( "https://my-proxy.proxana.dev/v1/completions", { method: "POST", headers: { "Content-Type": "application/json", "Authorization": `Bearer ${userJwt}` // ✅ No secrets exposed! }, });
Before
After
fetch( "https://api.openai.com/v1/completions", { method: "POST", headers: { "Content-Type": "application/json", "Authorization": "Bearer sk-XXXXXXX" // ⚠️ Exposed in client! } });
fetch( "https://my-proxy.proxana.dev/v1/completions", { method: "POST", headers: { "Content-Type": "application/json", "Authorization": `Bearer ${userJwt}` // ✅ No secrets exposed! }, });