Privacy Policy (ChatGPT App)

Effective date: October 1, 2026
Provider: Spheric Admin Ltd ("we," "us," "our")
Contact: privacy.widgets@olutely.com
Product: "QR Codes" (the "App"), a ChatGPT app

1) Scope

This policy explains how we process data through the QR Codes App when it is used inside ChatGPT. The App can decode a QR code from a ChatGPT-hosted image or a remote image URL, decode an image selected inside the widget, create and edit QR payloads, display the resulting QR code, and export the generated QR image back to the ChatGPT conversation.

This policy covers Spheric Admin Ltd's processing through the App, its MCP server, widget, hosting, configuration service, operational logs, and analytics telemetry. It does not replace OpenAI's policies for ChatGPT platform processing.

Important privacy notice: QR codes can contain personal or sensitive information. The App processes the information contained in a QR code, or the information you choose to encode, because that processing is necessary to decode, create, edit, and export the QR code you requested. Depending on the QR type you select, this can include contact details, communications, calendar information, precise coordinates, or Wi-Fi network credentials. Only provide information that is necessary for your QR-code task, that you are authorized to use, and for which you have obtained any consent required by law.

2) Current tool contract and App behavior covered by this policy

  • Tool name: qr-code.
  • Image input: optional qrCodeFile.download_url and qrCodeFile.file_id for a ChatGPT-hosted file, or optional qrCodeImageUrl for a remote image URL.
  • Common structured fields: every structured QR payload contains kind and encodedText, the exact serialized text encoded in the QR code.
  • Plain text: text.
  • Web link: url.
  • Email action: to, cc, bcc, subject, and body.
  • Telephone action: phoneNumber.
  • SMS action: phoneNumber and body.
  • Contact card: firstName, lastName, organization, title, phones, emails, website, address, and note.
  • Wi-Fi network: ssid, password, authentication, and hidden.
  • Calendar event: summary, description, location, start, end, and allDay.
  • Geographic location: latitude, longitude, and query.
  • Custom payload: rawText.
  • Structured tool output: optional qrCodeInformation, containing the normalized fields applicable to the current QR payload and the full encodedText value.
  • Assistant-visible result text: a status summary that can identify the input source, state the payload kind, and include up to the first 160 characters of encodedText.
  • Tool response metadata: timestamp and source, where source can be file, url, information, or empty.
  • Widget state: the current qrCodeInformation is placed in model-visible state. Widget-private state can contain timestamp, source, exportedFileId, exportDownloadUrl, and lastExportedEncodedText, together with an array of exported imageIds.

3) Sensitive and restricted information

The App exposes only the fields needed for the QR format you choose. For example, contact details are needed to create a contact-card QR code, event details are needed to create a calendar QR code, coordinates are needed to create a geographic QR code, and an SSID and optional Wi-Fi password are needed to create a Wi-Fi QR code. These categories are not required when you select an unrelated QR type.

A Wi-Fi password is credential-like information. If you use the Wi-Fi QR feature, provide a network password only when you control the network or are authorized to share it, and understand that the password becomes recoverable by anyone who can scan or otherwise read the QR code. Do not use the App for account passwords, API keys, authentication tokens, MFA or one-time passcodes, or other account-access secrets.

The App does not have dedicated fields requesting payment-card information, protected health information, government identifiers such as social security numbers, or biometric templates. However, because uploaded QR images, plain text, notes, descriptions, message bodies, and raw payloads can contain arbitrary content, the App could process such information if you place it there. Do not submit those restricted categories. If other information is considered sensitive or special-category data in your jurisdiction, submit it only when it is strictly necessary for the QR-code function you requested and you have a lawful basis and any legally required explicit consent.

Do not encode or decode another person's personal information unless you have the right to do so. Providing an image or payload directs the App to process that content for the QR-code task; it does not give you rights to information that belongs to someone else.

4) Data categories, purposes, recipients, retention, and controls

4.1 ChatGPT-hosted files, remote image URLs, and image contents

