12ui Privacy Policy

Last updated 5 October 2026

This Privacy Policy explains how Peter Industries Pty Ltd ABN 13 588 984 088, trading as 12ui (12ui, we, us, or our), collects, uses, discloses, and protects personal information in connection with 12ui.com, the 12ui web application, the 12ui API, CLI, and agent skills, and related services (Service).

Who this policy applies to

This policy applies to:

  • visitors to 12ui.com;
  • account holders who sign in to the Service;
  • developers and users of the 12ui API, CLI, and agent skills;
  • anonymous users of the public preview tier;
  • people who use the Design workspace at design.12ui.com through an agent, without an account;
  • individuals whose personal information appears in content uploaded to the Service, for example a name or email address visible in a screenshot;
  • people who contact us for support, privacy, or other reasons.

Two roles apply. For personal information embedded in images, prompts, and other content a customer uploads (Customer Content), the customer decides why that content is processed, and we process it for the customer as a processor, service provider, or similar role - our Data Processing Addendum applies, and the customer's own privacy policy may also apply. For account, website, quota, security, and support information, we act as the controller.

Who we are

Peter Industries Pty Ltd ABN 13 588 984 088, trading as 12ui, is based in Queensland, Australia.

Address: 12 Dulku Close, Port Douglas, QLD 4877, Australia Privacy contact: privacy@12ui.com Support contact: support@12ui.com

How 12ui works

12ui turns design concepts and images into structured design output. Users can search a curated design reference corpus (/search), generate candidate design images from a text concept (/draft), extend a chosen design into additional screens (/branch), and convert a single image into a structured LayerDoc with derived exports such as responsive HTML and app code (/convert). The same capabilities are available through the API, CLI, and agent skills.

Signed-in users receive a daily free allowance and may add prepaid wallet credit for usage beyond it. Stripe processes Checkout, payment methods, receipts, refunds, and disputes. We operate the 12ui wallet and usage ledger, but do not receive full payment card numbers.

The Design workspace (design.12ui.com) shows design options as images inside your agent's thread. The 12ui command line on your own computer draws the images. You can select one, ask for more, mark one up with a scribble and request a change, search design references, and see websites your agent suggests. It needs no account. See section 4.10.

Information we collect

4.1 Account information

Sign-in is handled by the shared Just Every login service at login.justevery.com, which is operated within our own corporate group, not by a third party. When you create an account or sign in, we process your email address, a user identifier, and session records. Sign-in cookies are set on the .justevery.com domain.

4.2 Uploaded content and prompts

When you use the Service, we collect the images you upload (PNG, JPEG, or WebP), the text prompts and search queries you enter, and reference selections you make. Alongside each upload we record the account identifier, original filename, media type, byte size, pixel dimensions, processing status, cost, and timestamps.

Uploaded screenshots may incidentally contain personal information visible in the image, such as names, email addresses, or account details. This information is processed as part of the image to provide the Service. Do not deliberately submit sensitive or regulated information such as health data, payment card numbers, government identifiers, biometric templates, or children's data.

4.3 Generated artifacts

We store the outputs the Service generates for you - LayerDocs, generated and edited images, and exports - so you can retrieve them during the retention window described in section 10.

4.4 API keys

API keys are issued through device sign-in, scoped, and revocable. We store key identifiers, scopes, and associated usage records. Keys can be revoked at login.justevery.com or through the CLI. The CLI stores your credentials locally on your own machine.

4.5 Anonymous use and quota controls

Anonymous use is supported without an account. Design Search and the Design workspace use no visitor token, no cookie and no bot check. To enforce fair-use limits they derive a salted hash of your IP address and count your requests against it. Search requests are recorded with the search text and this hash. Each search request also records the IP address it came from, unhashed, and, when the request carries them, its approximate location and browser details; our administrators can see these with the search text in our cost records. Search records are kept as described in section 10. Other anonymous features, such as the conversion preview, use a random visitor token that your browser generates and stores in its localStorage, together with a salted hash of your IP address, and your raw IP address is passed to Cloudflare Turnstile for bot verification. We do not use these identifiers to build behavioural profiles.

4.6 Website, device, and usage information

