This policy explains what TWIST DIGITAL (PRIVATE) LIMITED (“we”, “us”), a company registered in Sri Lanka, does with personal data in the StyleFrame AI virtual try-on and the shop dashboard behind it.
It is in three parts. Part one is for shoppers, including visitors to our phone-verified public demo. Part two is for the people who run a shop with us. Part three applies to everyone.
The short version#
- Ordinary in-store visits need no name, email, phone number or account. The public Kandy Silks demo asks for a Sri Lankan mobile number to enforce its three lifetime free try-ons.
- Your photo is deleted within an hour, and immediately if you choose “Start over”.
- Your photo is never used to train an AI model, and we never sell data.
- To generate a try-on, your photo is sent to AI providers in the United States. That is the one thing here that a privacy-conscious reader should weigh, and it is set out in full below.
- We use no advertising cookies, no third-party analytics and no cross-site tracking of any kind.
Part one, for shoppers: what we process#
| What | Where it comes from | What it is |
|---|---|---|
| Your photo | You upload or take it | An image of you. It is the only genuinely personal thing the try-on needs. |
| The garment image | The shop’s catalogue, or you photograph the garment | A picture of a product, not of a person. |
| The generated try-on | Produced from the two above | A synthetic image. Held only long enough to show you. |
| A garment barcode | You scan or type the number on the tag | Identifies a garment in a shop’s catalogue. It says nothing about you. |
| A count that a garment was tried on | Recorded when a try-on you started from a scanned tag finishes | Lets a shop see which of its own items are being tried on. It records the garment and the shop, and nothing about you, your visit or your browser. |
| A visit credential and a per-shop device value | Created in your browser when you scan a shop’s QR code | Random values that let us run the visit and apply that shop’s daily limit. Different for every shop, so they cannot connect you across two of them. |
| Your Sri Lankan mobile number, for a phone-gated public demo only | You enter it and verify a one-time code sent by Text.lk | Encrypted in our database and used to recognise the same lifetime allowance across browsers. Marketing use is separate, optional and unticked by default. |
| Anonymous step counts | Recorded as you move through the try-on | That a step was reached, and in which shop. Tied only to a random id that dies with your browser tab. |
| Your name, email and message | Only if you fill in a contact or pilot form on this website | The one place on this site where we genuinely do collect identifying details, and the only reason we hold them is to reply to you. |
Why we process it, and on what legal basis#
| What we do | Why | Legal basis |
|---|---|---|
| Generate the try-on from your photo | It is the thing you asked for | Your consent, given when you choose to upload a photo. You can withdraw it at any time by choosing “Start over” or closing the page. |
| Look up a barcode in the shop’s catalogue | To find the garment you are holding | Necessary to provide the service you requested. |
| Apply a shop’s daily try-on limit | So one device cannot exhaust a shop’s allowance | Our legitimate interest in keeping the service available and affordable for the shop. |
| Verify and enforce the public demo’s three lifetime try-ons | To let a real person try the service while preventing repeated free registrations | Necessary to provide the phone-gated demo, and our legitimate interest in protecting the allowance. |
| Send StyleFrame offers by SMS or phone | Only if you actively tick the optional marketing box | Your separate consent. Declining does not affect the demo, and you may withdraw at any time. |
| Count which step a visit reached | To find and fix the steps where people get stuck | Our legitimate interest in improving the service, and only with your agreement to the measurement described in our Cookie Policy. |
| Count barcodes that matched nothing | So the shop can fix the gap in its catalogue | Our legitimate interest, and the shop’s. The count is per garment and is not linked to you or your visit. |
| Count completed try-ons for each garment | So the shop can understand which of its own items are being tried on | Our legitimate interest, and the shop’s. The count records the garment and shop only, with no visit, device or session identifier. |
| Rate limiting, and blocking abuse | To keep the service working and stop it being attacked | Our legitimate interest in the security of the service. |
| Reply to your message | Because you asked us something | Your consent, and our legitimate interest in answering enquiries about our business. |
Where the basis is our legitimate interest, we have considered whether it overrides your rights, and you may object to it. See the rights clause below.
What happens in your browser, and the one exception#
Several checks run entirely on your own device using on-device models, including whether a photo contains a clear, front-facing person, and estimating body proportions. In the ordinary case that photo is never sent to us for those checks.
There is one exception, and it is worth stating plainly. If the on-device check cannot find a usable person in your photo, we send that photo to our AI provider for a second opinion, so that a good photo is not rejected by mistake: our own check is imperfect and is prone to exactly this. It happens only for a photo the on-device check has already rejected. A photo it accepts is never sent for checking.
The provider is the same one described below, and the same private storage and one-hour deletion window apply.
How long we keep it#
| What | How long we keep it | Then |
|---|---|---|
| Your photo and the garment photo | 60 minutes, or until you choose “Start over”, whichever comes first | Deleted from our systems automatically |
| The copies held by our AI provider while it works | One hour: an expiry we set on every file at the moment we send it | Deleted by the provider automatically |
| The generated try-on image | The link that shows it to you stops working after 10 minutes | Deleted with the rest of the session |
| Anonymous counts of which step a visit reached | 180 days | Deleted automatically |
| Counts of barcodes that matched nothing in a shop’s catalogue | Kept while the shop is with us, as a running count per barcode | Removed when the shop’s data is removed |
| Counts of which garments were tried on in a shop | 180 days | Deleted automatically |
| The fingerprint of an image we have already checked (a SHA-256, never the image) | 30 days after it was last used | Deleted automatically |
| Your message if you use the contact or pilot form | 365 days | Deleted automatically |
| Your verified phone number for a phone-gated public demo | Until you ask us to erase the demo registration | Encrypted phone, access sessions and lifetime allowance records are deleted; the erasure means a later registration starts again |
| Expired verification-code challenges | Up to 24 hours after expiry | Deleted automatically |
We do not maintain a library of shopper uploads. There is nothing to browse, because after an hour there is nothing there.
Part two, for shops: your account#
If you run a shop with us, you have an account and we hold rather more about you than we do about a shopper, because unlike a shopper, you are a customer with an ongoing relationship.
| What | Why | Legal basis |
|---|---|---|
| Your name and email address | To identify your account, send invitations and password resets, and contact you about the service | Performance of our contract with your business. |
| A one-way hash of your password | To sign you in. We never store the password itself and cannot recover it. | Performance of our contract. |
| Invitation and password-reset links | To set up or recover your account | Performance of our contract. Only the SHA-256 digest of the link is stored, so a copy of our database cannot be used to take over your account. |
| Your catalogue | To run the try-on for your products | Performance of our contract. Here we act as your processor, not as controller. |
| Registered counter and staff devices | So staff demonstrations do not consume a customer’s allowance | Our legitimate interest, and yours. A device record is an opaque browser value and a label you choose; it is shop equipment, not a person. |
Security and support records#
Running accounts means keeping a record of what happened to them. We keep three, and all three are deliberately narrow.
- Failed sign-in attempts, so an account locks after repeated failures. One record per account, holding a count and a lockout time.
- An audit record of sign-ins, account changes, deactivations and any occasion when our support team accesses your shop’s data. It stores who acted, what they did, what they acted on, and a short reason from a fixed list.
- A list of cancelled sign-in tokens, so that signing out or deactivating an account takes effect immediately rather than whenever the token would have expired.
We keep them because we have to be able to answer “who changed this, and when” for your security as much as ours.
What your dashboard shows you#
Your dashboard reports how the try-on performed in your shop: how many visits reached each step, which garments were tried on, and which barcodes matched nothing.
These are counts, not profiles. They are built from the anonymous step records described in part one, and there is no mechanism, for you or for us, to turn one back into a person, a visit history, or a returning customer. That is a design decision, not an omission: pricing the product per shopper would have meant identifying shoppers, and we would rather not be able to.
| What | How long we keep it | Then |
|---|---|---|
| Your shop account: name, email address, and a one-way hash of your password | For as long as the account is active | Removed 60 days after the subscription ends |
| Invitation and password-reset links | Only the SHA-256 digest is stored, and only until the link is used or expires | Deleted automatically |
| Failed sign-in records used for lockout | One row per account, reset when the lockout window passes | Overwritten in place |
| Security and support audit records: who did what, and when | For as long as the account is active | Removed with the account |
| Registered counter or staff devices | Until you remove the device | Deleted on request |
| Your catalogue: product details and photography you upload | For as long as the subscription is live | An export is offered, then removed 60 days after the subscription ends |
| Your shop’s dashboard statistics | 180 days | Deleted automatically |
Part three, for everyone: who else touches the data#
We use these providers. We do not sell data to anyone, and none of these providers is an advertising network.
| Provider | What they do for us | Where they process it |
|---|---|---|
| fal.ai | Hosts and runs the AI models. Receives the photos for the try-on, the garment check and background removal. | United States |
| OpenAI | Provides the image model that produces the try-on result, reached through fal.ai. Scans images automatically for illegal content and keeps a copy for up to 30 days for abuse monitoring under its own policy. | United States |
| Brevo | Sends transactional email: the acknowledgement for a contact form, and shop-account invitations and password resets. Never receives an image. | European Union |
| Text.lk | Delivers the one-time verification code for the public Kandy Silks demo. Receives the Sri Lankan mobile number and transactional message; never receives an image. | Sri Lanka |
| Railway | Runs our API, background workers and database. | Singapore |
| Amazon Web Services (Amplify) | Hosts this website and the shop dashboard. Serves pages; does not process try-on images. | Singapore |
We instruct fal.ai to keep your images private to our account, so they are not reachable by anyone holding a link, and to delete them automatically within an hour. We do not opt in to any provider programme that would allow images to be used for model training.
We will update this list before adding a provider that processes personal data.
Sending data outside your country#
The AI providers that generate the try-on are based in the United States, so your photo is processed there. Our own servers and database are in Singapore.
If you are in the EEA or the United Kingdom
A transfer to the United States needs a safeguard under Chapter V of the UK and EU GDPR. We are putting Standard Contractual Clauses and a signed data-processing agreement in place with our AI provider, and until that is concluded we are relying on your explicit consent to the transfer, which is why the service asks before it processes your photo.
Technical logs, and IP addresses#
This clause exists because an earlier version of this policy said we record no IP address at all. That is true of the analytics and barcode counts, and only of those.
- Your IP address is used to apply rate limits, so that one source cannot flood the service. It is used for the check and is not stored alongside anything else.
- Our servers keep request logs for diagnosing faults and investigating abuse, and those logs can include an IP address and a browser user-agent string.
- When you submit a contact form, your IP address is passed to our own API so the rate limit counts you rather than our hosting provider.
Logs are deliberately stripped of anything that could carry an image: authorisation headers, cookies, upload and preview URLs and storage keys are removed before a line is written. The legal basis is our legitimate interest in the security and availability of the service.
Is a try-on photo biometric data?#
A photograph of a face becomes specially protected biometric data under data-protection law when it is processed specifically in order to identify a particular person. We do not do that. We never attempt to recognise, match or identify anyone, and nothing in the system could: there is no face database to match against, and the photo is gone within the hour.
So we do not treat try-on photos as special-category data. We do apply the strictest handling to them regardless, because a photograph of someone’s body deserves it whatever its legal classification.
Automated decisions and profiling#
The try-on is generated automatically, but it produces a picture, not a decision. Nothing here produces a legal effect or something similarly significant for you, so the rules on solely automated decision-making do not apply. We do not profile you, and we do not build a picture of you over time: the identifiers we use are designed to make that impossible.
AI transparency#
Try-on results are generated by an AI image model. We label them as AI-generated where you see them and where you download them, and we say so in our Terms.
We do this because the law requires that a synthetic image of a person is disclosed as artificial at the point a person sees it (putting the disclosure only in a terms document would not be enough), and because presenting a generated image as a photograph would be dishonest.
How we protect it#
- Everything travels over encrypted connections.
- Passwords are stored only as one-way hashes, never in a form we could read.
- Images sent to our AI provider are stored privately to our account and expire automatically within an hour.
- Access to shop data by our own team is restricted by role and recorded in the audit log described above.
- Logs are stripped of image references and credentials before they are written.
No system is perfect. If a breach affects your personal data and is likely to put your rights at risk, we will notify the relevant supervisory authority within 72 hours of becoming aware of it, and tell you where the law requires it.
Children#
The service is not intended for children, and we do not knowingly process a child’s personal data. Do not upload a photo of a child. If you believe a child’s photo has been uploaded, contact us at info@styleframe.fit, although in practice the image will already have been deleted automatically.
Your rights#
Depending on where you live, you have some or all of the following rights:
- Access: to be told what we hold about you, and to get a copy.
- Rectification: to have inaccurate data corrected.
- Erasure: to have your data deleted.
- Restriction: to have us stop using it while a dispute is resolved.
- Portability: to receive data you gave us in a portable format.
- Objection: to object to processing based on our legitimate interests.
- Withdrawal of consent: at any time, without affecting what was lawfully done beforehand.
- Not to be subject to a solely automated decision with a significant effect, which, as set out above, does not arise here.
What this means in practice for a shopper
For an ordinary shop visit we hold no account, name or contact details, and your photo is deleted within an hour. If you used the phone-gated public demo, we can locate its encrypted registration from the mobile number you verified, withdraw marketing consent, or erase that registration and its allowance history on request.
How to exercise them
Write to info@styleframe.fit. We will respond within 30 days. We may need to ask you for enough information to locate the data, and if we genuinely cannot identify you, we will say so rather than guess.
If you are not happy with our answer#
Please tell us first: most things are a misunderstanding that one email fixes.
- In Sri Lanka, you may complain to the Data Protection Authority established under the Personal Data Protection Act, No. 9 of 2022.
- In the EEA, you may complain to the supervisory authority in the country where you live or work.
- In the United Kingdom, you may complain to the Information Commissioner’s Office.
Changes to this policy#
We update this policy in the same release as the change it describes, never afterwards. The version and dates at the top of the page tell you what you are reading and when it took effect.
This version adds the phone-verified Kandy Silks demo, Text.lk delivery, encrypted phone retention, the three-lifetime-try-on allowance, optional marketing consent and the 30-day demo access credential.
Contact#
TWIST DIGITAL (PRIVATE) LIMITED, No. 237/4, Polhengoda Road, Colombo 05, Sri Lanka. Registered in Sri Lanka, company number P V 00310542.
Privacy questions and data requests: info@styleframe.fit.
We have not appointed a data protection officer, as we are not required to. Privacy enquiries go to the address above.
We are established in Sri Lanka and do not offer the Service to people in the European Union, so we have not appointed a representative there.
Something here unclear, or not what you expected?
We would rather fix the wording than have you guess at it.
