Easy Move Planner

Privacy policy for the app “Easy Move Planner”

Last updated: 9 November 2026

This is an English translation of the German Datenschutzerklärung. In case of doubt, the German version prevails.

This privacy policy applies to the app “Easy Move Planner” (German name: “Easy Umzugsplaner”) for iOS and Android and to the related websites at https://easyumzug.ploeger.io (home page, legal texts, help, contact form, invitation links and account deletion page). It explains which personal data I process, for what purposes, on which legal basis, to whom it is disclosed, how long I keep it and what rights you have.

1. Who is responsible?

The controller within the meaning of the General Data Protection Regulation (GDPR) is:

Sebastian Ploeger
Tulpenstraße 34
16548 Glienicke
Germany

Email: easyumzug@ploeger.io (data protection requests: datenschutz@ploeger.io)
Contact form: https://easyumzug.ploeger.io/en/contact

I run the app as a sole trader and develop it on my own. I have not appointed a data protection officer because this is not required by law (Art. 37 GDPR, Section 38 of the German Federal Data Protection Act, BDSG). For any questions about data protection, simply write to me at easyumzug@ploeger.io.

The app is available in German and English. It is offered in Germany, Austria, Switzerland, Ireland and the other member states of the European Union. Section 12a also applies to users in Switzerland.

2. The key points in brief

3. Legal bases at a glance

I only process personal data if one of the following legal bases applies. Which legal basis applies to which purpose is stated for each processing operation in section 4.

I do not currently need consent (Art. 6(1)(a) GDPR) for any processing, because the app uses neither advertising nor usage analytics nor tracking. The permission for push notifications that your operating system asks for is a technical setting of your device; the processing is based on the contract (section 4.7).

4.1 Account and sign-in

You need an account to use the app. This is the only way your moves can be used on several devices and shared with others. You can sign in in three ways:

When you sign in with Apple or Google, Apple or Google also process your sign-in data under their own responsibility in accordance with their own privacy notices (see section 5.2).

Which data: email address, display name, user ID (a random identifier assigned by Firebase, “UID”), sign-in method (email, Apple or Google) and the identifier at the respective provider, whether your email address is verified, the time the account was created and of the last sign-in, the password hash for email sign-in and, for technical reasons, the IP address and the browser or device identifier (user agent) at sign-in, which Firebase Authentication also uses to protect against abuse. In my database I also store with your profile your display name, email address, creation and modification time, your purchase status (see 4.4), your notification settings as well as the app language (German or English) and the time zone of the device you used last, for example “Europe/Dublin” (see 4.7).

Purpose: creating your account, sign-in, verifying your email address, resetting your password, synchronising your data between devices, protecting your account.

Legal basis: Art. 6(1)(b) GDPR; for evaluating the IP address and user agent to protect against abuse, Art. 6(1)(f) GDPR (legitimate interest in the security of the accounts).

Do you have to provide the data? Without an email address (or sign-in with Apple or Google) and a display name I cannot create an account and you cannot use the app. There is no legal obligation to provide the data.

Retention period: until you delete your account. The data is then deleted (details in section 8).

Where: Firebase Authentication is operated by Google in data centres in the USA (transfer: section 6); the profile is stored in Cloud Firestore in Frankfurt am Main. Firebase Authentication sends verification and password emails on my behalf.

4.2 Moves and sharing (family sharing)

This is the core of the app: you plan a move and can share it with up to 10 people (including yourself).

Which data: everything that you or other members enter in a move, in particular:

Who sees what: all members of a move see the display names of the other members and all contents of that move and can edit and delete them. Other members do not see your email address or your profile. People who are not members have no access. The owner of a move can remove members; every member can leave a move. I do not look at the contents of moves unless this is necessary in an individual case, for example because you ask me for help or because content has been reported as illegal (see 4.6).

Data about other people: if you enter data about third parties (for example the landlord's name in a task or the removal company's address in a note), I process this data only to provide you with the function you requested. Please only enter data that you need for your move and are allowed to use. Please do not enter particularly sensitive data (for example health data); the app is not intended for this.

Purpose: storing and synchronising your move planning, editing it together with the members of the move.