Our infrastructure runs on Cloudflare. When you access the Service, we collect request metadata such as IP address, browser type, pages requested, timestamps, request identifiers, error details, diagnostic data, and security information. Application logs record request metadata and identifiers, not image content.

4.7 Cookies and local storage

We use session cookies only: the 12ui session cookie and the sign-in cookies described in section 4.1. We do not use advertising cookies, analytics or tracking cookies, or retargeting technologies. Your browser's localStorage holds the visitor token, your local conversion history, the pipeline collection tray, and prompt drafts; sessionStorage holds idempotency keys and your recently viewed Design Search results for the life of the browser tab. Apart from the visitor token, which accompanies your requests, this locally stored data stays on your device. Design Search and the Design workspace do not use the visitor token, and the Design workspace sets no cookies and uses no browser storage.

4.8 Billing and payment information

If you add wallet credit, we collect your 12ui account identifier, billing email, transaction amount and currency, Stripe customer and transaction identifiers, payment status, refunds or disputes, auto-recharge settings, wallet balance, and itemised 12ui usage ledger. Stripe collects and processes payment-card and other payment credentials under its own privacy terms. We receive limited card details from Stripe, such as brand, expiry, and last four digits, when needed to identify a saved method; we do not receive the full card number or security code.

4.9 Communications and support

If you contact us, we collect your contact details, message content, and attachments so we can respond and keep business records.

4.10 Design workspace

