version 3.2026.10.26.1 · last updated 26 October 2026
privacy policy
the short version
- klozt is a digital closet. You photograph clothes you own, klozt tags them, and it suggests an outfit each day.
- We collect your account details, the gender you choose (which can be "prefer not to say"), your wardrobe photos and their tags, your outfit history, and, only if you allow it, your approximate location, used to fetch local weather and to suit suggestions to how people dress where you are. If you don't share it, you can pick your city instead, and that choice stays on your phone.
- Klozt Vision can read a selected wardrobe photo to suggest the garment type and colour. It sends a photo only after you explicitly opt in, to one named free service at a time — Mistral, Cloudflare, Z.ai or Ollama, tried in the order Klozt configures — and falls back to manual details if none is available. Manual details always remain available.
- We do not run ads, sell data, use analytics, advertising or tracking SDKs, or do facial recognition. On Android, Google's ML Kit removes the background from your Closet photos on your phone; it sends Google diagnostics about how it runs, never your photos. We keep coarse first-party service counters without user or photo identifiers so shared processing capacity stays reliable.
- You can export or delete everything yourself from Profile → Privacy Center.
who we are
klozt is made and operated by its founder, an individual based in India, not a company ("klozt", "we", "us"). We will add the operator's full legal name and postal address here before klozt is released publicly on the app stores. For the purposes of:
- the Digital Personal Data Protection Act, 2023 (India) — we are the Data Fiduciary
- the General Data Protection Regulation (EU/UK) — we are the Controller
- the California Consumer Privacy Act / CPRA — we are the Business
Contact our privacy team at privacy@klozt.in. Under DPDP and the Information Technology Rules the founder acts as Grievance Officer, reachable at the same address with the subject line "grievance — DPDP".
what we collect
Account data. Your email address, display name, date of birth, which sign-in method you use (email and password, Google, or Apple), and the identifier Firebase Authentication assigns to you. If you sign in with Google or Apple, we receive the name and email address they share. We never see your password; Firebase handles it.
Date of birth. Used once at sign-up to check that you are 18 or older, then stored with your account. If the date shows you are under 18, we refuse the account and record that the sign-in identity is not age-verified, so it cannot try again with a different date.
Gender. At sign-up you choose woman, man, non-binary, or prefer not to say; if your account is older, the app asks once and you can skip it. We store your answer with your account data and use it only inside klozt to tailor tips and wording, such as which piece the closet guide suggests adding first and which garment kinds are listed first when you name a piece. If you chose woman or man and add a piece of a kind usually worn by the other, such as a sherwani on a woman's account or a saree on a man's, the app asks whether to use it in your daily looks or keep it in your closet only, until you tell it not to ask again (a choice kept on your phone). Your answer never blocks a piece and never makes that choice for you. It does not change which of your pieces klozt suggests, is never sent with a photo to Klozt Vision or any other image-reading service, and is never shown to other people. You can change it, or switch to prefer not to say, at any time in Profile → account.
Wardrobe photos, exact-file digests, and tags. The photos you add to your closet, plus the tags on each item: category, garment kind if you pick one (for example saree, saree blouse or lehenga), colour, occasion, season, weather, any notes you add, and whether the piece is used in your daily looks or kept in your closet only. For each new upload, our server computes a SHA-256 content digest, immediately derives an account-scoped fingerprint from it, and stores only that fingerprint so it can avoid storing the exact same file twice in your account. Identical files produce different stored fingerprints for different accounts. The fingerprint is never compared across users, used to find similar images, or used for face recognition. To lay your pieces out on the Today screen, our server also makes a background-removed copy of each Closet photo, and smaller copies of the photo and of that copy so your Closet loads faster. On Android your phone first finds the garment in the photo itself and sends our server only a black-and-white outline of it (see on-phone background removal below); without one, our server separates the garment from its background by colour. No outside service or image-reading model receives your photo for this, nothing about you is inferred from it, and the outline and the copies are stored privately next to the original. You can choose to show a piece's whole photo instead of its background-removed copy. When you share a look, our server lays its pieces out as one picture in the same way and sends it straight back to your phone; we keep no copy, and it goes only where you choose to send it.
Outfit history. The outfits klozt suggested, whether you accepted or skipped them, and the items you mark as worn. From the outfits you marked as worn over the last year we also work out, each time a look is made, how you like to put your own pieces together (the shoes you wear with a kurta, say), so suggestions lean toward your habits. Nothing new is stored for this.
Approximate location. Only if you grant the app's location permission. The app asks for coarse (city-level) location and sends it with your daily-outfit request so we can look up the weather. Before contacting OpenWeatherMap, our server rounds the coordinates to a cell roughly one kilometre across. We do not store the coordinates. To reuse the result, our database stores a keyed, one-way identifier for that rounded cell and its weather snapshot, with no user or account link. A snapshot is treated as current for one hour, may be used for up to six hours if the weather service is unavailable, and is scheduled for automatic deletion once it is 24 hours old. From the same rounded location our server also works out, each time, the broad region you are in (for example South India, North India or abroad) and the local season, so suggestions suit how people dress there: sandals rather than juttis with a veshti in the south, a warm layer in a northern winter. The region is never stored or logged and says nothing about you; it only changes which of your own pieces lead, never which ones can be suggested. So the next look still suits your place when the phone cannot find itself, the app remembers, on your phone only, the rounded location it last found, for up to 30 days. Denying the permission is fine: you can pick your city instead (Profile → your city). The app keeps that choice on your phone and sends the city's centre with your outfit requests, handled exactly like a shared location. With neither, the app uses the main city of your phone's time zone when that is outside India (London time stands for London), or else a default city's weather and season with no regional styling. Signing out removes the city and the remembered location from the phone.
Push token and time zone. If you allow notifications, the device token that Firebase Cloud Messaging assigns to your phone, plus your device's time zone so the morning reminder arrives at your morning. The reminder is on by default and has a switch on the Profile tab; signing out, uninstalling, or revoking the notification permission removes the token.
Consent records. Which consents you gave or withdrew, when, from which app version, together with a truncated IP address and your device's user-agent string.
Plan, quota, and current-suggestion records. We store your Free or Plus plan, any expiry, when your Klozt+ free trial started and ends if you start one, a fixed Closet-cap override when needed to preserve an existing Closet (including the most pieces you held during a trial), the lifetime number of distinct photos successfully read by Klozt Vision, and your Vision start counts for the current Asia/Kolkata day and month. Your account's creation date sets when its first 7 days, which have a higher daily Klozt Vision limit, end. A random analysis request identifier, its photo relation, status, and returned tags are kept briefly so retries cannot call a provider or use quota twice. We also keep the item identifiers and tags in your current Today look until it is replaced or the next local day begins.
Aggregate Klozt Vision operations. To keep shared Vision capacity reliable and understand use, we count provider attempts only in aggregate by calendar day, plan, provider/model, outcome, and coarse duration, input/output byte, and provider-reported token buckets. These aggregates contain no user or photo identifier, file digest, object key, prompt, image, returned tags, email, token, personal data, or raw provider error. If a provider does not report token usage, we record it as unknown rather than estimate it.
Technical data. Our servers keep short-lived operational logs: timestamps, request paths, coarse error categories, your device's user-agent string, and an IP address with the last part removed. There is no analytics, advertising, or crash-reporting SDK in the app. Google's ML Kit, which the app uses on Android to remove photo backgrounds on your phone, sends Google its own diagnostics, described under on-phone background removal.
We do not collect precise location, contacts, biometrics, government identifiers, payment card details, or any information about race, religion, health, sexual orientation, or political views.
how we use it
| purpose | data | legal basis (GDPR) | DPDP ground |
|---|---|---|---|
| create and run your account | account data | contract (Art. 6(1)(b)) | §7(a) performance of service |
| tailor tips, wording and garment-kind lists to you | your gender answer, if you give one | legitimate interests (Art. 6(1)(f)) in fitting the app to you; you can choose prefer not to say at any time | §7(a) provided voluntarily for this purpose |
| check you are 18 or older | date of birth | legal obligation (Art. 6(1)(c)) | §9 |
| store your closet, prevent exact duplicate uploads, and show it across devices | wardrobe photos, account-scoped exact-file digests, and tags | consent (Art. 6(1)(a)), the "store my wardrobe photos" consent | §6 consent |
| remove the background from Closet photos on your phone | the photo, read on your phone only; the outline your phone sends us; ML Kit's diagnostics, which ML Kit sends Google | consent (Art. 6(1)(a)), the "store my wardrobe photos" consent | §6 consent |
| use Klozt Vision to suggest a garment's type and colour | one minimized selected wardrobe photo, sent sequentially to the reviewed free image-reading providers described below only after explicit opt-in | consent (Art. 6(1)(a)), the "use Klozt Vision on my photos" choice | §6 consent |
| suggest a daily outfit | tags, outfit history, weather | contract | §7(a) |
| fetch local weather and suit suggestions to local dress | approximate location | consent (the location permission) | §6 consent |
| send the morning outfit reminder or optional Sunday recap | push token, time zone and, for the recap, weekly counts derived from closet and outfit history | legitimate interests (Art. 6(1)(f)), with separate Profile switches to stop either notification | §7(a) |
| enforce plan limits, make retries idempotent, and protect shared Klozt Vision capacity | plan, Closet count/override, short-lived analysis request records, day/month/lifetime usage, and non-identifying aggregate provider operations | contract (Art. 6(1)(b)) and legitimate interests (Art. 6(1)(f)) in fair access, reliability, and cost control | §7(a), §7(g) |
| recover the service after database loss | encrypted backup of account, closet, outfit, consent and settings data | legitimate interests (Art. 6(1)(f)) in service continuity and security | §7(a) performance and continuity of the service |
| keep the service secure and prevent abuse | technical data, consent records | legitimate interests (Art. 6(1)(f)) | §7(g) |
| answer your rights requests and support emails | account data, your message | legal obligation / contract | §7(a), §7(c) |
You can withdraw any consent in Profile → Privacy Center or by revoking the permission in your phone's settings. Withdrawal does not undo processing that already happened.
Klozt Vision and photo processing
When you explicitly choose to use Klozt Vision, we strip image metadata, rotate the selected wardrobe photo correctly, and normally reduce its longest side to 1,024 pixels before smart reading. We switch on a provider only after its free-account settings and synthetic quality checks pass, and only one provider is called at a time. Manual tagging remains available without external image-reading services.
Klozt Vision uses four free services, tried one at a time in the order Klozt configures: Mistral, using its Ministral 14B model in Mistral's free plan with pay-as-you-go billing off and the account's model-improvement setting turned off; Cloudflare, using the open-weight Gemma 4 model it hosts on its Workers Free plan; Z.ai, using its free GLM-4.6V-Flash vision model on an account with no balance, top-up or resource package; and Ollama, using the open-weight Gemma 4 model on its cloud service within the Free plan's included monthly usage, on an account with no purchased credits, no payment method and auto-reload off. The photo goes to the first service in that order; only if it fails, is at capacity, or returns an unusable answer may the same photo go to the next one. If none is available, nothing else is sent and you tag the item yourself. Any other service would be named in this policy, and you would be asked to accept the updated Klozt Vision choice, before it could receive a photo; each service stays in the order only while it remains provably free with the account controls described below. The selected provider/model is recorded only in non-identifying aggregate service telemetry.
Cloudflare states that it does not use submitted content to train models or improve its services. Mistral may keep API inputs for a limited period for abuse monitoring and does not offer zero data retention on its free plan. Z.ai states that API content is processed in real time, is not stored on its servers, and is not used to develop or improve its services. Ollama states that cloud requests are processed only for as long as needed to answer, are never logged or used for training, and run on hosting partners bound to no logging, no training and zero data retention. These free services may retain or permit human review of a submitted photo under their own terms. Do not use Klozt Vision for a photo containing a face, person, identity document, address, private screen, or revealing background; crop to the garment first. We never include your name, email, account identifier, other wardrobe items, file name, or stored object key. We require account logging or paid overage to be disabled where the provider supports those controls, but provider terms can change; an uncertain provider is removed from the chain.
When a disclosed external provider is active, one user-visible Vision start is counted only when its first provider call starts; sequential fallback providers in the same request do not use another user unit. A started request still counts if providers fail because shared capacity may have been consumed. Consent, input, duplicate, cooldown, or capacity rejection before any provider call consumes nothing. We do not include your name, email address, account identifier, or other wardrobe items in a provider request.
Klozt Vision is off until you opt in to version v3.2026.10.01.1 in Profile → Privacy Center. Declining or turning it off sends nothing to an external image-reading service and you pick the type and colour yourself. Existing storage consent still lets you view, upload and manually tag Closet photos.
We never send your photos to any automated image-reading service for any purpose other than tagging that photo, and we do not use them to train any model of our own.
on-phone background removal
On Android, klozt uses Google's ML Kit subject segmentation to find the garment in each Closet photo, so your pieces are cut out cleanly on the Today screen. It runs on your phone: the photo is read there and is not sent to Google or anyone else for this. Google Play services delivers the model to your phone. Your phone then sends our server only a black-and-white outline of the garment, which is stored privately next to the photo, used only to make its background-removed copy, and deleted together with the photo. Pieces added before this get their outline in the background when you open the Closet. If your phone cannot run ML Kit, our server removes the background by colour as before.
ML Kit sends Google diagnostics and usage statistics about how it runs: your phone's manufacturer, model, Android version and machine-learning hardware, the app's name and version, a device identifier and an identifier for this installation, the image format and size, what it did and how long it took, and error codes. It never sends the photo, the outline, your account details or anything in your closet. Google states that it uses this data for diagnostics and usage analytics of ML Kit, encrypts it in transit, and does not share it with third parties; it keeps it under its own terms. Your phone runs ML Kit only after you have accepted this version of the policy (consent version v3.2026.10.18.1 for storing your Closet photos).
If a piece's background-removed copy does not look right, open the piece and choose to show the whole photo instead; you can switch back at any time.
who we share with
We use these companies as processors. Each receives only what is listed.
- Firebase Authentication (Google LLC, United States) — signs you in, stores your email and sign-in credentials, sends password-reset emails, handles Google and Apple sign-in, and delivers the morning reminder through Firebase Cloud Messaging.
- Google ML Kit (Google LLC, United States) — on Android, Google Play services delivers the model that finds the garment in a Closet photo on your phone, and ML Kit sends Google the diagnostics described under on-phone background removal. Google never receives the photo or the outline.
- Render (Render Services, Inc., United States) — runs our API server and job queue in Singapore. Everything you send the app passes through it.
- Neon (Neon, Inc., United States; our database is hosted in Singapore) — stores your account data, tags, outfit history, and consent records.
- Backblaze B2 (Backblaze, Inc., United States) — stores your wardrobe photos and separately stores client-side-encrypted database backups in private US East buckets. The app fetches photos through links that expire within minutes; backups are used only for disaster recovery.
- OpenWeatherMap (OpenWeather Ltd, United Kingdom) — receives approximate coordinates and returns the weather. No account data is sent.
- Cloudflare, Inc. (United States; processing may happen anywhere on its global network) — receives one minimized garment photo and tagging prompt when you use Klozt Vision and it is tried first, or every service before it in the order cannot answer, through its Workers Free plan. Cloudflare states it does not use this content to train models.
- Mistral AI SAS (France) — receives one minimized garment photo and tagging prompt when you use Klozt Vision and it is tried first, or every service before it in the order cannot answer, in Mistral's free plan with pay-as-you-go billing off and the model-improvement setting turned off. Mistral may keep it for a limited period for abuse monitoring under its terms.
- JINGSHENG HENGXING TECHNOLOGY PTE. LTD. (Z.ai, Singapore) — receives one minimized garment photo and tagging prompt when you use Klozt Vision and it is tried first, or every service before it in the order cannot answer, using its free GLM-4.6V-Flash model on an account with no balance, top-up or resource package, so a price change fails instead of charging. Z.ai states that API content is processed in real time, not stored on its servers, and not used to develop or improve its services.
- Ollama Inc. (United States; requests may be routed to Europe) — receives one minimized garment photo and tagging prompt when you use Klozt Vision and it is tried first, or every service before it in the order cannot answer, using the open-weight Gemma 4 model within its Free plan's included monthly usage, on an account with no purchased credits, no payment method and auto-reload off, so running out stops instead of charging. Ollama states that it processes cloud requests transiently, never logs or trains on them, and runs its models with NVIDIA cloud partners bound to no logging, no training and zero data retention.
- Apple App Store and Google Play — if you install klozt through them, they handle the download and any future subscription. We never see your payment card.
We do not sell personal data, we do not share it for cross-context behavioural advertising, and we do not share it with data brokers.
where your data lives
Our servers and our database run in Singapore (Render and Neon), and our wardrobe-photo and encrypted-backup buckets in the United States (Backblaze B2, US East). Background removal with ML Kit happens on your phone; its diagnostics go to Google, which may process them in the United States or elsewhere. Image-processing locations vary by provider; do not opt in if that transfer is not acceptable. Cloudflare may process a Klozt Vision photo in any data centre on its global network; Mistral is based in France; Z.ai processes it in Singapore; Ollama processes it mainly in the United States and may route it to Europe.
For users in the EU/UK, transfers outside the EEA rely on the European Commission's Standard Contractual Clauses in each processor's data processing agreement. For DPDP purposes, we transfer data outside India only where the Government of India has not restricted it under §16.
how long we keep things
| data | how long |
|---|---|
| wardrobe photos, exact-file digests, and tags | attached photos and tags remain until you delete the item or account; deletion schedules the file for the next retention pass. An upload abandoned before item creation expires after 2 hours. The digest is cleared when the storage object is deleted, and the remaining audit row is purged within 7 days. Existing photos are not retroactively hashed. The outline from your phone, the background-removed copy and the smaller copies are deleted together with their photo. |
| outfit history and wear log | until you remove the outfit in History, delete a piece in it (that piece's entries go with it), or delete your account |
| account data | until you delete your account, plus the 14-day grace period described below |
| consent records | while your account exists; deleted with it. A record that a deletion happened, without your identity, is kept for audit. |
| approximate location and weather cache | coordinates and the region worked out from them are not stored; a keyed identifier for the rounded location cell and its unlinked weather snapshot are current for 1 hour, may be used for at most 6 hours during an outage, and are scheduled for automatic deletion once 24 hours old. On your phone, the city you pick stays until you change it or sign out, and the last rounded location for up to 30 days |
| server logs | no more than 30 days |
| sign-in sessions | 30 days, or until you sign out |
| push token | until you sign out, uninstall the app, or the token stops working |
| per-account Vision day/month quota rows | up to 90 days; current counters are also deleted with your account |
| Vision request idempotency record and returned tags | up to 7 days after completion, or sooner with account/photo deletion |
| current Today suggestion | until it is replaced, the next local-day request removes it, or it has been untouched for 48 hours; deleted with your account |
| non-identifying aggregate Vision operations and internal capacity counters | up to 400 days |
| data export archive | 7 days after we generate it |
| encrypted database backups | newest 12 weekly copies (about 12 weeks), used only for disaster recovery and never for normal app processing. Deleting an account removes it from the live service after the grace period; residual backup snapshots may contain the deleted data until they age out. If a restore is necessary, we re-apply deletion requests that remain independently available and honour renewed requests immediately, but a total database loss may also remove the only record of some deletions made after the restored snapshot. |
your rights
Depending on where you live, you have the right to:
- access the personal data we hold about you
- correct anything inaccurate
- delete your data (subject to legal retention exceptions)
- port your data in a machine-readable format
- withdraw consent at any time
- complain to your supervisory authority: the Data Protection Board of India under DPDP, your national data protection authority under GDPR, or the California Privacy Protection Agency under CCPA
- opt out of sale or sharing (CCPA) — klozt does not sell or share personal information for cross-context behavioural advertising
- non-discrimination — exercising a right never gets you worse service
- nominate — nominate someone (DPDP) to exercise your rights if you die or can no longer act yourself: email privacy@klozt.in with their name and email from your account's address
- object or restrict — object to or restrict our use of your data where we rely on legitimate interests (GDPR), such as your gender answer; you can also switch it to prefer not to say at any time
Klozt makes no decision about you based solely on automated processing that has legal or similarly significant effects: Klozt Vision and the daily look only suggest, and you change or ignore anything.
You can exercise most of these yourself in Profile → Privacy Center. For anything else, email privacy@klozt.in. We respond within 30 days under GDPR and DPDP and 45 days under CCPA.
export and deletion
In Profile → Privacy Center you can:
- Request a copy of your data. We prepare a JSON archive of your account (including your gender answer), closet tags, outfit history, consent records, plan/quota records, short-lived Vision request records, and current Today suggestion, and give you a download link that stays valid for 7 days. Non-identifying service-wide aggregates are not linked to your account and cannot be included.
- Delete your account. This starts a 14-day grace period during which you can cancel from the same screen. After 14 days we permanently delete your photos, tags, outfit history, consent records, account, and your Firebase sign-in identity.
If you cannot open the app, email privacy@klozt.in from the address on your account and we will do the same for you. Step-by-step instructions are on the delete account page.
children
You must be 18 or older to use klozt. We do not knowingly collect data from anyone under 18, and the sign-up flow refuses accounts that give a date of birth under 18. If you believe a minor has created an account, email privacy@klozt.in and we will remove it.
The 18+ floor is deliberately above the GDPR minimum (13 to 16, depending on the country) and the CCPA minimum (13). Under DPDP §9, processing a child's data requires verifiable parental consent; we chose not to build that flow and to gate sign-up at 18 instead.
what we do not do with your photos
- no facial recognition, face matching, or biometric identification
- no attempt to infer race, ethnicity, religion, age, sex, sexual orientation, or any other protected characteristic
- no sending of your gender with a photo: Klozt Vision receives only the photo and a fixed instruction, and it describes the garment, never the wearer
- no sharing of your photos with other users, brands, or advertisers
- no training of our own models on your photos
- no sending of your photos to an external image-reading service unless a current policy version names that active recipient and explains the processing
- no sending of your photos to Google for background removal: ML Kit reads them on your phone
security
- all traffic between the app and our servers uses TLS
- our database, photo storage, and backups are encrypted at rest by the providers listed above
- photos are only reachable through signed links that expire within minutes
- access to production systems is limited to the operator, protected by two-factor authentication, and logged by each provider
- if a breach affects you we will notify you and the relevant regulator within the legal timelines: 72 hours under GDPR Art. 33, and without delay under DPDP §8(6)
changes to this policy
When we change this policy in a way that matters to you (retention, sharing, a new processor, a new purpose) we will bump the version at the top, raise the affected purpose's consent version so you see a notice the next time you open klozt, and ask you to review what changed. We do not silently change retention or sharing.
contact
klozt is made and operated by its founder, an individual in India.
Grievance Officer: the founder, privacy@klozt.in (subject: "grievance — DPDP")