What: A ChatGPT file identifier and signed download URL, a remote image URL, the image bytes retrieved from that URL, and the text decoded from the QR image.
Why: To retrieve the image the user selected, detect its QR code, parse the encoded content, and open the widget with that information.
Recipients: Our MCP server receives the file reference or remote URL and retrieves the image. OpenAI/ChatGPT is involved when the source is a ChatGPT-hosted file. A third-party image host selected by the user receives the network request needed to retrieve a remote image and may receive ordinary request data, such as the requesting server's IP address and request headers, under that host's own policy. Our hosting and telemetry providers can receive the request and response data described in Section 4.6.
Retention by us: The image is decoded in memory and is not intentionally stored in a separate QR-image database. File references, URLs, decoded content, and tool responses can appear in operational logs and telemetry as described in Section 4.6.
Your controls: You choose whether to attach a ChatGPT file, provide a remote image URL, or use the App. Use remote URLs only when you are permitted to cause the image to be retrieved.

4.2 Images selected inside the widget

What: An image file you select from your device and the QR payload decoded from it.
Why: To let you load an existing QR code directly in the widget.
Recipients: The current widget reads and decodes the selected image locally in the ChatGPT widget runtime. The current widget code does not send the raw locally selected image to our MCP server. The decoded payload is then placed in ChatGPT widget state and used to create an exported QR image as described below.
Retention by us: We do not intentionally retain the raw locally selected image in our own application database. OpenAI/ChatGPT can process the decoded payload, widget state, and generated export under its own policies.
Your controls: Selecting a local image is optional. You can stop using the widget or choose a different QR task.

4.3 QR payload fields and exact encoded content

What: The applicable fields listed in Section 2, their normalized values, the payload type, and the complete encodedText or rawText. Depending on your selection, this may include names, organization and job title, phone numbers, email addresses and recipients, postal address, website, notes, message subjects and bodies, Wi-Fi SSID and password, authentication type, hidden-network status, event summary and description, event dates and times, event location, latitude, longitude, location label, URLs, or other free-form text.
Why: To parse, validate, normalize, serialize, display, edit, generate, and export the QR code you requested.
Recipients: Our MCP server and OpenAI/ChatGPT receive payloads supplied to the tool or decoded by our server. OpenAI/ChatGPT and its widget runtime receive edits made in the widget. Our logging and analytics systems can receive payloads contained in MCP requests and responses as described in Section 4.6.
Retention by us: We do not use a separate application database to keep a persistent history of your QR payloads. Payloads can still be retained in operational logs or Mixpanel telemetry under Section 4.6, in support communications under Section 4.8, and by OpenAI/ChatGPT under its own retention settings.
Your controls: You choose the QR type and the values supplied. Avoid unnecessary personal data, clear fields you do not need, and do not provide the restricted categories identified in Section 3.

4.4 Tool responses, model-visible content, and widget-private state

What: The server can return the complete normalized qrCodeInformation object, including the exact encoded payload; assistant-visible text containing the source, payload type, and a preview of up to 160 characters; and response metadata containing source and timestamp. The widget persists the complete current QR information in modelContent. It can persist source/timestamp and export bookkeeping in privateContent, including the exported file identifier, download URL, last exported encoded text, and image identifiers.
Why: To keep the widget and ChatGPT synchronized, let ChatGPT reason about the decoded or created QR code, preserve edits during the conversation, avoid unnecessary duplicate exports, and make the generated image available for download.
Recipients: OpenAI/ChatGPT, the assistant model for assistant-visible and model-visible content, and the ChatGPT widget runtime. Widget-private content is intended for the host/widget rather than the assistant model, but it is still processed by OpenAI/ChatGPT. The initial MCP response can also be captured in our operational logs and Mixpanel telemetry.
Retention by us: We do not intentionally copy widget state into a separate application database. ChatGPT conversation, widget, and file retention is controlled by OpenAI. Initial server responses can be retained as described in Section 4.6.
Your controls: You can edit or clear QR fields, stop using the widget, and manage the related ChatGPT conversation through OpenAI's controls.