The Design workspace at design.12ui.com is a screen that opens inside your agent's thread, for example in Codex. The workspace itself needs no account, no sign-in and no cookies. The drawing is done on your own computer, under your own agent's sign-in (see "On your computer" below).

  • Access. Your agent holds a private handle for each workspace. Anyone who has the handle can open that workspace, so treat it like a private link. We store only a hash of the handle and of the short-lived upload tokens, never the handle or the tokens themselves.
  • What we store. The brief your agent writes; the images added to the workspace, as the original, a display size and a thumbnail; captions your agent writes; the design directions we plan for each round, and the references each round found with the words searched for them; website references, described below; the identifier and version of the background helper, described below; the reason an option could not be drawn; and what you do on the screen: selections, notes, edit prompts, scribbles (the strokes and a marked copy of the image), inspiration searches, and requests to branch or build a version, with any page names. Workspace images are stored in Cloudflare R2 and the workspace record in a Cloudflare D1 database. Website screenshots are stored in R2 outside the workspace, and search embeddings in a Cloudflare key-value store; neither is part of the workspace record. Images and text may contain personal information if you or your agent put it there; do not add sensitive information (see section 4.2). If your agent adds a brand reference image, such as your logo or lettering, it is stored with the workspace, attached to the designs drawn in it, and deleted with the workspace.
  • On your computer. The 12ui command line on your computer draws each option with your own Codex, using your sign-in, and uploads the image to the workspace. It also uses your own Codex or Claude to write captions and to suggest websites. That processing happens under your agent provider's terms, not on our servers. After a draw, a background helper keeps running on your computer so later clicks can be drawn without a message to your agent. It contacts design.12ui.com about every 5 seconds, sending its identifier, the command line's version and the requests it picks up. It stops after 30 idle minutes or when its 12-hour upload token expires; 12ui workspace runner stop ends it, and setting TWELVE_UI_NO_RUNNER=1 leaves none behind.
  • Who receives it. The images and text are shown to your agent, which handles them under its provider's terms, for example OpenAI for Codex. The workspace does not draw images. Our servers send workspace text to OpenAI and Google, and, in a "more like this" round, the option's display image to Google, as set out in the next two items. We do not use workspace content to train or evaluate models, and it is not added to the evaluation corpus described in section 10.
  • Direction planning (OpenAI). For the first round and for each new round (not for a "more like this" round), and again when you change a round's references, we send the brief (or your edited brief), the round's note, and a short text description of each chosen reference (for a website, its name) to OpenAI to plan the round's design directions. No images are sent in this call.
  • Reference searches (Google). The workspace searches design references automatically, with the brief or your agent's caption plus the round's note, when it is created and for each new or "more like this" round. Google turns the search text into an embedding, and for these automatic searches Google's models may also plan the search, describe the visual styles it could take and, for short searches, expand it. A "more like this" round also sends the option it starts from, as a display-size image, to Google with the search words. Text you type into an inspiration search is processed like a Design Search query (section 6).
  • Website references. For the References tab, your command line fetches the brief from design.12ui.com and asks your own Codex or Claude, with web search, to suggest public websites that fit it. It then opens each site in a browser on your computer, accepting cookie banners and closing pop-ups, takes a screenshot, and uploads the screenshot, a thumbnail, the site's address and name, and the reason your agent gave. The address, name and reason are kept in the workspace record. The screenshots are stored outside any workspace, at an address derived from their content; anyone with that address can load them without a handle, and browsers may cache them for up to a year. Neither expiry nor deletion of a workspace removes them; a storage rule deletes each screenshot about 31 days after it was last uploaded.
  • Network identifier. To limit abuse we derive a salted hash of your IP address from requests to the workspace, including those your command line and background helper make from your computer, and count requests against it each day. The hash stays on the workspace record while the workspace exists, and in daily counters for up to three days. Each reference search is also counted against it per minute in our database; an expired counter is removed when later requests arrive. It is also kept in the paid-call and search records described below, and removed from them after 90 days. The workspace record does not store your raw IP address, but each search records the IP address it came from (see "Search records" below). We do not use the hash to profile you. Short-lived rate limits at the edge use a separate hash of your network address, client string and Cloudflare location, held by Cloudflare only for the limit window of about a minute.
  • Retention. A workspace and its images are kept for 14 days after it was last used, and never more than 30 days after it was created. Opening the workspace, adding images and making a request each restart the 14 days. After that the workspace stops opening and a daily cleanup deletes its images and record. An image whose upload is still in progress when a workspace is deleted can be stored after the deletion; it is no longer reachable from any workspace, and a storage rule deletes it about 31 days after it was stored. Upload tokens expire after 12 hours. Cloudflare's database recovery may keep deleted records for up to 30 days. Website screenshots, paid-call records, search records and search embeddings are not part of the workspace and are kept as described in this section.
  • Paid-call records. Each direction-planning call is recorded in our cost ledger with the workspace identifier, your hashed network identifier, its cost and the directions it produced, so the same call is never paid for twice. Neither expiry nor deletion of a workspace removes them. After 90 days a daily cleanup removes your hashed network identifier and the directions from each record; its cost, its outcome and the identifiers of the call stay, so our cost totals stay correct and the same call is still never paid for twice.
  • Search records. Every workspace search, both the automatic searches for each round and the inspiration searches you type, is recorded in the Design Search request record (section 4.5) with the search text, the results returned, your hashed network identifier and the IP address the search came from, unhashed. Each search is counted in daily usage records against the hash, and the cost of each paid search is recorded in our cost ledger against it. Our administrators can view recorded search text: with its cost and IP address, to account for costs and troubleshoot searches, and without them, to understand what people search for. The embedding of each search, computed from its text and, in a "more like this" round, from the image, is kept in the key-value store so a later identical search can reuse it without paying again; most automatic searches compute a fresh embedding regardless. Neither expiry nor deletion of a workspace removes these records. After 90 days a daily cleanup deletes each search's text, results, IP address and the location and browser details recorded with it, and the daily usage records, and removes your hashed network identifier from the search and cost records; what remains is the time, settings and cost of each search and its internal identifier, none of which holds your network identifier, IP address or search text. Embeddings have no scheduled deletion: each is stored under a code computed from the search content, shared by everyone who searched the same words, and holds no network identifier, IP address, account or time.
  • Hand-offs. A request to branch or build a version runs the 12ui command line on your computer, normally with your own Codex. When Codex cannot do the work and you are signed in to 12ui, it may run on the hosted Service instead, and the rest of this policy applies to that processing.
  • Your controls. You can let a workspace expire, or ask us to delete it sooner by writing to privacy@12ui.com with its handle. We delete it on request by handle: an operator removes the workspace's images and record, and it stops opening. This does not remove website screenshots, paid-call records, search records or search embeddings.

How we use information