Legal basis: for your own data and the data of the members, Art. 6(1)(b) GDPR; for third-party data entered by users, Art. 6(1)(f) GDPR (the users' legitimate interest and my legitimate interest in providing the planning function they want; the data is only visible to the members of the move).

Retention period:

Where: Cloud Firestore by Google, region europe-west3 (Frankfurt am Main). In addition, the app caches data on your device so that it can also be displayed without an internet connection (see 4.8).

4.3 Invitations

Members of a move can invite other people using an 8-character invitation code or a link of the form https://easyumzug.ploeger.io/join/CODE. You decide yourself how you pass on the code or link (for example by messenger or email); the respective service processes the message under its own terms.

Which data: the code, the related move, the title of the move at the time of the invitation, the user ID and display name of the person inviting, the creation and expiry time, the maximum and current number of uses, whether the invitation was revoked, the user IDs of the people who used the invitation, and the user IDs of removed members who may not rejoin with old invitations.

Who sees what: anyone signed in with a valid code sees, before joining, the title of the move, the display name of the person inviting, the number of members and the expiry date of the invitation. The members of the move see that move's invitations.

Protection against abuse: to prevent anyone from trying out codes, I count invalid code entries per user. After 10 failed attempts within one hour, further attempts are temporarily blocked.

Invitation page in the browser: if someone opens the link without the app installed, the website shows the code and links to the app stores (see 4.10).

Purpose: joining a shared move, protection against unauthorised joining.

Legal basis: Art. 6(1)(b) GDPR for the invitation itself; Art. 6(1)(f) GDPR for abuse protection (legitimate interest in the security of the moves).

Retention period: by default an invitation is valid for 7 days (adjustable from 1 to 30 days) and can be used at most as often as set when it was created (5 times by default, at most 10 times). Expired invitations are deleted automatically, usually within 24 hours after expiry. The failed-attempt counter is deleted automatically after the hour has passed, usually within 24 hours.

4.4 Purchase of the “Full version” (in-app purchase)

The app is free. Anyone who wants to create their own move needs the “Full version”, a one-time in-app purchase for €0.99 in Germany (in other countries the price shown in the store applies; not a subscription). Invited members do not need to buy anything.

Purchase and payment: the purchase is handled exclusively by Apple (App Store) or Google (Google Play). The seller to you is Apple for the App Store (in the EU and Switzerland Apple Distribution International Ltd., Ireland) and, in the European Economic Area (EEA), Google Commerce Limited (Ireland) for Google Play. Apple and Google process your payment data under their own responsibility. I do not receive any payment data (for example no credit card details) and usually not your name or your Apple ID or Google account either.

RevenueCat: to verify purchases, assign them to your account and restore them via “Restore purchases”, I use the service RevenueCat (RevenueCat, Inc., USA) as a processor. Your user ID (Firebase UID) is used as the identifier. I do not send RevenueCat any further details such as your name or email address.

Which data: user ID, purchase data (product, store, transaction identifier, purchase time, price and currency, status such as refund or transfer), technical device and app information (for example operating system and app version) and, for technical reasons, the IP address when connecting. In my database I only store whether the Full version is unlocked, since when, where the unlock comes from and when it was last updated. RevenueCat automatically informs my server about purchases, refunds and transfers so that the purchase status stays up to date.

Purpose: unlocking the Full version, assigning the purchase to your account, restoring purchases, taking refunds into account. RevenueCat also shows me aggregated revenue figures in its dashboard (for example the number of purchases and refunds per period and store) and, for support requests, the purchase history of an account. I use this only for my accounting and for support; it is not an analysis of your behaviour in the app.

Legal basis: Art. 6(1)(b) GDPR. For the revenue overview, Art. 6(1)(f) GDPR; my legitimate interest is to keep track of my income and to resolve purchase problems. For the tax retention of my statements, Art. 6(1)(c) GDPR in conjunction with Section 147 of the German Fiscal Code (AO).

Retention period: the purchase status in my database and your customer record at RevenueCat remain stored until you delete your account; when you do, I also delete the customer record at RevenueCat. I keep the statements and payout reports from Apple and Google as accounting records for 8 years in accordance with Section 147(3) AO; they usually contain no information that identifies you. Apple and Google store your purchase history according to their own rules; I have no influence on this.

4.5 Server logs

When the app or a website accesses the servers, Google, as my processor, processes technically necessary connection data. My server functions also write logs, for example about errors or actions performed such as “account deleted”. They do not write names, email addresses, invitation codes or the contents of moves or notifications to the logs.

Which data: IP address, time, function or page called, technical information about the app, device or browser, error messages and – for actions in the app – your user ID and the identifier of the move concerned.

Purpose: secure and stable operation, detecting and fixing errors, defending against attacks and abuse.

Legal basis: Art. 6(1)(f) GDPR. My legitimate interest lies in the security and functionality of the app.

Retention period: the logs are deleted automatically after 30 days. Google stores logs of administrative operations in the Google Cloud project (audit logs, which usually concern my own administration steps) for 400 days.

Where: Google Cloud Logging. The logs are not restricted to a particular region; they may therefore also be stored outside the EU (safeguards see section 6).

4.6 Contact, support and notices

If you write to me – by email to easyumzug@ploeger.io or via the contact form at https://easyumzug.ploeger.io/en/contact – I process your email address, your name if provided, and the content of your message. My emails are handled by Spacemail by Spaceship, Inc., 4600 East Washington Street, Suite 300, Phoenix, AZ 85034, USA (processor, see section 5.1).

Contact form: the server stores your message (name, email address, text, time) in Cloud Firestore in Frankfurt am Main and forwards it as an email to my inbox; my reply goes to the email address you entered. The copy on the server and the related sending job are deleted automatically after 180 days (usually within 24 hours after that). To prevent mass abuse of the form, at most 5 messages per hour and internet connection are possible. For this the server does not store any IP address, but a check value that changes daily and is calculated from the IP address and the date (pseudonymisation). The counter is deleted after one hour; the check value remains stored with the message so that I can detect abuse, and is deleted together with it. Email address and message are mandatory in the form – without them I cannot reply to you.

Notices of illegal content: if you notify me of content you consider illegal (§ 6 of the terms of use), I process your details, the notice and the reported content in order to review it, inform you and, where applicable, the user concerned of my decision, and document it.

Purpose: answering your request, handling notices, proving that data protection requests have been fulfilled.

Legal basis: Art. 6(1)(b) GDPR if your request concerns the use of the app or your account, otherwise Art. 6(1)(f) GDPR (legitimate interest in answering requests). The abuse protection of the contact form is based on Art. 6(1)(f) GDPR (legitimate interest in a working contact channel that is not flooded with spam). I handle notices under the Digital Services Act on the basis of Art. 6(1)(c) GDPR in conjunction with Articles 16 and 17 of Regulation (EU) 2022/2065. I document requests concerning your data protection rights under Art. 6(1)(c) GDPR in conjunction with Art. 5(2) and Art. 12 GDPR.

Retention period: I delete messages in my inbox as soon as your request has been dealt with and no further questions or claims are to be expected, at the latest after 3 years (end of the standard limitation period under Section 195 of the German Civil Code, BGB). The copy of a contact form message on the server is deleted after 180 days (see above).

4.7 Push notifications

The app can notify you when someone assigns a task to you, at 8 a.m. (local time of your device) about tasks due today, seven days and one day before moving day, when someone joins your move or – if you switch this on – when someone adds costs. You only receive notifications if you activate them in the app and allow them in your device's system settings. In the app you can switch each type on and off individually under Settings → Notifications and switch notifications off for a single device (“On this phone”).

Which data: a push token (an address through which your device can receive notifications), the operating system (iOS or Android), a randomly generated identifier of the app installation (not a hardware identifier), creation and modification time and your notification settings. So that notifications arrive in your language and the daily reminder arrives at 8 a.m. your local time, the app stores the app language and the time zone of the device you used last (for example “Europe/Dublin”) in your profile. If no time zone is stored, German time applies. Depending on its type, a notification contains the title of a task, the title of the move, the display name of a member or the title and amount of a cost entry. To monitor delivery, I store the dispatch identifiers from Expo, your user ID and an irreversible checksum (hash) of the push token for notifications sent. So that the same notification is not sent more than once, I briefly keep a checksum of recipient and occasion.

Service providers: notifications are delivered via the Expo push service (650 Industries, Inc., USA) and then via Apple's push service (Apple Push Notification service) or Google's (Firebase Cloud Messaging) to your device.

Purpose: delivering the notifications you requested, removing invalid push tokens, avoiding duplicate notifications.

Legal basis: Art. 6(1)(b) GDPR. Storing and reading the push token and the installation identifier on your device is permitted without consent under Section 25(2) no. 2 of the German Telecommunications Digital Services Data Protection Act (TDDDG) because it is strictly necessary to provide the notifications you have expressly switched on.

Retention period: app language and time zone until your account is deleted. Push token and installation identifier until you sign out, switch notifications off on the device, delete your account or the token becomes invalid (for example because you uninstall the app); invalid tokens are deleted automatically. Dispatch identifiers and token checksums are deleted after one day, the checksums against duplicate sending after ten minutes, for the daily reminders after two days (technical deletion usually takes place within 24 hours after that in each case).

4.8 Storage on your device (Section 25 TDDDG)

The app stores some information on your device or reads it from there:

This storage is permitted without consent under Section 25(2) no. 2 TDDDG because it is strictly necessary to provide the app that you have expressly requested. Further processing is based on Art. 6(1)(b) GDPR. The app does not use cookies, an advertising ID or identifiers for recognition across apps.

The sign-in session and the app settings are deleted when you sign out or delete your account; the cache of move data is then cleared the next time the app starts. All other data is deleted at the latest when you uninstall the app. Note: on iPhones, a keychain entry can survive uninstallation; the app signs out such an old session on the first start after a reinstallation.

4.9 Protecting the servers against abuse (Firebase App Check)

To protect the servers against access by manipulated apps or automated scripts, the app uses Firebase App Check to verify that a request comes from a genuine installation of the app. For this, the app uses the operating system's verification services (Apple App Attest or DeviceCheck, Google Play Integrity); your device communicates with Apple or Google for this. A short-lived verification token is created, sent to Google (Firebase) and attached to the app's requests.

Legal basis: Art. 6(1)(f) GDPR (legitimate interest in the security of the servers and of all users' data); access to your device's verification services is strictly necessary under Section 25(2) no. 2 TDDDG to provide the app securely.

Retention period: the verification token is only valid for a short time; I do not store it.

4.10 Visiting the websites

When you open a page at https://easyumzug.ploeger.io (for example this privacy policy, the help page, the contact form or an invitation page), Google delivers the page via Firebase Hosting. For technical reasons your IP address, date and time, the address requested and browser and device information (user agent) are processed. The websites do not set cookies, do not use analytics or tracking services and do not load content from third parties (including fonts). Links to the app stores only open Apple's or Google's pages when you tap them.

On the home page, your browser remembers the language (German or English) if you choose it explicitly via the language link. For this, an entry is stored in your browser's local storage; it remains until you delete it in your browser. This is permitted under Section 25(2) no. 2 TDDDG because you expressly request this function.

Purpose: delivering the websites, security and stability.

Legal basis: Art. 6(1)(f) GDPR (legitimate interest in providing the websites and the legal texts).

Retention period: where server logs are created, section 4.5 applies (30 days).

5. Recipients and service providers

I do not sell any data and do not pass it on for advertising purposes. The only recipients of your data are:

5.1 Processors

These service providers process data exclusively on my behalf and according to my instructions (Art. 28 GDPR). They may not use the data for their own purposes.

Service provider Purpose Location
Google (Firebase / Google Cloud): contracting party is Google Ireland Limited or Google Cloud EMEA Limited, both Dublin, Ireland; sub-processors include Google LLC, USA Firebase Authentication (sign-in), Cloud Firestore (database), Cloud Functions and Cloud Scheduler (server functions, daily reminders, contact form including email forwarding), Firebase Hosting (websites), Cloud Logging (logs), App Check (abuse protection), Firebase Cloud Messaging (delivering push notifications to Android devices) Firestore and Functions: Frankfurt am Main (europe-west3); Authentication: USA; Hosting: worldwide content delivery network (CDN); Logging: see 4.5
RevenueCat, Inc., USA Verifying and managing the in-app purchase USA
650 Industries, Inc. (Expo), USA Delivering push notifications USA
Spaceship, Inc. (Spacemail), Phoenix, USA Email inbox for support requests and messages from the contact form (domain ploeger.io) USA

5.2 App stores and sign-in services as independent controllers

The following companies process data under their own responsibility in accordance with their own privacy notices:

5.3 Other recipients

6. Transfers to countries outside the EU

Some service providers process data in the USA. There is no general adequacy decision for the USA; the transfer is, however, protected by the following safeguards:

You can request a copy of the agreed standard contractual clauses from me at datenschutz@ploeger.io. You can check whether a US company is certified at https://www.dataprivacyframework.gov/list.

7. No tracking, no advertising, no automated decisions

8. Deleting your account and what happens to your data

You can delete your account at any time in the app under Settings → Delete account. Without the app, you can request deletion by email; the instructions are at https://easyumzug.ploeger.io/en/delete-account.

When you delete your account, the following happens:

Server logs are deleted after 30 days at the latest (4.5), delivery records of push notifications after two days at the latest (4.7). Messages you have sent me are not linked to your account; the periods in 4.6 apply to them. I do not create backup copies of the database. According to its contractual terms (Cloud Data Processing Addendum and Firebase Data Processing and Security Terms), Google permanently removes deleted data from its systems as soon as possible, at the latest after 180 days. Data I have to keep for legal reasons (for example statements, 4.4) remains stored for the statutory period.

9. Children and young people

The app is not aimed at children. It is intended for people aged 16 and over; minors need the consent of their parents or legal guardians. If I learn that an account was created by a person under 16, I will delete it.

10. Data security

All connections between the app, the websites and the servers are encrypted (HTTPS/TLS). Access rules on the server ensure that only members of a move can read and change its contents and that nobody can read other users' profiles. Your sign-in session is stored securely on the device (4.8).

11. Your rights

You have the following rights against me regarding your personal data:

Right to object (Art. 21 GDPR)

Where I process data on the basis of legitimate interests (Art. 6(1)(f) GDPR), you have the right to object to this processing at any time on grounds relating to your particular situation. I will then no longer process the data unless I can demonstrate compelling legitimate grounds for the processing which override your interests, rights and freedoms, or the processing serves the establishment, exercise or defence of legal claims. You can send your objection informally to datenschutz@ploeger.io.

How to exercise your rights

To exercise your rights, write to me at datenschutz@ploeger.io or use the contact form. So that I do not disclose data to unauthorised persons, I may ask you to send the request from the email address of your account or to confirm in another way that the account belongs to you. I will reply within one month. Only if a request is particularly complex can this period be extended by up to two further months under Art. 12(3) GDPR; in that case I will inform you within the first month. Exercising your rights is free of charge.

12. Right to lodge a complaint with a supervisory authority

You can lodge a complaint with a data protection supervisory authority (Art. 77 GDPR), in particular in the EU member state in which you live or work or in which the alleged infringement took place – in Austria, for example, with the Datenschutzbehörde, in Ireland with the Data Protection Commission. The authority responsible for me is:

Die Landesbeauftragte für den Datenschutz und für das Recht auf Akteneinsicht Brandenburg (Brandenburg Commissioner for Data Protection and Access to Information)
Stahnsdorfer Damm 77, 14532 Kleinmachnow, Germany
https://www.lda.brandenburg.de

However, I would be glad if you contacted me first – a problem can often be resolved quickly.

12a. Information for users in Switzerland

If you live in Switzerland, the processing of your data is additionally governed by the Swiss Federal Act on Data Protection (FADP). This privacy policy also fulfils the information obligations under Art. 19 FADP; the rights described in section 11 (in particular access, rectification, erasure and receiving your data) are also available to you under the FADP.

Your data is processed in Germany, Ireland and other EU member states as well as in the USA. Under Annex 1 of the Swiss Data Protection Ordinance (DPO), the EU member states provide adequate data protection. For the USA, the Swiss Federal Council has recognised adequate data protection for companies certified under the Swiss-US Data Privacy Framework (Google LLC, Expo); for RevenueCat and Spaceship (email), the transfer is based on the EU standard contractual clauses recognised by the Federal Data Protection and Information Commissioner (FDPIC), with the adjustments for Swiss law.

You can report a matter to the FDPIC: Eidgenössischer Datenschutz- und Öffentlichkeitsbeauftragter, Feldeggweg 1, 3003 Bern, Switzerland, https://www.edoeb.admin.ch

13. Retention periods at a glance

Data Retention period
Account and profile (including app language, time zone and notification settings) until the account is deleted
Contents of a move as long as the move exists (deletion by the owner or when the last member deletes their account)
Invitations until expiry (7 days by default, at most 30 days), then automatic deletion, usually within 24 hours
Failed-attempt counter for invitation codes 1 hour, then automatic deletion, usually within 24 hours
Purchase status and RevenueCat customer record until the account is deleted
Statements and payout reports from Apple and Google 8 years (Section 147(3) AO)
Server logs 30 days
Audit logs of project administration 400 days
Support requests and notices in the email inbox until dealt with, at most 3 years
Copy of a contact form message including sending job and check value on the server 180 days
Counter against abuse of the contact form 1 hour
Push tokens and installation identifier until sign-out, switching off on the device, account deletion or until the token becomes invalid
Delivery records of push notifications (checksums only) 1 day
Checksums against duplicate sending 10 minutes, for daily reminders 2 days
Marker of an account deletion 2 hours
Language choice on the home page (in your browser) until you delete it in your browser

14. Changes to this privacy policy

If the app or the legal situation changes, I will update this privacy policy. You can always find the current version in the app under Settings → Privacy Policy and at https://easyumzug.ploeger.io/en/privacy (German version: https://easyumzug.ploeger.io/datenschutz). I will inform you in advance about material changes in the app or by email.