klozt

version 3.2026.10.26.1 · last updated 26 October 2026

privacy policy

This policy describes what the klozt app does today, before its public release. It has not yet been reviewed by counsel in India, the EU, or California; we will update it if that review changes anything.

the short version

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:

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

purposedatalegal basis (GDPR)DPDP ground
create and run your accountaccount datacontract (Art. 6(1)(b))§7(a) performance of service
tailor tips, wording and garment-kind lists to youyour gender answer, if you give onelegitimate 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 olderdate of birthlegal obligation (Art. 6(1)(c))§9
store your closet, prevent exact duplicate uploads, and show it across deviceswardrobe photos, account-scoped exact-file digests, and tagsconsent (Art. 6(1)(a)), the "store my wardrobe photos" consent§6 consent
remove the background from Closet photos on your phonethe photo, read on your phone only; the outline your phone sends us; ML Kit's diagnostics, which ML Kit sends Googleconsent (Art. 6(1)(a)), the "store my wardrobe photos" consent§6 consent
use Klozt Vision to suggest a garment's type and colourone minimized selected wardrobe photo, sent sequentially to the reviewed free image-reading providers described below only after explicit opt-inconsent (Art. 6(1)(a)), the "use Klozt Vision on my photos" choice§6 consent
suggest a daily outfittags, outfit history, weathercontract§7(a)
fetch local weather and suit suggestions to local dressapproximate locationconsent (the location permission)§6 consent
send the morning outfit reminder or optional Sunday recappush token, time zone and, for the recap, weekly counts derived from closet and outfit historylegitimate 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 capacityplan, Closet count/override, short-lived analysis request records, day/month/lifetime usage, and non-identifying aggregate provider operationscontract (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 lossencrypted backup of account, closet, outfit, consent and settings datalegitimate interests (Art. 6(1)(f)) in service continuity and security§7(a) performance and continuity of the service
keep the service secure and prevent abusetechnical data, consent recordslegitimate interests (Art. 6(1)(f))§7(g)
answer your rights requests and support emailsaccount data, your messagelegal 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.

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

datahow long
wardrobe photos, exact-file digests, and tagsattached 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 loguntil you remove the outfit in History, delete a piece in it (that piece's entries go with it), or delete your account
account datauntil you delete your account, plus the 14-day grace period described below
consent recordswhile your account exists; deleted with it. A record that a deletion happened, without your identity, is kept for audit.
approximate location and weather cachecoordinates 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 logsno more than 30 days
sign-in sessions30 days, or until you sign out
push tokenuntil you sign out, uninstall the app, or the token stops working
per-account Vision day/month quota rowsup to 90 days; current counters are also deleted with your account
Vision request idempotency record and returned tagsup to 7 days after completion, or sooner with account/photo deletion
current Today suggestionuntil 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 countersup to 400 days
data export archive7 days after we generate it
encrypted database backupsnewest 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:

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:

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

security

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

privacy@klozt.in

klozt is made and operated by its founder, an individual in India.
Grievance Officer: the founder, privacy@klozt.in (subject: "grievance — DPDP")