We use information to:

  • provide, operate, maintain, and secure the Service;
  • process uploaded images and prompts with AI models to generate the artifacts you request;
  • enforce quotas, reserve and settle prepaid usage credit, process top-ups and refunds, verify that requests come from real users, and prevent fraud, abuse, and misuse;
  • maintain durable usage and cost ledgers so paid model work is never repeated on retry;
  • test and improve conversion quality, including through the internal evaluation corpus described in section 10;
  • understand what people search for in Design Search and the Design workspace, by reviewing recorded search text;
  • administer accounts, API keys, and support;
  • debug, audit, and troubleshoot the Service;
  • comply with law, enforce agreements, and protect rights;
  • send service and security emails.

AI processing

Third-party AI providers process uploaded content on our behalf to provide the Service: OpenAI performs image and document analysis, image generation, image editing, and text generation to plan design directions; fal.ai performs image segmentation, background removal, and object extraction (temporary derived image tiles on fal.ai expire within about one hour); and Google provides embeddings for Design Corpus search queries, including any reference image sent with a query, and its models may also plan, describe and expand search queries. Stripe processes payments and related fraud signals. These providers are separate sub-processors that perform this processing on their own platforms; Cloudflare provides our hosting and infrastructure but does not perform AI inference. Our current sub-processors are listed at /subprocessors. The Design workspace sends text to OpenAI and Google, and in a "more like this" round one image to Google; see section 4.10.

We do not authorise these providers to use Customer Content to train generally available models. We use Customer Content for our own quality improvement only as described in this policy and our Terms of Service.

AI outputs may be inaccurate. Generated designs and code are provided for your review, not as professional advice, and we do not use the Service to make decisions that produce legal or similarly significant effects about individuals.

When we disclose information

We may disclose information to:

  • service providers and sub-processors that provide hosting, storage, AI processing, payments, bot protection, and security services - see /subprocessors;
  • professional advisors, insurers, auditors, and legal representatives;
  • regulators, courts, law enforcement, government authorities, or other parties where required or permitted by law;
  • parties involved in a merger, acquisition, financing, reorganisation, sale of assets, or similar corporate transaction;
  • other parties with your consent or at your direction.

No advertising, analytics, or sale of personal information

We do not use advertising or analytics trackers, we do not engage in retargeting, we do not send marketing email, and we do not sell or share personal information for advertising purposes.

Retention

We keep personal information for as long as reasonably needed for the purposes described in this policy, unless a longer period is required or permitted by law. The records below that have no scheduled deletion are kept indefinitely. In general:

  • conversion artifacts - uploaded images and generated outputs - are retained while they are needed to deliver, support, and secure your result, and are then removed by automated cleanup;
  • uploaded images and generated outputs may be retained beyond that cleanup in an internal evaluation corpus we use to test and improve conversion quality; corpus copies are used for offline quality testing, are not published, and are not added to the Design Corpus, and we delete them on verified request to privacy@12ui.com;
  • Design workspace images and records are deleted 14 days after the workspace was last used and at most 30 days after it was created, except an image still being uploaded when the workspace is deleted, which a storage rule deletes about 31 days after it was stored (see section 4.10); the hashed network identifier is kept on the workspace record while it exists and in daily counters for up to three days;
  • Design Search request, usage and cost records, including those for Design workspace searches, are retained for quota enforcement, accounting, troubleshooting and understanding what people search for; they hold the search text, the results, the hashed network identifier or your account, the IP address each search came from, with its approximate location and browser details when the request carries them, and any record of which results were viewed or opened, and are not removed when a workspace expires or is deleted. For a search made without an account, which includes every Design workspace search, a daily cleanup deletes, after 90 days, the search text, the results, the IP address, location and browser details, the daily usage records and the records of which results were viewed or opened, and removes the hashed network identifier from the search and cost records; the time, settings and cost of the search and its internal identifier are kept for accounting, and none of them holds the network identifier, IP address or search text. Records of searches made while signed in have no scheduled deletion;
  • Design workspace paid-call records, which hold the hashed network identifier and the planned directions, are retained for accounting and so the same call is never paid for twice, and are not removed when a workspace expires or is deleted; after 90 days a daily cleanup removes the hashed network identifier and the planned directions, and the cost and the identifiers of the call are kept;
  • search embeddings are kept so an identical search can reuse them without paying again; each is stored under a code computed from the search content and shared by everyone who searched the same words, holds no network identifier, IP address, account or time, has no scheduled deletion, and is not removed when a workspace expires or is deleted;
  • after the 90-day cleanup, copies of the deleted details can remain in Cloudflare's database recovery and in our daily database backups for about five weeks;
  • website screenshots captured for the Design workspace are deleted by a storage rule about 31 days after they were last uploaded, whether or not the workspace still exists (see section 4.10);
  • durable usage, wallet, payment, refund, dispute, and cost ledgers are retained for accounting, tax, fraud prevention, reconciliation, and audit purposes;
  • logs, diagnostic records, and security records are retained for a limited period needed for troubleshooting, security, and abuse prevention;
  • account and session records are retained by the Just Every login service while your account is active;
  • de-identified and aggregated data may be retained for longer because it does not identify an individual.

