What changed on 26 October 2026
Google's release notes say new projects using the Generate Content API (generateContent, streamGenerateContent and batchGenerateContent) on the paid tier now store requests by default (store=true), matching the Interactions API. Existing projects keep their current setting.1 The logging guide pins the cut-off to project creation: projects created on or after 26 October 2026 store by default, and earlier projects stay at store=false unless storage was switched on in AI Studio.2
Three details decide who is affected:
- Storage only exists for paid-tier projects, so a free-tier project has no stored logs to worry about.2
- The Interactions API already stored by default, so a project that was "off" for Generate Content may still be storing Interactions calls.2
- Calls made through Google's OpenAI-compatibility endpoints are covered by logging.2 Teams that use the OpenAI SDK against Gemini are in scope too.
The rest of this checklist is ordered the way a review usually goes: find, decide, configure, constrain the data path, then document.
Step 1: find the projects and keys that are affected
Google's billing model works at the project and billing-account level: a project's tier and plan show on the AI Studio Projects page, and tiers are determined at the billing-account level.3 Use that page as the starting list, then add the fields the review will ask for.
Work through it like this:
- List every Google project that holds a Gemini API key, including ones created by individual developers in AI Studio. The billing guide notes new users get a project and key created for them by default, so unmanaged keys are likely.3
- Record the creation date and whether billing is linked. Paid and created on or after 26 October 2026 means storage is on until someone turns it off.
- For older paid projects, open the Settings panel of the Logs and Datasets dashboard and read the actual toggle for both Generate Content and Interactions. Do not infer it from the date.
- Map each key to its project and to the applications that use it. A key in a new project is where the new default applies, even if the application is old.
- Mark any project created after 26 October that was free first and upgraded later as "verify". The release notes talk about new paid-tier projects and the guide ties the default to creation date, so confirm the toggle in the dashboard rather than assuming either way.
If you already keep a credential inventory, add a "retention at provider" column to it; the existing AI API key inventory post covers the rest of that record.
Step 2: decide per project whether storage should be on
Storage is not only a risk. Google positions logs as something to observe and debug with, and the Interactions API relies on it for server-side conversation state.2 The decision is per workload.
Turn it off, or keep it off, when prompts carry customer personal data, regulated data or contract-restricted content, and you already hold your own logs under a policy you control. Leave it on when a team debugs model behavior from the AI Studio dashboard, the data is low-sensitivity, and the retention window matches your policy.
One trap: switching Interactions API logging off in the Settings panel stops the API automatically storing and retrieving conversation history unless overridden per request.2 Do not apply a blanket "off" to a project that depends on server-side state without testing it.
Step 3: apply the settings, at both levels
There are two controls, and the request-level store property takes precedence over the project-level setting.2
Project level. In AI Studio, open the Logs and Datasets dashboard, go to Settings, and turn Generate Content API logging off or on. The toggle is independent for Generate Content and Interactions.2 The release notes name this panel as one of two ways to opt out.1
Request level. Setting store on Generate Content requests needs google-genai 2.33.0 or later for Python, @google/genai 2.31.0 or later for JavaScript, google-genai 1.79.0 or later for Java, and google.golang.org/genai 1.76.0 or later for Go.2
from google import genai
client = genai.Client()
response = client.models.generate_content(
model="gemini-3.8-flash",
contents="Classify this support ticket.",
config={"store": False}, # this request is not stored
)
print(response.text)Pin it in a shared client wrapper rather than at each call site, so a new service cannot forget it. Pin the SDK floor in your dependency file; an older SDK may not send the field at all, which would leave you on the project default. Whether the OpenAI-compatibility endpoint accepts a store field is not stated on the pages read here, so for those callers rely on the project-level toggle and verify it.
- Set the project toggle for every in-scope project, and record who changed it and when.
- Add
storeto the shared client wrapper for sensitive workloads, and raise the SDK minimums. - Confirm the batch path (
batchGenerateContent) is covered; it is in the default.1 - Send one test request per project and check in the Logs dashboard that nothing appears.
Step 4: set retention and keep datasets under control
If storage stays on, retention is your lever. Logs are kept for a default maximum of 55 days, then automatically marked for deletion; the window can be changed per project to 7, 14, 28 or 55 days.4 Pick the shortest window that still serves debugging.
Datasets are the part that deserves a rule. A dataset retains selected logs beyond the retention period, and logs stored in datasets have no set retention period.4 If you share a dataset with Google, it is processed under the Unpaid Services terms, which means it may be used to improve Google products and models and human reviewers may read it.4 Google's own page tells you not to include personal, sensitive or confidential information.4
The baseline is better than the sharing path: because logging is only available on billing-enabled projects, prompts and responses within logs are by default not used for product improvement or development.4 Your control is to make sharing a deliberate act:
- Restrict who can create datasets and tick the share option in AI Studio to named project owners.
- Add a periodic review of existing datasets, since they do not expire.
- Do not enroll a project in the Contributor Tier without legal sign-off. It is an invite-only preview that lowers token rates in exchange for data use under the Unpaid Services terms for the participating models.4
Step 5: constrain the data path before the prompt leaves
A project toggle governs what Google stores. It does not reduce what you send. Controls upstream of Google still matter:
- Redact or block identifiers before the call; the PII in LLM prompts post covers the patterns and their misses.
- Limit which models a project can reach, so traffic does not drift to a project or model you have not reviewed.
- Keep production, staging and development keys in separate Google projects so a sandbox's storage setting is not inherited by production data.
- Keep your own logging off or short for payloads, and be explicit that it is a different system from Google's logs.
If you route through INFRO, the relevant shipped pieces are: payload logging that is off by default with a retention window you choose, guardrails that can block, redact or flag patterns in prompts (detection can miss things), model allowlists per project, and an audit log of policy changes. INFRO's docs state that disabling INFRO logging does not disable storage or logging at your AI provider,5 so the Google setting from Step 3 still has to be made at Google. Per-request history and payload access are scoped per gateway key.6 The docs I read do not say INFRO forwards a Gemini store value, so do not rely on it to.
Step 6: what to tell a procurement review
Procurement and security questionnaires usually ask "where are prompts retained, for how long, and who can use them". Answer in layers rather than one sentence, because three different stores exist.
- Your application and gateway logs. State what is recorded (metadata only, or prompts and responses), the retention window, and who can read it. For INFRO, content logging is off until an owner or admin turns it on, and the stored window is the smaller of the organization's choice and the plan's maximum.5
- Google project logs. State the project's storage setting, the retention (default 55 days, or the 7, 14 or 28 you set), that logs are private to the project, and that by default they are not used for product improvement.4 State whether any dataset exists and whether any was shared.
- Google abuse-monitoring logs. Google describes these as separate from project logs and held solely for abuse monitoring.4 The retention period is not visible on the pages read for this post, so cite Google's abuse-monitoring page and your contract rather than promising "no retention".
Add the contractual basis: the paid-services data-use terms in Google's Additional Terms, effective 23 March 2026,7 and the billing guide's note that linking a billing account is how prompts and responses are kept out of product improvement.3 The terms also say that if you make API clients available to users in the EEA, Switzerland or the UK, you may use only Paid Services.7 That makes the paid path, with its storage default, the one your European workloads are on.
A one-paragraph statement that holds up:
For Gemini API projects on the paid tier, request storage is enabled per project. Projects created from 26 October 2026 default to on; we set it per project and per request and record the setting in our inventory. Stored logs are private to the project, retained for the window we configure (up to 55 days), and are not used for Google product improvement unless a dataset is deliberately shared, which requires named approval. Separate abuse-monitoring logs are governed by Google's terms.
Review cadence
Google changes these defaults through release notes, not contract amendments, so put the release-notes page on a monthly review with the rest of your provider terms. Re-run Step 1 whenever a team creates a new project, since each one starts from the current default. The broader prompt and payload logging policy post covers what to keep in your own logs.
