Metlivi Blog

How Games Should Handle Private Details in Free-Text Input

When a player types an ordinary personal detail into a game, the safest design is to collect only what the feature needs, keep the raw text out of the fictional world and shared character context, and give the player a visible way to remove saved material. For a game team, the practical task is to trace one free-text message from entry to storage, processing, and deletion—and decide at each step whether the game needs the text at all.

September 30, 20266 min readReading, Arts & CultureBy Metlivi Editorial Team
Section 1

Start by deciding what the feature needs

A free-text box can invite more information than a game needs. A player might type, “I usually take the bus home and stop at the bakery,” while asking for a scene about choosing a pastry. The scene may need the choice of pastry or setting; it does not need to preserve the player’s usual route. Treating the entire message as useful game data makes it easy for personal details to travel farther than the feature requires.

Before building the input flow, write down its purpose in plain language: for example, “use the player’s chosen setting to personalize this scene.” Then identify the smallest piece of information that can serve that purpose. This is a product-design application of data minimisation: the UK Information Commissioner’s Office describes default data use as limited to what is necessary for each specific purpose, and recommends considering privacy from design through the product lifecycle (ICO: Data protection by design and by default).

A useful design question is: if the raw message vanished after the current response, what would the game lose? If the answer is “nothing,” do not turn it into a saved preference. If something is needed later, consider whether the player can choose a short, explicit preference—such as “include bakery settings”—instead of having the game retain a sentence that may contain extra details. That preference is a proposed design pattern, not a claim about any particular game feature.

Section 2

Keep player text outside fictional memory

Separate the text a player enters from the facts that define the fictional world. A game may need persistent story state such as “the character visited the bakery” or “the next scene is at the market.” Those facts belong to the story. A sentence about the player’s real routine does not become a fictional character memory merely because it appeared in a prompt.

One practical approach is to give each kind of information a distinct destination: temporary input for the current generation, explicit story state for fictional events, and an optional player-controlled preference for reusable choices. Do not automatically copy the raw message into a character profile, summary, long-term memory, analytics event, or shared context. If the game needs to pass prior context into a later scene, pass only the selected story facts or preferences that the feature requires.

This separation is an architectural recommendation derived from privacy-by-design principles, not a description of a specific platform. The NIST Privacy Framework is a voluntary tool that organizations can tailor to their processing context; its guidance emphasizes choosing relevant outcomes based on the data processing ecosystem and people’s privacy needs (NIST: Getting Started with the Privacy Framework). For a game team, the useful move is to map where text flows and give each destination a clear purpose.

Section 3

Make sharing a separate, visible choice

Free text entered for a personal game interaction should not silently become a shared character detail. If a player wants to publish a character card, story excerpt, or community post, show exactly what will be shared and let the player edit it before posting. A sentence typed to shape a private scene should not appear on a profile, leaderboard, or public stream by default.

This matters because game text can cross boundaries in ordinary product operations. Ubisoft’s privacy notice, for example, describes processing chat records and user-generated content in connection with social features, and says some usernames and text may be visible in leaderboards or streaming contexts (Ubisoft: Privacy Policy). That policy is evidence about Ubisoft’s services, not a universal description of games. It illustrates why designers should identify which feature receives text and make any audience change explicit.

For each sharing route, show the audience in the moment: private to this scene, visible to selected friends, or public. Keep the control near the action that changes visibility. Avoid relying on a broad settings page to explain a one-time publication choice.

Section 4

Explain what happens to the input

A clear interface should tell players whether a message is used only to produce the current response, retained for later scenes, or sent to an external service. Make the explanation short and close to the text box. If different features behave differently, say so at each feature instead of implying one rule covers every input.

The reason is practical: a game’s own storage is only one possible step in the processing path. For example, OpenAI’s API documentation distinguishes abuse-monitoring logs from application state and describes retention differences by endpoint and feature. Its stated controls and limits apply to that API, not to every provider or game (OpenAI: Data controls in the OpenAI platform). A game team should check the actual settings and terms of whichever provider it uses, then explain the resulting behavior accurately.

Do not label a feature “temporary” just because the game does not save the message in a player profile. Trace whether text can remain in request logs, debugging output, crash reports, analytics, moderation tools, or saved conversation context. If a destination needs text for a defined operational reason, document that flow and its retention period internally, and avoid placing the raw text in systems that do not need it.

Section 5

Give players a removal control that reaches saved copies

If the game saves a reusable preference or conversation context, give the player a visible control to inspect and remove it. Put that control where players manage the relevant feature—for example, a “Saved story preferences” screen with a remove action beside each saved item. Confirm the action in clear language and show when removal is complete.

A removal action should cover the copies the game controls, not just hide a line from the interface. As a design checklist, trace the saved item through the profile store, story summary, search index or retrieval store, and any cache that can restore it. Define how backups and operational records expire, and tell players if some records follow a separate retention schedule. NIST’s privacy framework core identifies access for review, alteration, and deletion among data-management outcomes, and includes testing technical measures as an activity (NIST Privacy Framework Core).

Test the removal flow with a simple fictional example: save a preference for bakery settings, confirm it can influence a later scene, remove it, then confirm it no longer appears in the saved-preferences view or supplied context for a later scene. This is a proposed product test, not a reported result. If deletion is asynchronous, show its status and avoid presenting an incomplete request as finished.

Section 6

Use a short review before shipping a text feature

For each free-text feature, a team can run through four questions: what is the smallest input needed; which systems receive the raw text; which parts, if any, become persistent game state; and where can the player review or remove that saved state? Follow one sample message through the real product path, including external services, and check that the player-facing explanation matches it.

The target experience is straightforward: a player can use ordinary personal choices to shape a scene without the game quietly turning a whole sentence into lasting character memory. Keeping raw input narrow, separating story facts from player details, making sharing explicit, and providing a reachable removal control turns that goal into decisions a design and engineering team can implement and verify.

Related reading

Keep exploring this topic