RentShort-term rentBuy
Last updated: {{LAST_UPDATED_DATE}}
This privacy policy is published by {{CLIENT_NAME}}, registered at {{CLIENT_ADDRESS}} (referred to as "Kvadrati", "we"), the data controller within the meaning of the General Data Protection Regulation (GDPR) and the Slovenian Personal Data Protection Act (ZVOP-2).
This policy applies to all personal data we collect and process through the Kvadrati website and Android app (the "service") — whether you access it via a browser or the Android application.
Contact for data protection questions: {{CLIENT_EMAIL}}. {{DPO_CONTACT}}
| Category | Examples |
|---|---|
| Registration data | name/display name, email address, hashed password |
| Phone number | for verification before publishing your first listing (if the feature is enabled) |
| Listing data | property address, price, description, photos, energy certificate |
| Photos | uploaded listing and chat-attachment photos — EXIF metadata (including GPS location) is stripped automatically on upload |
| Chat messages | message content between a user and a listing's owner/agency |
| Agency data | company name, registration number, VAT ID, real estate broker licence number |
| Technical data | IP address, device/browser type, access logs (the IP address is truncated/anonymized after 30 days) |
| Usage data | saved searches, favorited listings, notification preferences |
We do not collect or process payment card data — this version of the service (MVP) has no payment transactions.
Automated processing in moderation: when a listing is published, the system computes a risk score based on duplicate photos, duplicate titles, a price that significantly deviates from the area average, and the presence of contact information in the description. Where enabled, the listing's title and description are additionally sent to a large-language-model provider (see section 6, "Content risk-scoring provider") for a scam-probability estimate. This score is one of the signals that can route a listing to manual moderator review — the final decision to remove or hide a listing is always made by a human (see Terms of Use, §6).
| Purpose | Legal basis (GDPR) |
|---|---|
| Registration, listing display, chat | performance of a contract (Art. 6(1)(b)) — the Terms of Use |
| Phone verification, abuse prevention | legitimate interest (Art. 6(1)(f)) — marketplace integrity and fraud prevention |
| Energy certificate, DSA obligations | legal obligation (Art. 6(1)(c)) |
| Notifications (push/email) by chosen channel | consent or contract performance, depending on notification type — you choose channels in Settings |
| Automated content risk-scoring (moderation) | legitimate interest (Art. 6(1)(f)) — preventing fraud and illegal content on the platform |
We use the following processors/service providers to operate the service. Where each is an external provider, we have a data processing agreement (DPA) in place:
| Provider | Purpose | Data category |
|---|---|---|
| Hetzner (VPS, EU region) | hosting the application and database | all service data |
| Cloudflare R2 | storing listing photos and chat attachments (being rolled out — photos are temporarily stored locally on the VPS until then, also within the EU) | photos (EXIF/GPS stripped) |
| DeepL | automatic translation of listing descriptions between Slovenian and English | listing description text |
| Content risk-scoring provider (Anthropic Claude API) | optional additional automated-moderation layer — estimating scam probability in listing text | listing title and description |
| Firebase Cloud Messaging (Google) | sending push notifications in the app and browser | device token, notification content |
| Email provider (e.g. Brevo or equivalent) | sending transactional emails (signup confirmation, notifications, statements of reasons) | email address, message content |
| SMS provider (chosen by the client) | sending a one-time password (OTP) for phone verification, if enabled | phone number, SMS content |
| Nominatim / geocoding provider | converting an entered address into geographic coordinates | property address |
| OpenFreeMap / Mapbox (maps) | rendering maps | IP address (when map tiles load) |
| Google Sign-In (optional) | signing in with a Google account, if chosen by the user | email address, name, Google account ID |
| Sentry (optional) | application error/exception monitoring — only active if SENTRY_DSN is configured | technical data at the time of an error (may include IP address, user ID, request fragment) |
Review note before publishing: the list above reflects providers actually integrated/planned in
the code and docs/HANDOVER.md §2 (the "Compliance" section there lists the same set awaiting
confirmation). The SMS provider and the actual hosting account have not yet been finalized by
the client (Hetzner is architecturally confirmed in docs/plan.md/deploy/DEPLOY.md, but a
specific account/region is pending) — name them explicitly before publishing and obtain/attach a
DPA for each. Internal self-hosted monitoring (Uptime Kuma) is deliberately not listed — it only
checks the site's public availability endpoint and does not process users' personal data.
Most of the providers above (Cloudflare, Google/Firebase, Anthropic, DeepL) are global providers that may process data outside the European Economic Area (EEA). Where this occurs, the transfer relies on one of the following mechanisms:
Review note before publishing: for each finalized provider, verify the specific transfer mechanism and name it explicitly (not just in general terms).
As a data subject, you have the right to:
Self-service in Settings:
For requests not available self-service (e.g. objecting to processing, questions about international transfers), write to us at {{CLIENT_EMAIL}}. We respond to requests within one month of receipt, in line with the GDPR.
For details on the cookies we use, see the separate Cookie Notice (Cookies). The service uses only strictly necessary cookies — no third-party advertising or analytics tracking.
We protect your data with appropriate technical and organizational measures, including:
We do not store payment card data — this version of the service has no payments in its offering.
For any questions about this policy or the processing of your personal data, contact us at {{CLIENT_EMAIL}}.
If you believe our processing of your personal data violates the GDPR or ZVOP-2, you have the right to lodge a complaint with:
Information Commissioner of the Republic of Slovenia (IP RS) Dunajska cesta 22, 1000 Ljubljana, Slovenia gp.ip@ip-rs.si · www.ip-rs.si
We may update this policy from time to time — for example, due to changes in law or new service features. We'll notify you of material changes through the service (an in-app notice or email) and update the date at the top of this document. We recommend reviewing this page periodically.