4.5 Automatically generated QR image exports

What: Once the widget contains a renderable QR payload, it renders a 1024-by-1024 PNG and automatically uploads it through the ChatGPT host file API after a short delay. The widget can repeat this process when the encoded payload changes. OpenAI returns a file identifier and download URL, which the widget stores with the encoded-text value and exposes through the Export button.
Why: To attach the current QR artifact to the conversation and make it downloadable.
Recipients: OpenAI/ChatGPT and its file-storage infrastructure. The current widget does not upload the generated PNG to our MCP server.
Retention by us: We do not intentionally keep a copy of the PNG in our own application database. OpenAI controls retention of the uploaded file, file ID, and download URL.
Your controls: The upload occurs automatically when a renderable QR payload exists; pressing Export opens the resulting download URL but does not initiate the first upload. Do not create or edit a QR payload in the widget if you do not want the generated QR image uploaded to ChatGPT.

4.6 Technical delivery data, full MCP logs, and Mixpanel telemetry

What: Technical data generated when the App is invoked or delivered, including IP address, user agent, host and URL, HTTP method, timestamp, response status, response time, MCP method, JSON-RPC request ID, MCP session ID, error and diagnostic information, and full MCP request and response bodies. The current server utilities write full MCP request and response bodies to server console logs and send server-side HTTP/MCP events to Mixpanel's EU endpoint. Those bodies and events can include all tool parameters and outputs described in this policy, signed file download URLs, remote image URLs, QR payload fields, exact encoded text, assistant-visible previews, source/timestamp metadata, and nested platform metadata. Platform metadata can include openai/subject, openai/session, openai/userAgent, openai/locale, timezone_offset_minutes, and an openai/userLocation object containing fields such as city, region, country, timezone, latitude, or longitude when OpenAI supplies them.
Why: Service operation, security, abuse prevention, reliability, performance monitoring, debugging, usage analysis, and incident response.
Recipients: Our hosting, CDN, infrastructure, logging, and analytics providers; Mixpanel; and personnel who need access for operations, security, or support.
Retention: We aim to minimize operational logs and generally retain them for no longer than 30 days unless a longer period is reasonably necessary for a security investigation, abuse prevention, dispute, or legal obligation. Mixpanel telemetry is retained in our analytics workspace until deleted by us or removed by applicable workspace retention settings.
Your controls: Do not include unnecessary personal or sensitive information in QR images, payloads, or surrounding prompts. You can choose not to use the App and can contact us with a privacy request. Technical collection needed to operate and secure an invocation cannot be disabled through the widget.

4.7 Configuration delivery and optional feedback

What: The widget requests its current configuration using the App identifier and version and can include host theme, locale, device type, device platform, and whether the device supports hover or touch, together with ordinary web-request data such as IP address and user agent. If a feedback control is enabled by the current configuration and you choose to submit it, the submission can include thumbs-up or thumbs-down sentiment, your comments, the source label, a feedback subject, and the widget page URL.
Why: To deliver the correct widget configuration, adapt optional presentation features, and receive feedback you choose to submit.
Recipients: Our configuration, hosting, and infrastructure providers and, for submitted feedback, the configured feedback-form service.
Retention: Configuration delivery logs are minimized where feasible and generally retained for no longer than 30 days, subject to security and legal exceptions. Submitted feedback can be retained for up to 24 months after final resolution unless a longer period is required by law or needed to establish, exercise, or defend legal claims.
Your controls: Feedback submission is optional. You can omit comments or decline to use a feedback control.

4.8 Contact data if you email us

What: Your email address and the contents of your message.
Why: To respond to privacy, support, or legal requests and maintain a record of the request.
Recipients: Spheric Admin Ltd and our email/service providers acting on our behalf.
Retention: Up to 24 months after final resolution unless a longer period is required by law or reasonably needed to establish, exercise, or defend legal claims.
Your controls: You choose whether to contact us and what information to include.

5) Purposes, legal bases, and consent

