Privacy policy
Updated November 11, 2026.
Curvinha measures a room with your phone's camera (on iPhone or Android, no LiDAR needed; LiDAR adds precision when the device has it) and suggests furniture that fits. The app is on iPhone, iPad and Android. This page says what leaves your device, where it goes and how to delete it. The app works without logging in and we never ask for your name or phone number. Signing in with your email is optional.
Data controller: GABRIEL SOZZA TAVEIRA JOSE CONSULTORIA EM TECNOLOGIA DA INFORMACAO LTDA, CNPJ 45.870.538/0001-95, Ribeirão Preto, SP, Brazil. Contact: contato@curvinha.app.
Data protection officer (encarregado): Gabriel Sozza Taveira Jose, dpo@curvinha.app. Reach them about your data and your rights.
What we collect and why
- Room measurements. The scan builds the floor plan: walls, doors, windows and furniture, with their sizes. We send it to our server to run the room analysis and the proposal and to keep your rooms. The camera is used only during the scan.
- Scan video and measurements. Every scan records a camera video (720p, no audio) and sends it to our cloud, together with the RoomPlan measurement files, the floor plan the app builds (without the location), the camera positions, a few still frames, the depth measured by the LiDAR (only on devices that have one) and the room's 3D mesh. A technical log of the recording goes too: the camera's light and exposure, the device's temperature and processor use, the tips the app showed and what you tapped during the scan (like pausing, turning on the voice or finishing), without the text or numbers you type; and the device model and the iOS and app versions. They are used to build the analysis and to improve measuring accuracy (tuning detection and redoing scans that went wrong). A line under the Measure my room button says so, and tapping it is your consent; the details are in Profile > Privacy. The files are kept in a private area, tied to the app's random identifier, with no name, email or location. Only the Curvinha team can access them. The video file does not go to the AI services; frames taken from it do (see "AI reading of the room"). We keep them while your account exists, until you delete your data.
- People and objects in the scan. The scan is for the room, not for people. If someone, a document or a screen shows up in the video or the frames, it goes along with the rest of the scan. We do not use the images to recognize or identify people and we do not create face templates. Avoid filming people, especially children; if something shows up that you did not want, delete the room or your data, or write to us.
- The proposal and your answers in the room. Along with the scan, the app sends our server a summary of what it showed and what you answered, and updates it when the room changes: the room type the app recognized and the one you confirmed, the proposal's pieces (product, category, price, quantity and position), the pieces you added from the catalog, what stays and what goes in "O que fica" and how the room is arranged now. With "Send anonymous usage data" on, it also carries your choices (style, budget, who lives and who sleeps in the room, the reason for the change and what bothers you most) and the history of what you changed in the room (adding, removing, moving, swapping or hiding a piece, with its position and product). When you turn it off, we stop sending the choices and the history; what was already sent follows the period below. It never carries text you wrote, the note, the brief or reference images. It is used to build the analysis and to see where the proposal gets it wrong, to improve it. It is kept in the same private area as the scan, while your account exists, until you delete your data.
- AI reading of the room. Still frames from the scan (sent by the app or taken from the video on our server, at the video's size or smaller) and photos of the room go through our server to the partner AI services (Gemini by Google and GPT by OpenAI) to recognize the room type, read the color, material, shape and position of the walls and furniture, and make the realistic preview. The line under the Measure my room button says so, and tapping it is your consent. To stop, do not measure again and tap Delete my data in Profile > Privacy.
- Your answers. Style, budget and, when you tell us, who lives with you. They are used to pick furniture.
- Note for the analysis. If you write what the questions missed, the text goes through our server to the partner AI service (GPT by OpenAI, through OpenRouter) to go into the analysis, under the same consent as tapping Measure my room. It also goes into the copy of your rooms (item "Copy of your rooms on our server"). If you record a voice note, it is transcribed on your device and the audio never leaves it; the transcribed text goes into the analysis the same way.
- Location, with your permission. The "Use the scan's location" switch in Profile > Privacy starts on and respects your saved preference. Only with that switch on and iOS permission granted do we use your exact location to know which way the windows face (morning or afternoon sun) and the city of the property. It goes only to our server, is stored encrypted and is not shared with third parties. With the switch off, nothing is read or sent.
- Purchases. Payment is handled by Apple. We receive Apple's signed confirmation of the purchase and check on our server that it is valid. On Android, payment goes through Google Play: Google processes the payment, we receive the purchase token and order number to unlock what you bought, and our server checks with Google that it is valid. We never see your card details. For a project (one room) purchase we also keep which room it unlocked. When Apple tells us about a purchase, renewal or refund, we send PostHog the product, the amount, the currency and the transaction number, to count revenue. With "Send anonymous usage data" on, that record is tied to the app's random identifier; with it off, it goes without it.
- Copy of your rooms on our server. So your rooms are not lost, the app keeps on our server a copy of each room as it is on the device (the scan, the pieces, what you changed, your answers and the note) and of your answers, list and favorites, tied to the app's random identifier. If you reinstall the app on this device, they come back. We do not ask for a name, and signing in is optional.
- Email, only if you sign in. If you sign in to your account, we keep your email tied to it, so your rooms and purchases open on another device or in the browser. We send it the six-digit code for each sign-in, and nothing else. To limit attempts, each request for a code is kept for one day: the email, the app's random identifier and your IP address, scrambled. The code itself is not kept. If you sign in on a device that already had rooms or purchases, they move to your account. Signing out deletes nothing: the account stays, and signing in again brings everything back.
- Usage data. We collect usage and interaction data from the app's screens, like taps and navigation, to fix bugs and improve the app. We use PostHog, with a random app identifier and only city and state, never your address or exact location. The camera image and the text you type are left out, except what you search for in the Catalog: the words and how many results came back, so we can improve search. Turn it off in Profile > Privacy, "Send anonymous usage data". The same switch also stops sending your choices and the history of changes in the room to our server (item "The proposal and your answers in the room") and stops tying purchases to the app's identifier in PostHog (item "Purchases").
- Errors, crashes and performance. When the app crashes or something fails (network, preview, voice, purchase, scan), we send PostHog the error type, where in the code it happened, the screen, the app version, the device model, how long the steps took and the last actions in the app. To find what heats up the device or slows the app down, we also send the thermal state iOS reports, processor and memory use in each step and the performance reports iOS itself produces (MetricKit). Never the text of your note, photos, audio or contact details. The same Profile switch turns this off.
- Where the install came from. To know what it costs to bring each person, the app asks iOS whether the install came from an Apple ad (Apple Ads) and sends our server only the channel and the campaign number, with the random app identifier. The app also tells iOS, without it leaving the device, how far the person got (scan, proposal, purchase), so ad networks get an anonymous count from Apple. None of this uses the advertising identifier or tracks you across other apps. The same Profile switch turns this off.
- Apartment floor plan, only if you send one. If you pick a photo or PDF of your apartment's floor plan, tapping Read the measures is your permission (a line under the button says so) and the app sends the image, through our server, to the partner AI services (Gemini by Google or GPT by OpenAI), only to read the walls, doors and windows of the room you tapped. Measurements are checked in our own code. We keep the image you sent, in a private area of our cloud, with the result of the reading (the room read, or why it couldn't be read), so the Curvinha team can check it and improve how plans are read. It stays while your account exists, until you delete your data.
- Reference images, only if you pick them. Reference images you pick are sent to a partner AI service only to read the style, colors and materials, and are discarded right after; we keep only the words extracted from them.
- Notifications, only if you allow them. If you let the app send notifications, the notification address Apple gives your device goes to our server, tied to the app's random identifier, to tell you when your room is ready or when we start proposing furniture for a room type you saved. Notifications are delivered by Apple's notification service. Delete my data deletes that address.
- See in store. When you tap to see a piece of furniture in the store, the app goes through our server, which records the product, the store, the price, the day and the app's random identifier, and then opens the store page. This happens with or without "Send anonymous usage data" and tells us which stores and pieces work. The store address may carry source tags (like utm_source=curvinha) and may carry an affiliate code that pays us a commission if you buy. We send the store nothing about you; what happens on its page follows the store's policy. We keep these clicks for 13 months.
- Store links (Add by link). When you send the app a link to a piece of furniture you saw in another store, the address goes to our server, which reads the product's name, dimensions, price and photo from the page.
- Share links, only if you create one. When you share a room by link, our server keeps a copy of what the page shows: the room type, the style, a 3D image of the room drawn by the app (a drawing, not a photo), pieces, prices and store links and, in the architect mode, also style, budget and the floor plan. Coordinates, address and postal code are never included. The scan video only goes into the architect link if you say yes when you ask to talk to her; each access to the video uses an address valid for 15 minutes. Anyone with the link can see the page and the image, which also shows in the preview when the link is sent in a message; it is not indexed by search engines. You can revoke the link at any time, and it is deleted with Delete my data.
Website measurement
On the website, PostHog counts visits, declared link origins and clicks to open the app or App Store. A random identifier stays in browser session storage. We do not send advertising click identifiers to PostHog.
Ad measurement starts automatically on the website. The configured Meta, TikTok and OpenAI pixels may use cookies and click identifiers to connect visits and App Store clicks to ads. The provider's automatic matching may detect contact fields such as email and phone, normalize them and hash them in the browser for conversion matching. This is separate from sending the form to our server. App photos, floor plans and notes are excluded.
You can turn measurement off under Ad preferences in the footer. We store that choice in your browser. Turning it off blocks future events and pixel loading on later visits; it does not delete records already sent to providers. If your browser prevents saving the choice, it applies to the current page.
We use AppsFlyer for mobile install attribution, to learn which ad or link brought an install, and to measure Curvinha's ads on Meta (Facebook and Instagram). It receives the SDK's own identifier, the device's vendor identifier (IDFV), the Apple Ads attribution token and app events: install, opens, registration, scan, proposal view, trial and purchase with its value. When iOS asks “Allow Curvinha to track your activity across other companies' apps and websites?” and you allow it, AppsFlyer also receives the advertising identifier (IDFA), and shares these events with Meta to attribute them to the ad you saw and to optimize our ads. If you do not allow it, there is no IDFA; AppsFlyer still shares the events, the IDFV, your IP address and user agent with Meta, which uses them to measure our ads (Meta's Aggregated Event Measurement). You can change the answer at any time in Settings > Privacy & Security > Tracking. On Android, instead of the IDFA, AppsFlyer receives Google's advertising ID (AD_ID), for the same install attribution and ad measurement with Meta. You can reset or delete that ID in Android settings (Privacy > Ads, or Google > Ads, depending on the device). We do not supply AppsFlyer or Meta with a name, email, phone or room images. Turning off “Send anonymous usage data” in the app stops this SDK from sending usage events and attribution data, and stops the tracking prompt; Apple's SKAdNetwork, an aggregated install measurement that identifies no one, may still report to it. Deleting app data clears local attribution metadata and pauses this SDK; deleting records already held by the provider requires its own procedure.
Artificial intelligence
The room analysis, the realistic preview, reading the colors of your scan, reading a floor plan and reading reference images use third party AI models (GPT by OpenAI, Gemini by Google and Claude by Anthropic) through OpenRouter or directly at OpenAI. Claude also checks the images generated for the realistic preview. We send them the room measurements and your answers; with your consent, also the note you wrote, the 3D image of the room made by the app (for the realistic preview), the scan frames (for reading the room and, after a purchase, for the realistic preview), the floor plan image you sent and the reference images you pick. Consent is the tap on Measure my room or Read the measures, with a line under the button that says so. You can withdraw it at any time: stop measuring and tap Delete my data in Profile > Privacy. We never send them your name, email or exact location. To know what each use costs, every AI call is logged on our server with its cost, the room and the app's random identifier.
These providers receive the data to return the answer. How requests are used and how long they are retained depend on the provider and the account settings. Providers may keep records for security and abuse prevention. OpenRouter describes each provider's rules and the options for using requests in its privacy documentation. We do not promise zero retention for requests sent to AI services. We use your scans only to improve Curvinha's own measuring and proposal, as described above.
AI can get things wrong. The proposal and the fit check are suggestions you review; they do not decide anything about you.
Realistic previews are AI generated illustrations built on the real measurements of your scan, and the app labels them that way.
Where data is kept
- Server: Cloudflare Workers, which runs on Cloudflare's network, close to whoever is connecting.
- Database: Neon Postgres, São Paulo region (sa-east-1).
- Scan video and files, the proposal summary and realistic preview images: Cloudflare R2, in a private area in North America.
- Database backups: Cloudflare R2, in a private area in North America.
- AI: OpenRouter, which forwards the request to the model providers (such as Google, OpenAI and Anthropic), and OpenAI directly. These providers may process data outside Brazil.
- Metrics, errors, crashes, performance data and purchase records: PostHog, in the United States.
- Notifications: Apple's notification service (APNs).
- The email with the sign-in code: sent by Cloudflare.
International transfers. OpenAI, OpenRouter, the providers it uses (including Google and Anthropic) and PostHog may process data outside Brazil, including in the United States. Data stored in Cloudflare R2, including database backups, is in North America. Cloudflare may also process data in other countries on its network. We use these services to provide the functions described in this policy.
Who we share with. Only the providers on this list, which handle data on our behalf; Apple, for purchases and notifications; Google, for purchases on Android; on the website, the ad measurement providers described above; Curva Interiores, our partner, only what goes in the architect link, when you create it; and authorities, when the law requires.
We do not sell your data for money. Website ad measurement and the app's ad measurement with Meta follow the preferences described above, and US state laws may call them "sharing" (see "If you live in the United States"). We do not send room images, notes or exact location to advertising pixels.
How long
- Images sent and generated for the realistic preview: while your account exists, until you delete them. Generated images our check refused, which you never saw: deleted after 7 days.
- Scan video, measurements, frames, depth, 3D mesh and technical log, and the room's 3D made from them: while your account exists, until you delete them.
- Summary of the proposal and your answers in the room: while your account exists, until you delete it.
- See in store clicks: 13 months. AI cost log: after 13 months it loses the app identifier and the room, and only the cost stays.
- Anonymous account unused for 13 months and with no purchase: deleted entirely, with everything in it. An account with an email stays until you delete it.
- Account email: while your account exists, until you delete it. Requests for a code: 1 day.
- Notification address: until you delete it, or until Apple tells us it is no longer valid.
- Rooms, answers and proposals: while you use the app, until you delete them.
- Copy of your rooms on our server: while your account exists, until you delete it.
- Share links: until you revoke them; architect mode links expire after 30 days.
- Purchase records: for as long as tax law requires.
How to delete
In the app, open Profile > Privacy and tap Delete my data. It deletes the data on your device and on our server, previews, share links, scan videos and files, the proposal summary, the notification address, the account, its email and the copy of your rooms included. Deleted data may remain in backups made before deletion. Daily copies expire after 30 days and monthly copies after 365 days; the provider removes expired files asynchronously. Neon's restore history follows the window configured for the service. The R2 copies stay in a private area, with access limited to the Curvinha team. Records that hold only the app's random identifier, not the account, do not go right away: See in store clicks and the cost of AI calls (they follow the periods above) and events already sent to PostHog. When you delete, the app replaces that identifier, so nothing new is tied to the old one. Purchase records stay. On your device, the app keeps the receipts Apple signed and which room each purchase unlocked, so a purchase that has not reached our server yet is not lost (the App Store hands a one-off purchase back only once). On our server, each purchase's record (transaction number, product, amount, currency and day) stays with no link to the account, for as long as tax law requires and so the same purchase cannot be used on another account. A deleted project does not come back; Home and Life stay with your Apple Account and come back with Restore purchases. You can also write to dpo@curvinha.app. The steps, including a request without the app, are on Delete account.
Your rights in Brazil (LGPD)
Under Brazil's LGPD you can ask at any time for: confirmation that we handle your data and access to it; correction; anonymization, blocking or deletion of data that is unnecessary or handled unlawfully; portability; deletion of data handled with your consent; who we share it with; what happens if you do not consent; and to withdraw consent. You can also object to processing based on legitimate interest.
The legal bases are performing the service you asked for (including keeping the scan video, measurements, the proposal summary and the copy of your rooms to build the analysis and not lose your rooms, and your email so you can sign in to your account), our legitimate interest in improving measuring accuracy, plan reading and the proposal with those same files and the floor plan image you sent and in knowing which stores and pieces work, your consent (location, notifications, AI for reading the scan and the floor plan, the note and the realistic preview, metrics, choices and the history of changes in the room) and legal obligations (purchases).
To use a right, write to the data protection officer at dpo@curvinha.app. Since there is no sign-up, we may ask for something that ties you to the data, like the scan date or the purchase number. We answer access requests within 15 days. You can also contact Brazil's data protection authority (ANPD).
If you live in the United States
This section adds to the rest of this policy for residents of California and the other US states with consumer privacy laws (such as Virginia, Colorado, Connecticut, Utah, Texas and Oregon). It covers the last 12 months and what we do now.
What we collect, by category.
- Identifiers: the app's random identifier, the device's vendor identifier (IDFV), the advertising identifier (IDFA, only if you allow tracking; on Android, Google's advertising ID), the notification address, your IP address, your email (only if you sign in to your account) and, on the website, cookie and browser identifiers.
- Commercial information: the purchases you make in the app (product, amount, currency, transaction number) and which room each one unlocked.
- Internet or other electronic network activity: how you use the app and the website (screens, taps, searches in the Catalog, See in store clicks), errors, crashes and performance data.
- Geolocation: city and state from the IP address for metrics, and your exact location only when you allow it, to know which way the windows face.
- Audio, visual and similar information: the scan video (no audio), frames, depth and 3D mesh of the room, floor plan images and reference images you send. A voice note is transcribed on your device and the audio never leaves it.
- Preferences you tell us: style, budget, who lives in the home and the note you write.
We do not collect your name, phone number or postal address in the app, and your email only if you sign in to your account. We get this information from you and your device, and, for ad attribution, from AppsFlyer and the ad networks. We use it for the purposes described in "What we collect and why", and we keep it for the periods in "How long".
Who receives it. For business purposes, the service providers listed in "Where data is kept" (Cloudflare, Neon, PostHog, OpenRouter, OpenAI, Google, Anthropic), Apple and Google for purchases and notifications, and Curva Interiores only for an architect link you create.
Selling and sharing. We do not sell personal information for money. Two things may count as "sharing" for cross-context behavioral advertising, or as a "sale", under some state laws: the Meta, TikTok and OpenAI pixels on our website (identifiers and website activity), and the app events AppsFlyer sends to Meta to measure our ads (identifiers, app activity and purchases with their value). We do not use them to target you with ads from other companies. You can opt out at any time:
- On the website: Ad preferences in the footer, then Turn measurement off. We also treat a Global Privacy Control (GPC) signal from your browser as an opt-out.
- In the app: turn off "Send anonymous usage data" in Profile > Privacy. On iPhone, also answer Ask App Not to Track, or turn it off in Settings > Privacy & Security > Tracking. On Android, delete your advertising ID in the device settings.
- Or write to privacidade@curvinha.app with the subject "Do not sell or share".
We do not knowingly sell or share personal information of anyone under 16.
Sensitive information. The only sensitive personal information we collect is your exact location, and only when you allow it. We use it just to provide the feature you turned on (which way the windows face), never to infer anything about you, so there is nothing more to limit; you can turn it off in Profile > Privacy at any time.
Your rights. Depending on your state, you can ask us to: tell you what personal information we have about you, where it came from, why we use it and who received it, and give you a copy; correct it; delete it; and opt out of its sale or sharing and of targeted advertising. We do not use it for profiling that produces legal or similarly significant effects. We will not treat you differently, charge you more or give you a worse service for using these rights.
How to use them. In the app, Delete my data in Profile > Privacy deletes your data right away. For anything else, write to privacidade@curvinha.app. Since there is no sign-up, to confirm the data is yours we may ask for something only you have, like the purchase number or the date of a scan. An authorized agent can ask for you with your signed permission; we may ask you to confirm it. We confirm we got your request within 10 business days and answer within 45 days (up to 90 when we need more time, and we will tell you why).
Appeal. If we decline your request, reply to our answer within 60 days asking us to review it. We will answer the appeal within 60 days (45 in some states) and explain the result. If you disagree, you can contact your state's attorney general.
California "Shine the Light". We do not give personal information to third parties for their own direct marketing.
Security
Data travels encrypted (HTTPS), scan files are kept in a private area and only the Curvinha team can access them. If a security incident could bring you relevant risk or harm, we will tell you and the ANPD, as the law requires.
Children
The app is not made for children under 13 and does not knowingly collect their data. If you learn that a child used the app, or that a child shows up in a scan, write to us and we will delete it.
Changes
If this policy changes in a meaningful way, we will tell you in the app before the change takes effect. The date at the top shows the version in force; when you give consent, we keep the policy version that applied with it.