Hello,
We are building a SaaS product (a booking/management system for small fitness studios,
based in Japan) and are considering adding a feature where each of our own end-customers
can individually provide their own Gemini API key (from Google AI Studio / aistudio.google.com).
The intended architecture is:
- Each end-customer generates their own API key from their own Google AI Studio account
(NOT our company’s own account). - Our backend stores that specific end-customer’s key encrypted at rest, and uses it ONLY
to make API calls on behalf of that same end-customer, in response to that customer’s own
explicit in-app requests. The key is never exposed client-side / in the browser. - No single key is ever shared across multiple end-customers.
- End-customers can view, rotate, or delete their stored key at any time.
We found two related threads on this forum that appear to be unanswered:
- Topic 172956 (“Is a paid BYOK service that stores & uses a user’s own Gemini API key…”)
- Topic 107950 (“I need users to provide their own API key! But this isn’t allowed any more!”)
Regarding 107950: we believe the “prohibited” warning there was about a different pattern
(storing keys client-side, in browser localStorage, exposed to the end-user’s own browser).
Our architecture is server-side only - closer to how Cloudflare AI Gateway’s BYOK feature
already supports Gemini today (keys stored server-side in their Secrets Store).
We already asked Anthropic and OpenAI the same question and got conflicting guidance:
- Anthropic confirmed this BYOK pattern (individual API keys, stored server-side, never
client-side) is the correct/permitted approach. - OpenAI’s support suggested that storing an end-customer’s personal key on our servers
is effectively “sharing” the key with a third party, and recommended against it.
Given this conflict, and that the two related threads above never got a clear answer,
we’d really appreciate a definitive answer from Google: is this BYOK model permitted under
the Gemini API Terms of Service / Additional Terms? Are there specific requirements or
restrictions we should be aware of?
Thank you for any guidance.