On 27 August OpenAI announced its commercial operations in Brazil and published the country's usage figures. Coverage converged on one of them: 215 million messages a day. Two others sit a few paragraphs apart, and nobody compared them.


Summary

  • Daily Codex interactions in Brazil grew roughly thirtyfold since the start of 2026. ChatGPT Enterprise seats grew fivefold over twelve months.
  • 35% of classified messages from individual accounts in Brazil are work-related, against 30% globally. 53% of those ask for a task to be completed, and OpenAI's own list of those tasks includes writing code.
  • Asking for execution carries context. A request to refactor a function carries the function.
  • Source code leaves by three routes. A written policy reaches one; the other two close with configuration and an inventory.

1. Brazil ranks second in the world by developers on the OpenAI API

The figure is in the publication itself: by number of developers using the OpenAI API, Brazil ranks second globally. It is also Codex's largest market in Latin America.

Since the start of 2026, weekly Codex users in Brazil have grown more than elevenfold, and daily interactions nearly thirtyfold.

Daily Codex interactions grew roughly thirtyfold since the start of 2026; enterprise seats fivefold year over year.

2. What was bought grew fivefold in twelve months. What is used grew thirtyfold in eight.

ChatGPT Enterprise seats in Brazil grew fivefold year over year. Strong growth, and it represents the portion of adoption that went through procurement, legal, a data processing agreement and an administrator.

The thirtyfold arrived in eight months, and much of it went through none of that.

The two windows differ, and the difference makes the arithmetic worse: the smaller number took twelve months and the larger one took eight. An order of magnitude separates what the company bought from the pace at which people adopted, and that distance is the surface source code leaves through.

3. A third of personal use is work

In June 2026, 35% of classified messages from individual ChatGPT accounts in Brazil were work-related. The global average is 30%.

The weight is in "individual accounts". The personal account, opened with a personal e-mail, with no data processing agreement, no retention policy and no administrator. It appears in no inventory of yours.

In Brazil 35% of classified messages from individual accounts are work-related, against 30% globally, and 53% of those ask for a task to be completed.

Within the work-related messages, 53% ask the model to complete a task or produce an output. OpenAI describes that slice as drafting proposals, analysing information, writing code and creating marketing material.

4. The difference between asking and instructing is how much code travels along

A general question about a language carries nothing. Everything after that carries something.

A request to refactor a function carries the function. A "why does this test fail" carries the test and the code under test. A pasted stack trace carries file paths, table names, library versions and, often enough, a token nobody remembered to strip. A request to explain a piece of legacy carries the business rule that piece implements.

OpenAI classifies these messages as work-related and says nothing about confidentiality. The inference is ours, and it is arithmetic: when half of work usage is a request for execution, and writing code is on the list, company source code is in the body of the message.

5. A written policy does not close this route

The reflex is to publish an AI usage policy. It is necessary and it is not sufficient, because source code leaves by three different routes and the policy reaches one.

The three routes source code leaves the company by, and what it takes to close each one.

The assistant in the terminal or IDE reads the repository and sends context. It closes with versioned configuration and a CI check.

Agents, scripts and automations each carry their own key. That closes with an inventory first, then a gateway with virtual keys.

The person pasting code into a chat is in a browser, outside any tooling you configure. It is the route the 35% measures, and the only one of the three where policy is the main instrument.

Except that a policy which forbids without offering an alternative only moves the behaviour to another channel. The person who has to deliver by Friday will keep delivering.

6. What sits between the code and the provider

Three barriers against leakage, in increasing order of cost and of guarantee.

Three barriers, in order of cost and guarantee.

Anonymisation at the boundary strips identifiers before anything leaves. It covers personal data and fails on source code specifically, because the logic is the secret: renaming variables preserves the whole algorithm, and changing the algorithm destroys the question.

A contract with the provider, with zero retention and no training, defines what happens to the data after it leaves. The data still leaves, and the guarantee is contractual.

A local model is the only one that turns a contractual guarantee into a technical one. It costs quality, hardware and operations.

For the personal-account route, none of the three works on its own, because a barrier has to sit in the path, and the personal account does not travel your path. What puts it in the path is the approved alternative.

7. What can be done

The personal-account route appears in none of your logs. No dashboard, no alert, no key to revoke, no invoice arriving at the end of the month. It is invisible by construction, and the only part of it you control is what exists on the other side.

An approved alternative only works if it is preferred. The test is time: how long a developer waits between asking for access and being able to use it. If the answer is measured in weeks, the personal account keeps winning, and no signed document changes that. An approved tool nobody enjoys using ends up as one more line in the policy.

The step before that is the same as always: find out what already exists. We publish a script that inventories every model call, exposed key and provider endpoint in a repository, and it runs offline.

It cannot see the personal account. That is exactly why it matters: what it finds is the floor. The real number sits above it.


A note on the numbers. All usage figures come from OpenAI's 27 August 2026 publication. The Codex multiples are measured since the start of 2026; the enterprise seat multiple is year over year, and this article keeps the two windows apart. Two details circulated imprecisely: OpenAI writes that Brazil is "one of the three largest" markets by weekly active users, not the third; and the 54% growth over 140 million messages in November 2025, reported by several outlets, does not appear in that publication.

Source: Expanding OpenAI's presence in Brazil, 27 August 2026.

How we help teams adopt AI

We work with engineering teams putting AI into the real development workflow — not as an experiment, but as an actual part of how the team ships.

That means choosing the right tools for the team's context, configuring them in a way that makes sense for the company's data policy, and making sure developers know how to use them in a way that genuinely increases productivity instead of adding friction.

If you have a development team and you're trying to put AI to work seriously, get in touch.