Depending on your location and the context, we process data on one or more of the following bases:

  • To provide the QR-code functionality you requested or take steps at your request.
  • Your consent when you voluntarily provide optional information or sensitive information for a specific QR-code task and consent is the appropriate legal basis.
  • Our legitimate interests in operating, securing, debugging, and improving the reliability of the App, balanced against your rights and expectations.
  • Compliance with applicable legal obligations and protection of legal rights.

Where processing relies on consent, you can withdraw that consent for future processing by stopping use of the App and contacting us. Withdrawal does not make prior processing unlawful and does not itself delete records controlled by OpenAI, remote image hosts, or another independent provider.

6) What we do not do

  • No account creation or sign-in through the current App.
  • No sale of personal information.
  • No advertising SDKs or use of QR payload content for targeted advertising.
  • No separate application database used to build a persistent QR-code or QR-payload history.
  • No direct browser GPS, microphone, contacts, or camera API permission request by the current widget code.
  • No third-party QR decoding or QR generation API; those operations are performed by our server or locally in the widget as described above.

7) Cookies and similar technologies

We do not intentionally set advertising cookies through the QR Codes widget. ChatGPT/OpenAI, your browser, our hosting and configuration providers, Mixpanel, remote image hosts, and a feedback provider can use their own operational cookies or similar technologies for platform operation, security, analytics, or content delivery under their own policies.

8) Sharing and disclosure

We do not sell personal information. We may disclose data only as reasonably necessary to:

  • Provide the App's tool results, widget state, and exported files inside ChatGPT.
  • Retrieve a QR image from OpenAI or a remote image host selected by the user.
  • Operate, host, configure, monitor, analyze, and secure the App through service providers such as hosting, CDN, infrastructure, logging, analytics, and email providers.
  • Process feedback you voluntarily submit.
  • Comply with law, regulation, legal process, or an enforceable government request.
  • Protect the rights, safety, security, and integrity of users, us, the App, and the public.

9) User rights and controls

Depending on your jurisdiction, you may have rights to access, correct, delete, restrict, or object to processing of personal data we hold, and to withdraw consent where processing relies on consent.

To exercise rights or ask questions, contact privacy.widgets@olutely.com. We may need to verify your identity before fulfilling a request. We may not control data retained independently by OpenAI, Mixpanel, a remote image host, or another provider, but we will explain the relevant control where we can.

Because the App runs inside ChatGPT, you can also manage conversation, account, uploaded-file, and generated-file data through OpenAI controls. OpenAI's privacy policy: https://openai.com/policies/privacy-policy.

10) International processing

The App may be accessed globally, and data may be processed in countries where we or our service providers operate. Where required, we use appropriate safeguards for international transfers. Mixpanel telemetry is sent to Mixpanel's EU endpoint, although Mixpanel and its subprocessors may operate in additional jurisdictions under their applicable terms and safeguards.

11) Security

We implement reasonable technical and organizational safeguards designed to protect data processed through the App. QR codes are designed to make their encoded content readable to scanners, so anyone who obtains an exported QR image may be able to recover its contents. Do not share a generated QR image more broadly than intended. No internet or software system can be guaranteed completely secure.

12) Children's privacy

The App is not directed to children under 13 (or the minimum age required in your jurisdiction). We do not knowingly collect personal information from children through this App.

13) ChatGPT / OpenAI platform notice

ChatGPT/OpenAI independently processes chat content, account information, tool inputs and outputs, uploaded files, generated QR images, widget state, model-visible content, widget-private content, and platform telemetry under OpenAI's own terms and privacy practices. This policy describes Spheric Admin Ltd's processing through the QR Codes App only.

14) Changes to this policy

We may update this policy from time to time. If we make material changes, we will update the effective date above and ensure this policy continues to reflect the App's current tool inputs, outputs, nested fields, metadata, widget behavior, and data uses.

15) Contact

Questions about this policy or App privacy practices: privacy.widgets@olutely.com (Spheric Admin Ltd).