Summary of changes in version 2.0
Compared with the previous version:
- Project sharing — we describe what data invited people see, how permissions work and how sharing ends (sections 4.2 and 7.3).
- Files in iCloud — expense attachments, covers, backgrounds and album photos now go to iCloud as well (sections 4.1 and 7.2).
- Demo mode — the sample Project's data is stored on the device; the App does not send it to iCloud or to any server (sections 4.7 and 7.1).
- Two separate consent categories — "Analytics and diagnostics" (Firebase Analytics and Crashlytics) and "Marketing" (Meta), with a description of the identifiers involved, including the IDFA (section 9).
- Account — signing in with "Sign in with Apple" is required to create your own Projects and to synchronise (section 8).
- Notifications — we describe the registration of the device on our backend, which takes place when the App is launched, also without an Account (sections 4.5 and 7.4).
- Account deletion — we describe what the "Delete account" feature deletes, what it does not delete and how to complete the deletion (section 8).
- Document layout — we added "what data / why / legal basis / recipient / how long" tables and a clear split between the device, iCloud, our backend and third parties (sections 3 and 4).
- Legal bases and retention periods — registering the device and sending notifications from our backend now rely on legitimate interest, and service messages on the contract (previously: system permission for notifications, and the contract); crash reports rely on consent only (previously: consent and legitimate interest); content and the referral programme rely on the contract (previously: the contract and legitimate interest). The device record and referral programme data are kept with no automatic time limit, until deleted at your request (sections 4.5, 4.8, 6, 12 and 17).
01Data controller
The controller of personal data within the meaning of Regulation (EU) 2016/679 of the European Parliament and of the Council of 27 April 2016 (the "GDPR") is:
Controller
AppSoft Studio Jakub Matwiejczyk
- Address
- ul. Aroniowa 19, 05-555 Kotorydz, Poland
- Tax ID (NIP)
- 7133074219
- homdu.app@gmail.com
(the "Controller", "we").
The Controller has not appointed a data protection officer. For matters concerning personal data and the exercise of rights under the GDPR, please use the email address above.
The Controller is responsible for data that reaches it or the processors acting on its behalf (sections 7.4 and 10). For events passed to Meta after the "Marketing" consent, the roles of the Controller and Meta are described in section 9.6. Content that the User keeps on their own device and in iCloud is not accessible to the Controller (sections 7.1–7.3).
02Definitions
- App – the homdu app for iPhone and iPad, made available on the App Store.
- User ("you") – a natural person using the App.
- Account – the User's account in the App, created by signing in with "Sign in with Apple".
- Personal data – information about an identified or identifiable natural person.
- Project – a building or renovation project run in the App, together with the content assigned to it.
- Project Owner – the User who created a Project and may share it with other people.
- Collaborator – a person who has accepted an invitation to a Shared Project (a share participant).
- Shared Project – a Project shared with Collaborators through Apple's CloudKit service.
- Demo mode – using the sample Project generated in the App; it is available without an Account, and a signed-in User can switch the sample Project on in the App's Settings.
- iCloud / CloudKit – Apple services for storing and synchronising data in the User's Apple account.
- Backend – the Controller's
homdu-apiservice: code running with the hosting provider Vercel and a Google Cloud Firestore database. - Device – the device on which the App is installed.
- IDFA – the advertising identifier of an Apple device.
- IDFV – the identifier for vendor: an identifier assigned to the Device for the apps of a single publisher.
- ATT – the iOS system prompt asking for permission to track (App Tracking Transparency).
- Processor – an entity processing data on behalf of and on the instructions of the Controller.
- EEA – the European Economic Area.
03General principles and the four areas where data is stored
3.1. We process data in accordance with the GDPR, the Polish Act of 10 May 2018 on the protection of personal data and other applicable laws.
3.2. We apply data minimisation: we process only the data needed for specified purposes.
3.3. Data related to the App is located in four areas. This split is used throughout the document.
| Area | What it holds | Who has access |
|---|---|---|
| A. Your Device | Project content, document files, Demo mode data, finance form data, App settings and saved consents, the keychain | You (for device backups, see section 7.1) |
| B. iCloud (Apple) | synchronised content and files of your Projects; Shared Project data — in the iCloud of its Project Owner (yours, if you are the one sharing) | You and the Collaborators invited by the Project Owner; Apple as the service provider. The Controller has no access to this data. |
| C. Our Backend | the Device record for notifications, referral programme data, technical request data | The Controller and its processors (Vercel, Google). In the referral programme, the referrer's identifier also reaches, in the Backend's response, the Device of the person who used the referrer's code (section 4.8). The notification token is also processed by Google (Firebase Cloud Messaging) and Apple (APNs) to deliver notifications — this does not depend on the consents described in section 9. |
| D. Third parties for analytics and marketing — after consent is given | analytics events and crash reports (Google), conversion events (Meta) | Google, Meta |
The following fall outside these areas: email correspondence with the Controller (section 4.8), fetching images from Sanity's servers (section 10.5) and the configuration connection of the Meta SDK (section 9.3).
3.4. Collection of analytics events, crash reports and marketing events is switched on only after a consent is saved (including a consent saved in version 1.x — section 9.1); consent can be withdrawn at any time (section 9).
04What data we process — tables by category
4.1. iCloud synchronisation (area B)
Applies to signed-in Users with iCloud enabled.
| What data | Why | Legal basis | Recipient / where it goes | How long |
|---|---|---|---|---|
| Project content: Project details (name, address, plot and property details entered in the App, budget), journal entries, stages, tasks, expenses, budgets, contacts (including ratings and notes about contractors), descriptions of stage files (name and type), links, albums, events | synchronisation between your devices | Art. 6(1)(b) GDPR (performance of the agreement for the use of the App) | the User's private iCloud database, operated by Apple. The Controller has no access. | until you delete the content or the Project, subject to the caveat described in section 7.2; Account deletion — see section 8 |
| Files: expense attachments (including receipt photos); Project and stage covers; stage backgrounds; stage album photos. Text recognised from receipts on the Device (OCR) may be saved together with the attachment. | as above | as above | as above | as above |
The App does not send files from the "Documents" tab or journal entry photos to iCloud — they are stored on the Device (for device backups, see section 7.1). The App sends album photos to iCloud only on specific events — in particular at the first sign-in and when sharing of a Project is created or ended; photos added to an album later may remain on the Device only. If you used version 1.x, document descriptions saved by that version may remain in your iCloud.
4.2. Project sharing (area B)
| What data | Why | Legal basis | Recipient / where it goes | How long |
|---|---|---|---|---|
| Content of the Shared Project: Project details (name, address, plot and property details entered in the App), journal entries, stages, tasks, expenses, budgets (including the Project budget), contacts (including ratings and notes about contractors), descriptions of stage files (name and type), links, albums, events | running the Project jointly with the people chosen by the Project Owner | Art. 6(1)(b) GDPR | Collaborators invited by the Project Owner; Apple (iCloud). The data stays in the Project Owner's private iCloud database. The Controller has no access. | in the Project Owner's iCloud — until the Project Owner deletes the content or the Project, subject to the caveats described in sections 7.2 and 7.3; ending the share does not by itself delete this data; local copies — see section 7.3 |
| Files of the Shared Project: expense attachments, covers and backgrounds, album photos — some of them are saved as originals, together with photo metadata | as above | as above | as above | as above |
The App does not record who added an expense or an entry. The list of share participants is kept and displayed by Apple in the system share sheet (section 7.3).
4.3. Analytics and diagnostics — after the "Analytics" consent (area D)
| What data | Why | Legal basis | Recipient / where it goes | How long |
|---|---|---|---|---|
| App usage events (e.g. opening a screen, adding an expense) with categories and value ranges; App installation identifier; identifier for vendor (IDFV); Device and system data (e.g. model, system version, App version, language); technical connection data, including the IP address processed by the provider. The IDFA advertising identifier — only if you allowed tracking in the ATT prompt. | measuring use of the App and improving it | Art. 6(1)(a) GDPR (consent) | Google Ireland Limited / Google LLC — the Firebase Analytics service | 2 months; aggregated statistical reports may be kept longer |
| Crash and error reports (including synchronisation errors): stack trace and App state, technical details of the error, installation identifier, Device and system data | detecting and fixing errors | Art. 6(1)(a) GDPR (consent) | Google Ireland Limited / Google LLC — the Firebase Crashlytics service | 90 days |
Analytics events do not contain Project names, the content of notes, contact data or exact amounts. Individual events may contain a simplified form of the name of a stage you created (lower case, without Polish diacritics) or a technical description of an error. Events about financial suggestions contain the title of the suggestion displayed or opened (section 13.2).
4.4. Marketing — after the "Marketing" consent (area D)
| What data | Why | Legal basis | Recipient / where it goes | How long |
|---|---|---|---|---|
| Conversion events: installation and launch of the App and selected events — signing in, completing onboarding, adding an event (with its kind), completing a stage, opening a guide (with its content type) or bookmarking it, searching guides (number of results), rating a contractor (the rating value), responding positively to the prompt to rate the App, marking a contractor as hired, saving the finance form (type of enquiry and amount range), opening partner content; an installation identifier assigned by the Meta SDK (random, stored on the Device; it allows the same installation of the App to be recognised across events); data about the Device and the App (e.g. model, system and App version, language, time zone, carrier, screen size); tracking permission status | measuring the effectiveness of the App's advertising in Meta's services; on Meta's side also the purposes set out in section 9.6 | Art. 6(1)(a) GDPR (consent) | Meta Platforms Ireland Limited | according to Meta's retention rules |
| The IDFA advertising identifier — only when both the "Marketing" consent and the consent in the ATT prompt have been given | attributing installations and events to advertising | Art. 6(1)(a) GDPR (consent) | Meta Platforms Ireland Limited | as above |
4.5. Notifications (area C)
The App registers the Device for notifications at every launch — also without an Account and regardless of the consents described in section 9 and of whether you allowed notifications to be displayed.
| What data | Why | Legal basis | Recipient / where it goes | How long |
|---|---|---|---|---|
| Device record: notification token (Firebase Cloud Messaging / Apple Push Notification service — APNs); Apple user identifier — if you are signed in; App and system version; App language; time zone; notification category settings; registration status and dates | enabling notifications to be sent from the Backend: messages encouraging you to return to the App, and service messages | Art. 6(1)(f) GDPR — the Controller's legitimate interest in keeping in touch with Users of the App; for service messages — Art. 6(1)(b) GDPR | our Backend: a Google Cloud Firestore database (located in Europe), code hosted on Vercel; Google (Firebase Cloud Messaging) — which receives the token and the Firebase installation identifier directly from the App — and Apple (APNs) as delivery providers | on the Backend — no automatic time limit, until deleted at your request (section 8.6); signing out and "Delete account" mark the record as inactive but do not delete it; at Google — under Firebase's rules: until the installation identifier is deleted, and then up to 180 days |
Task deadline reminders, budget alerts and inactivity reminders are created on the Device and do not pass through the Backend. Apple delivers information about changes in synchronised data to the App as silent iCloud notifications.
Displaying a notification requires your permission in iOS. You can switch off the categories of notifications sent from the Backend in the App: Settings → "Notifications" → "Notification settings". The switches are shown only if you have allowed notifications in iOS. The "System notifications" category (service messages) cannot be switched off. Switching a category off does not delete the Device record from the Backend.
4.6. Account — "Sign in with Apple" (areas A and C)
| What data | Why | Legal basis | Recipient / where it goes | How long |
|---|---|---|---|---|
| User identifier assigned by Apple | signing in; creating your own Projects and synchronising them | Art. 6(1)(b) GDPR; for storage in the Device record and in the referral programme — the purposes and legal bases given in sections 4.5 and 4.8 | the keychain and App settings on the Device; Apple as the sign-in provider; our Backend — in the Device record (section 4.5) and in the referral programme (section 4.8) | on the Device — until you sign out or the Account is deleted, with the exception described in section 8.5; on the Backend — as in sections 4.5 and 4.8 |
| Name and email address — only if Apple passes them at the first sign-in (the address may be a relay address of the "Hide My Email" feature) | display in the App's Settings | Art. 6(1)(b) GDPR | the Device keychain; this data is not sent off the Device | until you sign out or the Account is deleted |
4.7. Demo mode (area A)
| What data | Why | Legal basis | Recipient / where it goes | How long |
|---|---|---|---|---|
| The sample Project generated in the App and the changes you make to it | getting to know the App without an Account | not applicable — the App stores this data on the Device and it does not reach the Controller | no recipients. The App does not send this data to iCloud or to any server (for device backups, see section 7.1). | until the sample Project is deleted (manually or when you create your own Project), the Account is deleted or the App is removed from the Device |
Using the App without an Account does not require you to provide personal data. Even without an Account, however, the App makes the connections described in sections 4.5 (registering the Device for notifications), 4.8 (content, referral programme), 9.3 (the configuration connection of the Meta SDK) and 10.5 (images from Sanity's servers) and — after consents are saved — in sections 4.3 and 4.4.
4.8. Content, search and referral programme (area C), and contact with the Controller
Content from the Backend and the referral programme work only when the App language is Polish.
| What data | Why | Legal basis | Recipient / where it goes | How long |
|---|---|---|---|---|
| Technical data of requests sent to the Backend when content is fetched (e.g. IP address, date and time, App version and language, the key of the stage the content is fetched for — for a stage outside the App's template, in particular one you created, this is the stage's name in simplified form) | delivering the content; security and diagnostics of the service | Art. 6(1)(b) GDPR; for logs — Art. 6(1)(f) GDPR (the Controller's legitimate interest in protecting the service and its Users) | our Backend (Vercel) | runtime logs at the hosting provider — currently up to 1 hour; we do not keep our own log archive |
| The phrase typed into the guide search — without a user identifier | finding content | Art. 6(1)(b) GDPR | our Backend (Vercel), which passes the phrase to the Sanity content system | the Backend does not store the phrase in its database; the phrase is part of the request address, so it may appear in the hosting provider's logs (currently up to 1 hour) and in the short-lived response cache |
| Referral programme: an identifier — the Apple user identifier or, for a person without an Account, the identifier for vendor (IDFV); referral code; information about who referred whom and when; counters, level and badges. A profile is created automatically: for a signed-in person — after signing in and when the App is launched; for a person without an Account — when the App displays the programme card in the Journal or the sheet for entering a referral code. | operating the referral programme | Art. 6(1)(b) GDPR (participation in the programme) | our Backend: a Google Cloud Firestore database (located in Europe); identifiers and codes are also written to runtime logs; the Backend's response to code activation contains the referrer's identifier and reaches the Device of the person who used that code — the App does not read or display it | no automatic time limit, until deleted at your request (section 8.6) |
| Contact with the Controller: email address and message content | replying; handling requests | Art. 6(1)(f) GDPR (the Controller's legitimate interest in replying to a person who has contacted it); for GDPR requests — Art. 6(1)(c) GDPR | the Controller; the email provider | for as long as the matter is handled, and then for the limitation period of any claims |
4.9. Financial data and the adviser contact form (area A)
Available only when the App language is Polish.
| What data | Why | Legal basis | Recipient / where it goes | How long |
|---|---|---|---|---|
| Form: first name, last name, phone, email address, project type, financing amount, type of enquiry, ticked consents. Financial profile: own contribution, financing needed, preferences, notes. | saving your financial needs in the App | not applicable — the App stores this data on the Device and it does not reach the Controller | no recipients. In version 2.0 the App does not send this data to us, to partners or to iCloud (for device backups, see section 7.1). After consents are saved, only the information that the form was saved reaches Google and Meta: the type of enquiry and the amount range (sections 4.3 and 4.4). | until the Project it relates to is deleted, the Account is deleted or the App is removed from the Device; a saved form cannot be separately viewed or deleted in the App |
05Sources of data
5.1. From you — when you create Projects, add content and files, sign in or write to us.
5.2. From your Device and system — technical data, Device identifiers and data available after you grant system permissions (section 15).
5.3. From Apple — the user identifier and, if Apple passes them, the name and email address at sign-in.
5.4. From other Users — if a Project Owner invites you to a share, or someone saves your contact details in their Project (e.g. as a contractor). Such data is located on that person's Device and in their iCloud and, once the Project is shared, is also visible to its Collaborators; the Controller has no access to it.
5.5. From the referral programme — when another person uses your referral code, we record that referral on the Backend, linked to your profile, and update your counters (section 4.8).
06Purposes and legal bases of processing
| No. | Purpose | Legal basis (GDPR) |
|---|---|---|
| 1 | Providing the App and its features | Art. 6(1)(b) |
| 2 | Signing in and maintaining the Account | Art. 6(1)(b) |
| 3 | Synchronising content and files in iCloud | Art. 6(1)(b) |
| 4 | Project sharing | Art. 6(1)(b) |
| 5 | Registering the Device and sending notifications from the Backend | Art. 6(1)(f) — the Controller's legitimate interest in keeping in touch with Users of the App; for service messages — Art. 6(1)(b) |
| 6 | Analytics of App usage (Firebase Analytics) | Art. 6(1)(a) |
| 7 | Crash and error reports (Firebase Crashlytics) | Art. 6(1)(a) |
| 8 | Measuring advertising effectiveness (Meta) | Art. 6(1)(a) |
| 9 | Delivering content and search | Art. 6(1)(b) |
| 10 | Referral programme | Art. 6(1)(b) |
| 11 | Contact and replying to enquiries | Art. 6(1)(f) — the Controller's legitimate interest in replying to a person who has contacted it |
| 12 | Service security and technical logs | Art. 6(1)(f) — the Controller's legitimate interest in protecting the service and its Users (security, preventing abuse) |
| 13 | Legal obligations, including handling GDPR requests | Art. 6(1)(c) |
| 14 | Establishing, exercising or defending claims | Art. 6(1)(f) — the Controller's legitimate interest in establishing, exercising or defending claims |
| 15 | The Meta SDK fetching its configuration when the App is launched (section 9.3) | Art. 6(1)(f) — the Controller's legitimate interest in the correct operation of an SDK integrated with the App |
Consent can be withdrawn at any time; this does not affect the lawfulness of processing carried out before the withdrawal. You have the right to object to processing based on legitimate interest (section 17).
Providing the data you enter in the App or pass on when signing in is voluntary. Signing in is a condition for creating your own Projects and for synchronisation. The data described in sections 4.5 and 4.8 (the Device record, technical request data, the referral programme profile) and the connections described in sections 9.3 and 10.5 do not depend on you providing any data — the App processes them automatically while it is in use, to the extent described in those sections. Switching on the "Analytics" and "Marketing" categories is not a condition for using the App; the App only requires you to save a choice on the consent screen.
07Where the data is located
7.1. On your Device (area A)
Project content, document files, journal entry photos and the data from section 4.9 are saved in the App's storage on the Device. App settings and the saved consent choice are saved in the standard system mechanisms. The Apple user identifier and — if Apple passed them — the name and email address are saved in the Device keychain; this entry is not carried over to other devices.
Demo mode. The sample Project is generated in the App and stored locally. The App does not send its data to iCloud or to any server.
Data stored only on the Device does not reach the Controller.
Device backup. App data saved on the Device may be included in the Device backup made by iOS (in iCloud or on a computer), if you use one — the App does not exclude it from that backup. This also applies to data described in this Policy as stored on the Device (Demo mode, files from the "Documents" tab, journal entry photos, the data from section 4.9). You manage the backup in iOS settings; a backup made earlier may contain this data even after you use "Delete account" or remove the App. The Controller has no access to backups.
7.2. In your iCloud — synchronisation (area B)
After you sign in, the App saves the data listed in section 4.1 in the private iCloud database in your Apple account. If you had your own Projects on the Device before signing in, they are sent to that database at the first sign-in.
Text from receipt photos is recognised on the Device (OCR).
Deleting content. Deleting a Project, a stage or an expense in the App does not always delete all related data and files from iCloud — for example, the tasks, expenses and contacts of a deleted stage, or the attachment file of a deleted expense, may remain in iCloud. How to delete the remaining App data from iCloud is described in section 8.6.
This data is stored and processed by Apple under the terms of the iCloud service. The Controller as a company has no access to it and cannot read, change or delete it at your request — you manage it in the App and in your Apple account settings.
7.3. Project sharing (area B)
Invitation. The Project Owner invites other people in Apple's system share sheet — with a link, through the Messages app or by another route chosen there. The recipient is selected in Apple's interface; the App does not process the invited person's data and the Controller does not receive it. The invitation contains the Project name. Only invited people have access.
Accepting an invitation. Accepting an invitation requires an iCloud account on the device. Ongoing synchronisation of changes requires signing in to the App.
What invited people see. Collaborators receive the Shared Project data listed in section 4.2. This includes third-party data that the Project Owner entered in the Project — in particular contractors' contacts with phone numbers, email addresses, ratings and notes.
Participants. The list of participants is kept and displayed by Apple in the system share sheet. Apple may record with data in iCloud a technical identifier of the account of the person who created or changed it; the App does not read it and does not show who added an expense or an entry.
Permissions. The Collaborator's permission level (view or edit) is set by the Project Owner in Apple's system sheet. The App applies these settings.
Ending. A Collaborator can leave the share. The Project Owner can end it. The Shared Project's data stays in the Project Owner's private iCloud database. Deleting a Shared Project by the Project Owner does not end the share and does not delete all of its data from the Project Owner's iCloud — the remaining data may still be accessible to Collaborators; the Project Owner should end the share before deleting a Shared Project.
Local copies. After a share is left or ended, a copy of the data may remain on the Collaborator's Device until it is removed by the App or by the Collaborator. The Controller cannot remove such copies remotely.
A Collaborator's entries. Expenses, entries and files added by a Collaborator become part of the Project Owner's Project and stay in the Owner's iCloud — also after the Collaborator leaves the share.
The roles of Apple and the Controller. Shared data is stored and processed by Apple within iCloud and is visible to the people chosen by the Project Owner. The Controller has no access to it. The events described in sections 4.3 and 4.4 (e.g. rating a contractor, with the rating value) are generated on your Device also when you work in a Shared Project and, after consents are saved, go to Google and Meta for the purposes described in those sections. Apart from these events, the Controller does not use shared data for advertising or profiling.
The Project Owner's responsibility. The Project Owner decides who the Project is shared with and is responsible for that choice. The Owner should share it only with people to whom they are allowed to disclose the information it contains — in particular contractors' contact details and ratings, photos of people, and receipts and other expense attachments containing personal data.
7.4. On our Backend (area C)
The following reaches the Backend:
- the Device record for notifications — when the App is launched, also without an Account (section 4.5);
- referral programme data — when the App language is Polish (section 4.8);
- technical request data and guide search phrases (section 4.8).
Files, data from the finance form, and the name and email address from Apple sign-in are not sent to the Backend. From Project content, only the key of the stage for which the App fetches guides and partner content reaches the Backend (section 4.8): for stages from the App's template this is a fixed template key, and for other stages — in particular those you created yourself — the stage's name in simplified form (lower case, without Polish diacritics, underscores instead of spaces).
The Backend code runs with the hosting provider Vercel. Device records and referral programme data are saved in a Google Cloud Firestore database located in Europe. The notification token is also processed by Google (Firebase Cloud Messaging) and Apple (APNs) to the extent needed to deliver a notification; this does not depend on the consents described in section 9.
Guide content and partner content come from the Sanity content management system. The App fetches text through the Backend; images (banners, partner logos, covers) — directly from Sanity's servers (section 10.5).
7.5. With third parties for analytics and marketing — after consent is given (area D)
After the "Analytics" consent is saved, the data described in section 4.3 goes to Google. After the "Marketing" consent is saved, the data described in section 4.4 goes to Meta. Section 9 contains the details. This does not apply to notification delivery (section 4.5) or to the configuration connection of the Meta SDK (section 9.3).
08Account and Account deletion
8.1. Signing in takes place through "Sign in with Apple". It is required to create your own Projects and to synchronise. Without an Account you can use Demo mode.
8.2. In the Device keychain we store the Apple user identifier and — if Apple passes them at the first sign-in — the name and email address. You can use Apple's "Hide My Email" feature; the App then receives a relay address from Apple.
8.3. For the sign-in service, Apple acts as a separate data controller. The processing rules are set out in Apple's privacy policy.
8.4. What the "Delete account" feature does. The feature is available in the App's Settings under the name "Delete account and all data". Using it:
- marks the Device record on the Backend as inactive;
- deletes from your private iCloud database the Project content saved by the App: Projects, journal entries, stages, tasks, expenses, stage budgets, contacts, file descriptions, links, albums, events, the document descriptions saved by earlier versions, and expense attachments saved in the older format (by earlier versions or at the first sign-in) together with the text recognised from them (OCR);
- deletes App data saved on the Device, including Demo mode data and the data from section 4.9;
- deletes the keychain entries, signs you out and deletes the saved consent choice.
8.5. What the "Delete account" feature does not delete.
- In iCloud: files sent by the App in the current format (expense attachments, covers, backgrounds, album photos) and the Project budget; Shared Project data — the feature does not end shares you own or leave shares in which you are a Collaborator.
- On the Device: files from the "Documents" tab, journal entry photos and some technical settings, including the saved referral programme profile with its identifier. This data disappears when the App is removed from the Device.
- On the Backend: the Device record (it remains as inactive, with the token and identifier) and referral programme data. At the next launch of the App the Device may be registered again, without a user identifier.
- At Apple: the link between the App and your Apple account in "Sign in with Apple".
- At Google and Meta: data passed earlier on the basis of consents; the feature switches off further collection but does not change the identifiers assigned by the SDKs.
If deletion is interrupted (e.g. no connection or iCloud unavailable), some data in iCloud may already be deleted while the data on the Device and the Account remain; the feature then has to be run again.
8.6. How to complete the deletion.
- Data in iCloud: before deleting the Account, end the shares you own and leave those in which you are a Collaborator. You can delete the remaining App data in the iCloud settings on the device (manage account storage → homdu → delete data).
- Data on the Device: remove the App from the Device.
- Data on the Backend: write to homdu.app@gmail.com. The Device record and referral programme data do not contain a name or email address, so to find them we need additional information (Art. 11 GDPR): the referral code shown on the referral programme screen (available when the App language is Polish) or the beginning of the Apple user identifier, if the App's Settings show it in the Account row. If you intend to remove the App, note this information down first. We will delete the data found on that basis without undue delay, and no later than 30 days after receiving the request, except for data we must keep under the law or to establish, exercise or defend claims. A Device record that is not linked to a user identifier (in particular when you use the App without an Account) cannot be attributed by us to a specific person — we will tell you so in our reply. As long as the App remains installed, it may register the Device again and recreate the referral programme profile.
- Apple sign-in: you can remove the link between the App and your Apple account in your Apple account settings, in the part relating to "Sign in with Apple".
- Data at Google and Meta: we do not attribute events to the Account and the App does not show the identifiers assigned by the SDKs, so without additional information we cannot single out a specific person's data at Google or Meta (Art. 11 GDPR). We will carry out an erasure request (section 17.3) to the extent the information you provide allows that data to be found; otherwise we will tell you so in our reply. Analytics data and crash reports in Google's services expire within the periods given in section 12. Data passed to Meta is kept and deleted under Meta's rules; to the extent Meta acts as a separate controller, you can also send your request to Meta.
8.7. Shared data. Deleting the Account does not delete copies of Shared Project data:
- if you are the Project Owner — copies of the data may remain on Collaborators' Devices until they are removed;
- if you are a Collaborator — entries and files added to someone else's Project stay in that Project Owner's iCloud; to remove them, delete them before leaving the share or contact the Project Owner.
8.8. Signing out ends synchronisation, deletes the keychain entries and marks the Device record on the Backend as inactive. Data on the Device and in iCloud remains.
8.9. If you cannot use the feature in the App, write to homdu.app@gmail.com.
09Consents: analytics and marketing
9.1. Consent screen. At first launch — and once after updating from version 1.x — the App shows a screen with two categories: "Analytics and diagnostics" and "Marketing". You can switch each category on or off, and you confirm the choice with the "Save choice" button. Continuing to use the App requires saving a choice; you can also save the choice with both categories switched off. If you update the App from version 1.x, then until you save a new choice the App applies the consent settings saved in version 1.x: if an analytics consent was saved, collection of analytics events and crash reports works from the first launch of version 2.0, and if a marketing consent was saved — so does the passing of events to Meta (without the IDFA). You can change the choice at any time: Settings → "Consent & privacy" → "Cookie settings". The "Personalization" category shown there does not start any processing in version 2.0. The choice is saved on the Device and does not reach our Backend. Information that settings were saved in the "Cookie settings" sheet (the state of the switches) may be passed to Google as an analytics event under the "Analytics" category (section 4.3).
9.2. The "Analytics" consent. Once it is saved, the App switches on collection in Google services:
- Firebase Analytics — App usage events, installation identifier, identifier for vendor (IDFV), Device and system data; if you allowed tracking in the ATT prompt — also the IDFA;
- Firebase Crashlytics — crash and error reports.
We do not attribute events to your Account or user identifier. Google signals (linking data with Google accounts) is switched off.
9.3. The "Marketing" consent. Once it is saved, the App passes conversion events to Meta through the Meta SDK (Facebook SDK): installation and launch of the App, and selected product events. Our purpose is to measure the effectiveness of the App's advertising. Meta also uses these events for the purposes set out in section 9.6. Events reach Meta from the App only; our Backend does not pass data to Meta.
The IDFA is passed to Meta only when both of the following apply:
- you saved the "Marketing" consent in the App, and
- you allowed tracking in the iOS system prompt (ATT).
The ATT prompt appears only after a choice is saved with the "Marketing" category switched on. Withdrawing either of these consents stops the IDFA from being passed to Meta. Withdrawing the "Marketing" consent stops events from being passed to Meta.
Configuration connection. Regardless of consent, the Meta SDK fetches its configuration from Meta's servers when the App is launched. Meta then receives the Device's IP address, the App identifier, and the system and SDK version. We do not pass conversion events or the IDFA before a consent is saved.
9.4. How to withdraw consent.
- "Analytics" and "Marketing" — Settings → "Consent & privacy" → "Cookie settings";
- permission to track (ATT) — in iOS system settings: Settings → Privacy & Security → Tracking.
Withdrawing consent does not affect the lawfulness of processing carried out before the withdrawal. After you withdraw a consent, the App switches off collection in that category; the identifiers assigned by the SDKs are not changed in the process. For data passed earlier, you can ask for it to be erased (section 17.3) as described in section 8.6: we do not attribute events to the Account, so without additional information we cannot single out a specific person's data. Analytics data and crash reports in Google's services expire within the periods given in section 12; data passed to Meta is kept and deleted under Meta's rules. To the extent Meta processes the data as a separate controller, you can also send the request to Meta.
9.5. Legal basis. The legal basis for processing in both categories is consent (Art. 6(1)(a) GDPR). The consent also covers access to information stored on the Device and storing identifiers on it to the extent these services need (Article 399 of the Polish Electronic Communications Law).
9.6. Recipients and their roles.
- Google Ireland Limited / Google LLC — the provider of Firebase services; it processes data on our behalf as a processor, under Google's data processing terms.
- Meta Platforms Ireland Limited — the recipient of conversion events. For measuring advertising effectiveness and campaign reporting, Meta processes the events on our behalf as a processor. For collecting the events in the App and passing them to Meta so that Meta can use them to improve ad targeting and delivery, to personalise features and content (including ads) and to secure and develop its products, the Controller and Meta act as joint controllers. Further processing of the data in Meta's services takes place under the rules set by Meta as a separate controller, in accordance with its privacy policy.
Transfers of data outside the EEA are described in section 11.
9.7. The App's privacy manifest. In the App's privacy manifest we declare that:
- the App uses tracking within the meaning of Apple's rules, in connection with the Meta integration, and we name Meta's tracking domain;
- the collected data types are: device identifier — for third-party advertising and analytics purposes, marked as linked to the user and used for tracking; product interaction — for analytics purposes, not linked to the user; crash data and other diagnostic data — for app functionality purposes, not linked to the user.
9.8. Until a consent is saved — in version 2.0 or earlier in version 1.x (section 9.1) — the App does not switch on collection of analytics events or crash reports, or the passing of conversion events. The following work regardless of consents: registering the Device for notifications (section 4.5) and the configuration connection of the Meta SDK (section 9.3).
10Data recipients
10.1. Apple (Apple Distribution International Ltd. / Apple Inc.) — "Sign in with Apple", iCloud/CloudKit, notification delivery (APNs), distribution of the App on the App Store. For sign-in, notification delivery and distribution of the App on the App Store, Apple acts as a separate controller. Data that the App stores in the User's iCloud through CloudKit is stored and processed by Apple as the provider of the iCloud service, including under the terms of Apple's agreement with app developers; the Controller has no technical access to that data.
10.2. Google (Google Ireland Limited / Google LLC) — Firebase Analytics and Firebase Crashlytics after the "Analytics" consent; Firebase Cloud Messaging for notification delivery; Google Cloud Firestore as the Backend database. Processor.
10.3. Meta (Meta Platforms Ireland Limited) — conversion events after the "Marketing" consent, and the SDK's configuration connection (sections 9.3 and 9.6).
10.4. Vercel — the hosting provider with which the Backend code runs. Processor.
10.5. Sanity — the provider of the content management system the guide content and partner content come from. The App fetches text through our Backend, which also passes search phrases to Sanity. The App fetches images (banners, partner logos, covers) directly from Sanity's servers; the provider then processes the IP address and technical request data. Processor.
10.6. Collaborators — for a Shared Project, according to the Project Owner's decision (section 7.3).
10.7. Partners — the App shows partner content and offers. When you open a partner's link, you go to the partner's site; the App does not attach data identifying you to the link. Further processing of your data takes place under that partner's rules as a separate controller.
10.8. Other recipients — the provider of the email service used for contact, and public authorities, only to the extent required by law.
With entities processing data on our behalf we conclude data processing agreements compliant with Art. 28 GDPR.
We require the parties with which the App shares User data — including analytics providers, advertising networks and SDK providers (Google, Meta) — to protect that data to a standard at least equal to that described in this Policy and required by the App Store rules.
11Transfers of data outside the EEA
11.1. Apple, Google, Meta, Vercel and Sanity may process data outside the EEA, in particular in the United States. The Backend database is located in Europe.
11.2. Transfers take place on the basis of:
- a European Commission adequacy decision (Art. 45 GDPR; Implementing Decision (EU) 2023/1795 of 10 July 2023) — for recipients participating in the EU–U.S. Data Privacy Framework (DPF), or
- standard contractual clauses (SCCs) adopted by the European Commission (Art. 46(2)(c) GDPR; Implementing Decision (EU) 2021/914) — in all other cases.
11.3. You can ask us for information about the safeguards applied and for a copy of them.
12Data retention period
| Data | Retention period |
|---|---|
| Data on the Device, including Demo mode data and the data from section 4.9 | until you delete the data or the App (data from section 4.9 — until the Project it relates to or the Account is deleted, or the App is removed); scope of the "Delete account" feature — section 8; for device backups, see section 7.1 |
| Data in your iCloud | until you delete it (deleting content — section 7.2); under the terms of the iCloud service; scope of the "Delete account" feature — section 8 |
| Shared Project data | in the Project Owner's iCloud — until the Project Owner deletes the content or the Project, subject to the caveats described in sections 7.2 and 7.3; ending the share does not by itself delete this data; local copies — see section 7.3 |
| Account data in the keychain | until you sign out or the Account is deleted |
| Device record on the Backend | no automatic time limit — until deleted at your request (section 8.6) |
| Notification token and Firebase installation identifier at Google (Firebase Cloud Messaging) | under Firebase's rules: until the installation identifier is deleted, and then up to 180 days |
| Referral programme data | no automatic time limit — until deleted at your request (section 8.6) |
| Backend runtime logs | at the hosting provider — currently up to 1 hour |
| Guide search phrases | the Backend does not store them in its database; they may appear in the hosting provider's logs (currently up to 1 hour) and in the short-lived response cache |
| Analytics data (Firebase Analytics) | 2 months; aggregated statistical reports may be kept longer |
| Crash and error reports (Firebase Crashlytics) | 90 days |
| Events passed to Meta | according to Meta's retention rules |
| Technical data of connections made by the App directly to Meta (the SDK's configuration connection, section 9.3) and to Sanity (fetching images, section 10.5) | it does not reach the Backend; at the provider — according to the provider's retention rules |
| Correspondence | for as long as the matter is handled, and then for the limitation period of any claims |
After these periods, data held by us or by our processors is deleted or permanently stripped of the features that allow a person to be identified. You manage data on the Device and in iCloud yourself (sections 7.2, 7.3 and 8); data passed to Meta is kept and deleted under Meta's rules.
13Profiling and automated decision-making
13.1. We do not make decisions based solely on automated processing, including profiling, that would produce legal effects concerning the User or similarly significantly affect them.
13.2. Analytics data is used for statistical purposes and to improve the App. The App selects financial suggestions on the Device on the basis of Project data; this data does not leave the Device for that purpose. After the "Analytics" consent, however, Google receives information about which suggestion was displayed or opened (its title); this indirectly indicates the situation that triggered it — e.g. a budget overrun. Guides and partner content shown for a stage are selected by the Backend on the basis of the stage key (section 4.8).
13.3. Events passed to Meta after the "Marketing" consent are used to measure advertising effectiveness. Meta also uses them to improve ad targeting and delivery and to personalise content and ads in its services (section 9.6), under the rules described in its privacy policy.
14Cookies and similar technologies
14.1. The App does not use cookies in the browser sense. The consent settings in the App are called "Cookie settings" — this refers to the identifiers and data that the SDKs described in section 9 store and read on the Device.
14.2. Websites associated with the App apply their own cookie settings and their own consent mechanism; information about this is available on those sites.
14.3. External links opened from the App lead to third-party sites that apply their own privacy rules.
15iOS permissions and system features
The App uses system features after you grant permissions, which you can change in iOS settings:
- Camera — scanning documents, invoices and receipts in the system scanner.
- Photos — adding photos to stage albums, expense attachments, covers and backgrounds. The App saves some photos as originals, together with metadata saved by the device, e.g. date or location; such files may go to iCloud and to Collaborators (sections 4.1 and 4.2).
- Text recognition (OCR) — performed on the Device.
- Calendar — adding events to the iOS calendar at your request. The identifier of the created event stays on the Device.
- Contacts — saving a contractor's card to the address book in a system window. The App does not read your contacts.
- Share sheet and share extension — sending invitations to a Shared Project, and receiving links, images and files from other apps. Received content goes to the App's storage on the Device.
- Notifications — displaying notifications.
- Tracking (ATT) — as described in sections 9.2 and 9.3.
The App does not use location services. Data obtained through permissions is used for the feature the permission relates to.
16Data security
16.1. Communication between the App and the Backend and external services uses encrypted connections (HTTPS/TLS).
16.2. We store the Apple user identifier, name and email address in the Device keychain, without carrying them over to other devices.
16.3. Only authorised persons have administrative access to the Backend database and the notification sending tools.
16.4. The security of data in iCloud is provided by Apple under the terms of that service; it also depends on how your Apple account and Device are secured.
16.5. No method of transmitting or storing data is free of risk. We choose measures appropriate to the nature of the data processed.
17User rights
You have the following rights:
17.1. the right of access to your data and to obtain a copy of it (Art. 15 GDPR);
17.2. the right to rectification (Art. 16 GDPR);
17.3. the right to erasure (Art. 17 GDPR);
17.4. the right to restriction of processing (Art. 18 GDPR);
17.5. the right to data portability for data processed by automated means on the basis of consent or a contract (Art. 20 GDPR);
17.6. the right to object to processing based on legitimate interest (Art. 21 GDPR) — see the separate notice below;
17.7. the right to withdraw consent at any time, without affecting the lawfulness of earlier processing;
17.8. the right to lodge a complaint with a supervisory authority — in Poland: the President of the Personal Data Protection Office (PUODO), ul. Moniuszki 1A, 00-014 Warsaw.
Right to object — separate notice. You may at any time object, on grounds relating to your particular situation, to the processing of your data based on legitimate interest (Art. 6(1)(f) GDPR), that is: registering the Device and sending notifications from the Backend, handling correspondence, Backend technical logs, the Meta SDK fetching its configuration, and establishing, exercising or defending claims. To the extent your data is processed for direct marketing purposes — this applies to messages encouraging you to return to the App (section 4.5) — you may object at any time, without giving any reason; once you object, we will no longer process your data for that purpose (Art. 21(2) and (3) GDPR). Send your objection to homdu.app@gmail.com. In version 2.0, registering the Device and the Meta SDK fetching its configuration cannot be switched off in the App — they take place when it is launched. Once we uphold your objection we will delete the Device record we are able to find (section 8.6), but an installed App may register the Device again; permanently ending this processing requires removing the App from the Device. You can switch off the Backend notification categories other than "System notifications" yourself as described in section 4.5.
To exercise your rights, write to homdu.app@gmail.com. We may ask for information needed to confirm your identity. We reply without undue delay, and no later than one month after receiving the request; in the cases provided for in the GDPR this period may be extended.
Data in iCloud and on the Device. We have no access to data in areas A and B, so you exercise the rights relating to that data yourself: in the App (editing and deleting content, ending or leaving a share, "Delete account") and in your Apple account settings. Exception: if your data is held in another User's Project — as entries or files you added as a Collaborator (section 8.7) or as contact details saved by that person (section 5.4) — ask that Project's Owner to change or delete it; the Controller has no access to it.
18Children's data
18.1. The App is not directed at persons under 16 years of age.
18.2. We do not knowingly collect children's personal data. If we learn that such data has been passed to us without the required basis, we will delete it.
18.3. A parent or legal guardian who believes that a child has passed data to us can write to homdu.app@gmail.com.
19Changes to the Privacy Policy
19.1. The Policy may be changed, in particular when the App's features, the technologies used or the law change.
19.2. We inform about material changes in a manner appropriate to their nature, e.g. through a notice in the App. If a change requires a new consent, we will ask for it.
19.3. The current version is available in the App and on the App's website. The effective date and the last-updated date are given at the beginning of the document.
20Privacy contact
Privacy contact
AppSoft Studio Jakub Matwiejczyk
ul. Aroniowa 19, 05-555 Kotorydz, Poland · Tax ID (NIP): 7133074219
Email: homdu.app@gmail.com