For the website
Effective date: 17.10.2026
This part applies to the website spacesnug.com. The part “For the app” applies to the app.
1. Who is responsible for data processing
Luca Höhlein is also responsible for the website. Address and contact details are given under “For the app”, sections 1 and 17.
↑ Contents2. Delivery through Cloudflare
The website is a collection of static pages without a server of its own. Cloudflare (Cloudflare, Inc., USA) delivers it (Cloudflare Pages) and operates the network in front of it, which caches the pages and protects against attacks.
When you open a page, Cloudflare processes the technically necessary data: your IP address, the time, the requested page and information about your browser (such as browser type and language). This serves to deliver the page to you and to keep the website secure and available. The legal basis is our legitimate interest in a secure and available website (Art. 6(1)(f) GDPR). Without this data no page can be delivered; beyond that, you do not have to provide us with any data on the website.
Cloudflare processes this data on our behalf. We do not keep logs of individual visits ourselves. Cloudflare shows us aggregated figures, such as how often pages were accessed, and, for requests that Cloudflare classifies as attacks and blocks, also the IP address, country and browser information. How long Cloudflare retains the data is governed by Cloudflare’s own terms.
If a page fails to load for network reasons, your browser may send an error report to Cloudflare (Network Error Logging). Your browser keeps the instruction to do so for up to seven days. The report contains the type of error, the affected address, the previously visited page and your browser type; according to Cloudflare, no IP address is stored with it. The purpose is to detect disruptions (Art. 6(1)(f) GDPR).
↑ Contents3. Transfers to the USA
Cloudflare is based in the USA and also processes data outside the EU. Cloudflare is certified under the EU-U.S. Data Privacy Framework; in addition, the EU Commission’s standard contractual clauses from the data processing agreement apply.
↑ Contents4. No cookies, no tracking
The website sets no cookies, embeds no analytics or advertising services and loads nothing from third-party servers. Only if Cloudflare considers a request to be a possible attack and displays a challenge may Cloudflare set a security cookie once the challenge has been passed; this cookie is strictly necessary for that purpose (Section 25(2) No. 2 TDDDG). Fonts are hosted on our server; we do not use Google Fonts or similar services.
On your first visit, the website stores the entry “ssLang” in your browser’s session storage (sessionStorage). It prevents the website from redirecting you again after the one-time redirect to your language. The entry contains only “1”, does not leave your browser and disappears when you close the tab. It is strictly necessary for this function (Section 25(2) No. 2 TDDDG). In addition, your browser remembers for one year to access the website only over an encrypted connection (HSTS).
Cloudflare encodes email addresses on the pages to protect them from spam harvesters; a small script served from the same address makes them readable again in your browser. It does not send any data.
↑ Contents5. Contact and support form
The support form does not send anything through the website. It opens your email program with a prepared message to support@osicion.com; whether you send it is up to you. If you write to us, we process your message and your address in order to reply (Art. 6(1)(f) GDPR, or Art. 6(1)(b) GDPR for questions about your account). Cloudflare receives emails sent to our addresses and forwards them to our mailbox. We keep messages for as long as we need them for your request and then delete them, unless the law requires us to retain them.
↑ Contents6. Links to the App Store
Links to the app lead to Apple’s App Store. Apple receives data from you only once you follow such a link, and processes it under its own responsibility and its own privacy policy.
↑ Contents7. Your rights
Your rights also apply to the website, including the right to object to processing based on legitimate interest and the right to lodge a complaint with a supervisory authority: see “For the app”, section 13. We do not make automated decisions within the meaning of Art. 22 GDPR on the website.
↑ ContentsFor the app
Effective date: 16.10.2026
1. Who is responsible for data processing
This Privacy Policy explains how Luca Höhlein, Langes Gräthlein 42, 97078 Würzburg, Germany, contact: privacy@spacesnug.com, processes personal data when you use the “SpaceSnug” app and related services.
↑ Contents2. What stays on your device
Scans are created and stay on your device. The app uses the camera, the LiDAR sensor (where available) and the motion sensors for this. Camera images, depth data, 3D models, maps, measurements, the names of your items and spaces, fit results and cover images are processed and stored on the device. Our server receives none of it, unless you explicitly release a contribution (section 9) or send a rating or feedback (section 8).
The app does not request your location, does not use the microphone and does not read contacts. From your library it only receives a photo you choose yourself as a cover image; it does not see the rest of the library. It writes to the library only when you save a result card. There is no advertising, no advertising ID and no tracking across apps.
iCloud backup (off until you turn it on): the app then copies 3D models, measurements and names, thumbnails, cover images (a photo from the scan or from your library), room layouts, fit results and your ordering to your private iCloud storage at Apple. Raw scan captures are not included. We have no access to your iCloud storage. When you turn the backup off, you decide whether the backup stays or is deleted.
Depth model: when the app scans on a device without LiDAR, it downloads a depth model once from Apple servers. The model evaluates your images on the device; they are not uploaded.
Also stored on the device: your sign-in token in the keychain, your settings, a copy of your profile (name, email address) and of your fit balance, and the record of your acceptance of these texts. Notifications from the app, for example about paused processing, are created on the device.
↑ Contents3. What our server stores
Our server stores the following for your account:
- Account: first and last name, email address, for email accounts the password as a hash, for “Sign in with Apple” the user identifier Apple gives us for this app, plus an internal user ID and the time of registration and of the last sign-in
- the country and unit system you choose during setup
- an approximate country of origin at registration and at the last sign-in, and the language of your device (section 8)
- hashes of the device identifiers you confirmed with an email code (section 8)
- the record of your acceptance of the Terms of Use, Privacy Policy and measurement notice: version, time, occasion (registration with Apple or email, or a new version), app version, locale and IP address
- fit balance and bookings (section 6)
- one push token per signed-in device (section 7)
- ratings and feedback you submit (section 8)
- booking entries for voluntary contributions (section 9)
- for each new version of the legal texts, when we sent you the email about it, with the identifier our email provider gives the email
For confirmation codes (verify email, new device, reset password, change email) the server stores a hash of the code for 15 minutes. The emails for these, the confirmation after account deletion and the notice of new versions of the legal texts are sent by our email provider (section 10).
The app signs in with a session token that is valid for 30 days. If you reset your password or sign out on all other devices, the existing sessions end; for this the server counts on your account how often that has happened. Afterwards, at most the device you did this on counts as confirmed.
If you write us an email, we process your message and your address in order to reply.
↑ Contents4. What we use the data for
- run your account and sign you in
- credit and deduct fits and keep them the same on all your devices
- verify purchases and subscriptions
- protect accounts against unauthorized access and the service against abuse
- estimate processing times and improve the measurement
- see where and in which languages the app is used, and order the vehicle list
- inform you about your contract, for example about new versions of the legal texts
- answer requests
- meet legal obligations
We do not build advertising profiles.
↑ Contents5. Legal bases
We base the processing on these grounds of the GDPR:
- contract (Art. 6(1)(b)): account, sign-in, fit balance, purchases, push token, emails about your contract (confirmation codes, new versions of the legal texts, termination)
- legitimate interest (Art. 6(1)(f)): protection against abuse and unauthorised access, approximate country of origin, device language, processing times, ratings and feedback, server logs and the record of your acceptance, so that we can prove which terms you accepted
- consent (Art. 6(1)(a)): voluntary contributions
- legal obligation (Art. 6(1)(c)), where we must retain or hand over data
You can withdraw consent with effect for the future. For voluntary contributions this is only possible while we can link them to you (section 9). You can object to processing based on legitimate interest (section 13).
For the account we need your name and email address; without them you cannot use SpaceSnug. Ratings, feedback and contributions are voluntary. We do not make automated decisions that produce legal effects for you or similarly significantly affect you (Art. 22 GDPR); the fit result is an estimate for you.
↑ Contents6. Purchases, subscriptions, and fit balances
Purchases go through the App Store. We do not see payment data. After a purchase the app sends the purchase receipt signed by Apple to our server; Apple also notifies us directly about purchases, renewals and refunds. So that a purchase can be assigned to your account, the app passes Apple an identifier derived from your user ID with the purchase.
The server stores your fit balance and every booking: purchases (Apple transaction number, number of fits, time), deductions (number, reason, time), the welcome credit, refunds and unlocked trunk models. The balance on the server is the one that counts. If Apple refunds a purchase before it has been credited to your account, the server permanently stores only the Apple transaction number and the time, without any link to an account, so that the purchase cannot be credited later after all.
The welcome credit is granted once per device. For this we use Apple DeviceCheck: the app obtains a short-lived token from Apple, our server passes it on to Apple and reads and sets a “credit received” flag there for your device. We store neither the token nor a device identifier. The flag is held by Apple and stays there even if you delete the app or your account.
↑ Contents7. Apple services
The app uses services from Apple. Apple processes data for these under its own responsibility and its own privacy policy:
- Sign in with Apple: Apple confirms your identity to us and gives us a user identifier for this app, your email address or an Apple relay address and, the first time, your name if you share it.
- App Store: purchases, subscriptions and refunds (section 6).
- DeviceCheck: welcome credit once per device (section 6).
- Push notifications: for each signed-in device our server stores the Apple push token and a hash of the device identifier. Only silent notifications without visible content are sent through it when your fit balance changes, for example after a purchase on another device. We delete the entry when you sign out and when you delete your account, otherwise after 90 days without contact.
- iCloud and depth model: section 2.
8. Diagnostics, ratings, and security
Improve the app (can be turned off in Settings, on at the start):
- Processing times: how long individual computing steps of a scan took, together with the device model (for example “iPhone17,2”). The server stores them per device model, without any link to your account. They produce the time estimate for all devices of the same model.
- Rating of a fit result: your rating, the verdict, the clearance in centimetres, the type of space, a random identifier of the result and the app version. It is stored with your account.
- Feedback when reprocessing: the type of scan, the reason you chose, the length, width and height of the scan and the app version. It is stored with your account. If you tap “Skip”, nothing goes to the server.
Photos, 3D models and names are never included. We do not use third-party analytics or crash reporting services.
Security:
- New device: if you sign in with email and password on a device the server does not know for your account, we send a code to your email address. For this the app transmits the identifier for vendor that iOS assigns per app vendor. The server stores only a hash of it with the account.
- Failed attempts: after wrong sign-ins or codes the server stores counters for IP address and email address, 15 minutes for a picture puzzle and up to 24 hours for a lock. The picture puzzle is our own, not from a third party.
- Server logs: every request appears with IP address, time and requested address in the log of our hosting provider and is deleted there according to its retention periods. For purchases and refunds it also contains the Apple transaction number and the product, after a refund also the fit balance, for a rejected push notification the last characters of the push token, and for a server error its technical message.
Country and language: at registration and sign-in we store with the account the country that our network provider Cloudflare derives from your IP address, and the language of your device, not the IP address. This shows us where and in which languages the app is used and lets us decide which languages it gets next. If your account has no country selected, the vehicle list shows the car makes most common in that country first.
↑ Contents9. Voluntary contributions and vehicle requests
After a scan you can contribute data voluntarily. This only happens with your consent (Art. 6(1)(a) GDPR), never automatically. In return the scan is free, for trunks once per vehicle model.
Trunk: the vehicle model you selected, the shape of the cargo area as a point grid (5 cm), the opening and interior measurements, the volume calculated from them, the detected state of the rear seats, how complete the scan is and the app version.
Walkways: one map per corner (15 cm grid with floor, ceiling, obstacles, entry and exit) with the walkway measurements calculated from it, the measurements of the narrowest point, whether stairs are involved and the app version. The map only knows positions relative to the start of the scan.
Not included: photos, 3D models, location, name.
The server stores each contribution without any link to your account and without a timestamp, under a random key only. A booking entry stays on your account: day, type of contribution, refunded Fit and, for trunks, the vehicle model. It is deleted with the account. The server deletes trunk contributions as soon as enough contributions have produced a shared model of the vehicle; only that model remains.
Withdrawal: a walkway contribution contains nothing that links it to your account; once received it can no longer be withdrawn. A trunk contribution can be linked to you through the vehicle model in your booking entry as long as nobody else has contributed to that model. Until then you can withdraw it (section 13).
Requesting a vehicle: if your car is missing from the list, you can request it. The server then counts per vehicle: make and model as you entered them, the day and the place in the selection the request came from. It does not store account, device or IP address for this; your account is only used briefly in memory to limit repeated requests.
↑ Contents10. Recipients
We do not sell personal data and do not pass it on for advertising.
These providers process data on our behalf:
- Railway: running the server
- MongoDB Atlas: database
- Cloudflare: network and protection against attacks; all requests from the app pass through it
- Resend: sending the emails with confirmation codes and account notices
Apple processes data under its own responsibility (section 7).
We pass data on to authorities or other parties only where a law requires it or where it is necessary to enforce legal claims.
↑ Contents11. International transfers
We run the server and the database in data centres in the EU. Railway, MongoDB, Cloudflare and Resend are companies based in the USA; Cloudflare and Resend also process data outside the EU. These transfers are covered by the EU Commission’s standard contractual clauses in the data processing agreements with these providers. Apple also processes data outside the EU under its own terms.
↑ Contents12. Retention and deletion
We store account data, fit balance, bookings, the record of your acceptance, the sending of emails about new versions, ratings and feedback until you delete your account. Stored for a shorter time: confirmation codes 15 minutes, counters for failed attempts and sent codes 15 minutes to 24 hours, push tokens until sign-out or 90 days without contact.
Deleting your account (in the profile): the server immediately deletes profile, fit balance, bookings, the record of your acceptance, the sending of emails about new versions, ratings, feedback, push tokens, unlocked trunk models and the booking entries for contributions. Your fits expire, purchased and gifted alike; refunds of purchases go through Apple (Terms of Use, sections 5 and 6). You receive a confirmation by email.
What remains afterwards:
- App Store purchases as a row without any link to your account (Apple transaction number, number of fits, time), so that the same purchase cannot be credited a second time
- voluntary contributions, counters for vehicle requests and processing times, which are stored without any link to your account from the start
- the DeviceCheck flag at Apple
- server logs until their retention period ends
Deleting your account does not delete scans, models and results on your device and in your iCloud. You remove them individually in the app or by deleting the app, and the iCloud backup through the backup switch in Settings. You cancel a running subscription in the App Store.
↑ Contents13. Your rights
You have the right of access (Art. 15 GDPR), rectification (Art. 16), erasure (Art. 17), restriction of processing (Art. 18) and data portability (Art. 20). You can withdraw consent at any time with effect for the future (Art. 7(3)). You can lodge a complaint with a data protection supervisory authority (Art. 77), for example the one responsible for us: Bayerisches Landesamt für Datenschutzaufsicht, Promenade 18, 91522 Ansbach, Germany, www.lda.bayern.de.
Right to object (Art. 21 GDPR): Where we process data on the basis of legitimate interest (section 5), you can object at any time on grounds relating to your particular situation. We then no longer process the data unless we demonstrate compelling legitimate grounds that override your interests, or the processing serves the establishment, exercise or defence of legal claims. You turn off processing times, ratings and feedback directly in Settings under “Improve the app”.
In the app: “Export my data” in Settings gives you a copy of the data the server stores for your account and of the entries on your device. “Delete account” in the profile deletes your account (section 12).
For anything else, you can reach us at privacy@spacesnug.com.
↑ Contents14. Children’s privacy
SpaceSnug is for people aged 16 and over; anyone under 18 needs their parents’ consent (Terms of Use, section 2). Younger people may not create an account. If we learn that an account belongs to a younger person, we delete it.
If you believe a child has given us data, write to us; we will check and delete the data where appropriate.
↑ Contents15. Security
We take reasonable technical and organisational measures to protect personal data against accidental or unlawful destruction, loss, alteration, unauthorised disclosure or unauthorised access.
No system can guarantee absolute security. Protect your device, your credentials and your account as well.
↑ Contents16. Changes to this Privacy Policy
We update this Privacy Policy when the law, the technology or the app changes. The current version is available in the app.
We inform you in advance in the app and by email about material changes, such as a new purpose, a new service provider or new transfers to third countries. Your consent is not required for this; where processing is based on your consent, we ask you separately.
↑ Contents17. Contact
If you have questions about data protection or want to exercise your rights, you can reach us here:
Luca Höhlein
Langes Gräthlein 42, 97078 Würzburg, Germany
privacy@spacesnug.com