De-identification and aggregation

We may create de-identified or aggregated data that does not identify an individual and use it to operate, improve, and benchmark the Service. We do not attempt to re-identify de-identified data except where permitted by law, such as to test our safeguards or investigate misuse.

International processing and transfers

12ui is based in Australia. We and our service providers process information in the United States, the European Union, Australia, and other countries where Cloudflare's network and our AI providers operate. These countries may have privacy laws different from those in your location. Where required, we use appropriate safeguards for international transfers, such as contractual protections, data processing agreements, standard contractual clauses, UK addenda, or other lawful transfer mechanisms.

Security

We use reasonable administrative, technical, and organisational measures designed to protect personal information, including encryption in transit, a strict content security policy, HTTP Strict Transport Security, signed expiring artifact URLs, access controls, logging, and monitoring. CLI credentials are stored on your machine with restricted file permissions.

No method of transmission or storage is completely secure. You are responsible for keeping your account, API keys, devices, and exports secure.

Your privacy rights

Depending on your location, you may have rights to request access, correction, deletion, restriction, portability, objection, withdrawal of consent, or information about how your information is processed.

Australia

If Australian privacy law applies, you may request access to or correction of your personal information and may make a privacy complaint. We will respond within a reasonable time. If you are not satisfied with our response, you may be able to complain to the Office of the Australian Information Commissioner.

EEA, UK, and Switzerland

Where GDPR, UK GDPR, or similar law applies and we act as controller, you may have rights to access, rectify, erase, restrict, object, port your data, withdraw consent, and lodge a complaint with a supervisory authority. Where we act as processor for a 12ui customer, we may refer your request to that customer.

California and other US states

Depending on applicable law, you may have rights to know, access, delete, correct, obtain a copy of, and limit certain uses of personal information, and not to be discriminated against for exercising privacy rights. We do not sell personal information, and we do not use personal information for targeted advertising. We honour legally recognised opt-out preference signals, including Global Privacy Control, where required and technically feasible; because we set no advertising or analytics cookies, there is nothing further for such signals to disable.

How to exercise rights

To exercise privacy rights, contact privacy@12ui.com. We may need to verify your identity before responding. If your request concerns personal information contained in another customer's Customer Content, we may ask you to contact that customer or forward the request to them. Authorised agents may submit requests where permitted by law; we may require proof of authorisation.

Emails

We send service and security emails only, such as account notices and security alerts. We do not send marketing email.

Children

The Service is not directed to children, and customers must not use the Service to process children's personal information. If you believe a child has provided personal information to us, contact privacy@12ui.com.

Changes to this policy

We may update this Privacy Policy from time to time. The updated version will be posted on our website with a new "Last updated" date. If changes are material, we will take reasonable steps to notify affected users.

Contact and complaints

Peter Industries Pty Ltd ABN 13 588 984 088, trading as 12ui Address: 12 Dulku Close, Port Douglas, QLD 4877, Australia Privacy contact: privacy@12ui.com Support contact: support@12ui.com

We will respond to privacy complaints within a reasonable time. If you are in Australia and are not satisfied with our response, you may contact the Office of the Australian Information Commissioner. If you are in the EEA, UK, Switzerland, California, or another jurisdiction with privacy rights, you may have the right to contact your local regulator or attorney general.