Privacy Policy
This page explains what personal data Dwelvia collects, for what purpose, on what legal basis, how long it is kept, and which third-party providers (subprocessors) it is shared with to run the service — including hosting, the database, email delivery and the AI features. We process the minimum data needed to run the app and we do not sell it.
Effective from 24 October 2026.
Who is responsible for the data
The data controller is sole proprietor (FOP) Oshchypok O. V. (ФОП Ощипок О.В.), Ukraine, the operator of the Dwelvia service (dwelvia.app).
For privacy questions and to exercise your rights, write to [email protected] or use the in-app feedback form.
What data we collect
| Category | What exactly | Why |
|---|---|---|
| Account | Email; name and profile picture — optional, at your discretion (you enter them yourself or they come from your Google account); password hash (scrypt — the password itself is not stored); plan or promo access and the AI allowance used | Sign-in, identification, contact, access limits; name and picture — only to show them in the app |
| Projects | Floor plans, estimates, settings, plot data (including an address if you type one), uploaded sketches and photos of plans, sharing and roles | Core function — storing and editing your projects |
| Messages | In-app messages, feedback-form submissions (the text and your e-mail if you give it), e-mails you send to our addresses | Support, improving the service |
| AI requests | Your command text + a compact fragment of the active plan; a sketch or photo of a plan you ask us to recognise | To carry out your command (only when you use these features) |
| Assistant log | Your message to the assistant and its reply (up to 500 characters each) and the actions taken — in the service's own log, linked to your account | Improving the assistant and fixing errors |
| AI cost records | Provider and model, token counts, cost, feature, account and plan name — without the request text | Promo allowances, cost accounting |
| Water calculator requests | E-mail; the consent record (time and language); test values and form options; the lab report file (photo or PDF) if you upload one; the calculator page; a one-day hash of the IP address (the address itself is not stored) | To send you the link to the calculation; abuse prevention |
| Technical | IP address, session data, security/error logs | Security, reliability, abuse prevention |
| Referral source | UTM tags, referrer, campaign keyword, first page, browser language and device type (first-touch, stored locally in the browser); once per browser session it goes, with the country (from the IP address, without the address itself), into an anonymous visit event; attached to the account at registration | To understand where visitors come from (our own analytics, NO third-party trackers) |
| Calculator use | Which calculator was opened on which page, device type, country — under a one-day visitor hash (IP address + browser), without the values you enter; if you are signed in, also your account | To know which calculators are used |
| In-app actions | Which buttons and tools you use, plan-wizard answers, plan edits (what was moved or changed and by how much), estimate results — in the service's own log, only for signed-in users, linked to the account | Only to optimise the service and fix bugs; NO third-party trackers, no advertising, not shared with anyone |
Why and on what legal basis
Legal bases under the GDPR / UK GDPR (Art. 6) and Article 11 of the Law of Ukraine «On Personal Data Protection».
| Purpose | Legal basis |
|---|---|
| Providing the service: account, storing and processing projects, sharing, AI features at your command, service e-mails | Performance of a contract (GDPR Art. 6(1)(b); conclusion and performance of a contract under the Ukrainian law) |
| Sending a water calculation by e-mail to a guest without an account | Consent — the checkbox in the form (GDPR Art. 6(1)(a)); withdraw it with «Delete my data». For a signed-in person — performance of a contract |
| Security, abuse prevention, basic diagnostics | Legitimate interests (GDPR Art. 6(1)(f)) |
| Improving the service: action log, assistant log, referral source, calculator use, AI cost records | Legitimate interests — knowing what works and fixing errors; you can object (see «Your rights») |
Who the data is shared with — subprocessors
We engage providers only to the extent needed to run the service. Each processes data under our instructions and its own data processing terms. We do not sell personal data.
| Provider | Role | What it receives |
|---|---|---|
| Fly.io | Hosting/compute (EU — Frankfurt, Germany), the app disk (including water calculator requests with lab report files) | All application data while running |
| Supabase | Managed Postgres database | Account, project and service-log data |
| Cloudflare | DNS, CDN, proxy, TLS, protection (WAF; a bot check on the feedback form, if enabled); forwarding e-mails sent to our addresses; optionally Workers AI | Network traffic; e-mails you send us; for Workers AI — the request text or image |
| Anthropic (Claude API) | AI assistant (default), furniture-layout review, recognising sketches and water lab reports (fallback) | Command text + plan fragment; the image or text you ask us to recognise — only when you use these features |
| Google (Gemini API) | AI assistant (alternative/optional), recognising sketches and water lab reports (first attempt) | Command text + plan fragment; the image or text you ask us to recognise — only when you use these features |
| Google (OAuth) | Sign in with Google (optional) | On the home page your browser loads the sign-in button from Google's servers (Google sees the IP address and browser data); from Google we receive your email, name and profile picture URL (see the section below) |
| Resend | Sending service emails (confirmations, invites, calculation links) | Email and message content |
When you share a project yourself (a link, an invite, a tender for builders), the person you give access to sees what you opened to them. We may disclose data where the law requires it.
International transfers
The service is operated from Ukraine; hosting is in the EU (Germany). Some providers (including Anthropic, Google and Cloudflare) may process data in the US or other countries — in that case transfers rely on the Standard Contractual Clauses (SCCs) of the respective providers or on their participation in the EU-U.S. Data Privacy Framework, where it applies.
If you are in the EU or the UK: the controller works from Ukraine, which has no EU adequacy decision. Your data is transferred to Ukraine to the extent needed to provide the service you ask for (GDPR / UK GDPR Art. 49(1)(b)).
AI features — important details
- Optional: AI processing only starts when you address the assistant, ask us to recognise a sketch or a lab report, or run the layout review.
- Minimization: the assistant receives your text and a compact fragment of the active plan (the relevant objects) — not your whole account or other projects.
- No AI when possible: synonyms, item lookup and moving furniture are computed on our server without sending anything to any AI provider.
- Log: your message and the assistant's reply (up to 500 characters) are kept in the service log so we can improve the assistant; the AI cost records contain no request text.
- Free tiers: some providers' free AI plans may use submitted data to improve their models — including the free tier of Google Gemini, which we try first for recognition. Therefore do not enter confidential data into the assistant; for sensitive projects use paid tiers / a provider without such use.
Water calculators: what happens to your test results
- You type the test values or upload a photo of the lab report (a PDF needs an account) and leave your e-mail; without an account — only after ticking the consent box.
- Typed values — the link to the calculation comes by e-mail at once. A report photo is read on the server by a model (Google Gemini, then Anthropic Claude, Cloudflare Workers AI as the last resort); pasted report text is read by a model the same way, and we do not store that text. A PDF or a photo that could not be read is reviewed by the service owner by hand, who types the values in.
- A lab report may show your name or address — you may cover them before taking the photo.
- The link in the e-mail shows the test results and the calculation, never your e-mail.
- We keep the request with its file for 12 months, then it is deleted automatically. Earlier — with the «Delete my data» button on the page the e-mail link opens, or by writing to [email protected].
- The other public calculators (roof, septic, rainwater, heat loss) calculate on the server and do not store the values you enter — only the fact of use (see the table above).
Data from Google services (Limited Use)
Signing in with Google is optional: you can also register with an email and password. When you sign in
with Google we request only basic profile data (the openid, email and
profile scopes), and of that we store and use only:
- email (and the flag that Google has verified it) — to create your account and recognise you at sign-in;
- first and last name (given name / family name) — to fill in your profile;
- profile picture URL — to show your avatar in the app;
- Google account identifier (
sub) — to link Google sign-in to your Dwelvia account.
We do not require a photo. Like the name, it is at your discretion: it is whatever image you set in your Google account yourself (a photo, a logo or any other picture), or none at all. We use it only to show your avatar in the app and do not analyse it. The name and picture are copied into your profile once, at your first Google sign-in, and only into empty fields; after that they are yours — you can change them, replace the picture with your own image or delete them in your account settings, and the next Google sign-in will not bring them back.
We do not request or receive any other Google data (contacts, Gmail, Drive, calendar, etc.).
Dwelvia's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements. Specifically, we:
- use this data only to provide and improve the sign-in/account feature you expect;
- do not transfer it to third parties except as needed to provide the service, as required by law, or with your consent;
- do not use it for advertising;
- do not let humans read it, except with your consent, for security (e.g. abuse investigation), or where required by law.
You can revoke Dwelvia's access in your Google account settings (Third-party apps with access).
Cookies and data in your browser
We set only the cookies the service needs: ha_session (sign-in), ha_csrf (protection of
actions) and ha_lang (language — only when you choose it yourself). Your browser (localStorage) keeps
interface settings, the chosen language and country and the first-visit source (see the table above). There is no
third-party analytics, advertising or tracking pixel, so there is no consent banner: strictly necessary cookies and
settings you chose yourself need no consent — we only show a short cookie notice once. If we ever add optional cookies
(for example, analytics), we will ask for your consent first. Details — in the
Cookie Policy.
How long we keep it
| Data | Period | How to delete earlier |
|---|---|---|
| Account | As long as the account exists | Account deletion — on request by e-mail to [email protected] (there is no separate button in the app yet) |
| Projects | Until you delete them or as long as the account exists | Delete the plan in the app |
| Sign-in session | With «Remember me» — 30 days; without it — until the browser is closed | Sign out (including «on all devices») |
| One-time codes and links | E-mail confirmation, password reset — 1 hour by default; invites — 7 days | They expire by themselves |
| Water calculator requests (with the lab report file) | 12 months from sending, then deleted automatically | «Delete my data» on the e-mail link, or on request |
| Messages, action log, assistant log, AI cost records | As long as the account exists | Together with the account, or on request |
| Anonymous visit and calculator-use events | No separate period: they hold no IP address or e-mail (only a one-day hash); if you were signed in — until the account is deleted | — |
| Server technical logs | The limited time needed for security and diagnostics | — |
| Database backups | Until the backup is overwritten on the database provider's schedule | — |
| Data in your browser | Until you clear it (the ha_lang cookie — 1 year) | Browser settings |
After account deletion we delete or anonymize related data, unless the law requires us to keep it longer.
Your rights
Under the GDPR / UK GDPR and the Law of Ukraine «On Personal Data Protection» you have the right to know what data about you is processed, why, where and who receives it; to access your data and get a copy; to rectification; to erasure; to restrict or object to processing (including processing based on legitimate interests); to data portability; to withdraw consent at any time (this does not affect processing before the withdrawal); and to lodge a complaint.
- Projects: export as a
.dwelviafile and delete a plan — in the app. - Profile: name, picture and e-mail can be changed in your account settings.
- Water calculator request: the «Delete my data» button on the page the e-mail link opens.
- Everything else (a copy of all data, account deletion, objection) — write to [email protected] or use the feedback form. We answer within one month and may ask you to confirm that the account is yours.
- Complaints: in Ukraine — the Ukrainian Parliament Commissioner for Human Rights (ombudsman.gov.ua); in the EU — the supervisory authority of your country (list); in the UK — the ICO (ico.org.uk). We would appreciate the chance to answer you first.
Security
Connections over HTTPS only; passwords stored as a hash (scrypt); session cookies marked HttpOnly;
actions protected by a CSRF token; the server checks access to other people's projects. We take reasonable security
measures, but no method of transmitting or storing data is completely secure.
Children
The service is not intended for persons under 16 and is not directed to children under 13; we do not knowingly collect their data. If you learn that a child has given us data, write to [email protected] and we will delete it.
California residents (CalOPPA)
- The categories of data we collect and the third parties it is shared with are in the tables above.
- You can review and change your data in your account settings or by writing to [email protected].
- Do Not Track: we do not track your activity on other websites, show no advertising and use no third-party counters, so we do not respond to the browser's «Do Not Track» signal separately. The only third-party services on our pages are those in the subprocessors table.
- We do not sell personal data.
Changes
We may update this policy when the service changes. The current version is always on this page with the effective date at the top; we will announce material changes on this page or in the app.
Contact
sole proprietor (FOP) Oshchypok O. V. (ФОП Ощипок О.В.), Ukraine · [email protected] · the in-app feedback form. Updated: October 2026.