Privacy Policy
Last Updated: October 14, 2026
This Privacy Policy is designed to comply with the General Data Protection Regulation (GDPR) and the German Federal Data Protection Act (BDSG).
1. Introduction
This Privacy Policy explains how Cine Power Planner collects, uses, stores, and protects your personal data when you use our application. We are committed to protecting your privacy and ensuring compliance with the General Data Protection Regulation (GDPR/DSGVO).
2. Data Controller
For any privacy-related inquiries, please contact us at the address above or through the Help section of the application.
Luca Zanner
Brünnsteinstraße 5
81541 München
Germany
Email: support@cine-power-planner.com
Website: https://cine-power-planner.com
For any privacy-related inquiries, you can reach us via the email address above, through the Help section of the application, or by postal mail to the address listed above.
3. Data We Collect
Local Data (Stored on Your Device):
- Project names, client information, and gear lists
- Contact names, roles, phone numbers, email addresses, and — where you enter them — postal and billing addresses, VAT identification numbers, bank details (IBAN), and agreed day rates
- Template data and device library items
- User preferences (theme, language, settings)
Cloud Data (When Signed In):
- Email address
- Profile information (display name, photo)
- Device identifier (for multi-device sync)
- Active session information
- Synchronized project and template data
- Subscription status and plan information. We never store your payment details: subscriptions taken out on the web are processed by Stripe, and subscriptions taken out inside the iOS or macOS app are processed by Apple as part of the App Store purchase.
- Shared project data, collaborator roles, presence indicators, and chat messages exchanged within shared projects. A Data Management project linked to a shared project is shared with its members too: its shooting days, transfer sessions, offloads and verification runs, including the source, destination and drive paths they record.
- Shooting calendar entries: the title, notes, location and start/end times of your prep, shoot, return and travel periods. On a shared project these are visible to the project members.
- In-app notifications, including the message text and the name of the person who triggered them
- If you connect your own AI provider: the provider name and your API key, stored encrypted. The key itself is never included in a data export.
- Browser geolocation coordinates (only when you explicitly grant permission for weather or location features)
- Push notification subscription endpoint (if you opt in to browser notifications)
- Hashed password history (stored server-side to prevent password reuse; we never store plaintext passwords)
- Email notification preferences (whether you have opted in or out of transactional emails)
- Anonymous tool-usage counts: If you are signed in with cloud sync consent, opening a PDF tool or a calculator adds one to a daily counter for that tool (at most once per tool, account and day). The counter stores only the tool and the date — not your account, device or IP address. So that a tool is not counted twice on one day, our server keeps a one-way hash derived from your account ID, the tool and the date, and deletes it on the following day; nothing is stored on your device for this. We use the totals to decide which tools to improve.
- Usage statistics: We compute aggregate figures from the data synced to our server — for example how many accounts and projects are active, how many records of each kind exist, which camera bodies, rental houses, custom device names and auto-gear rule names are used most, and the number and total value of sub-rentals. A name or a total is shown only when it comes from at least five accounts, and no individual account's records are displayed. Only we see these figures; they are not passed on and not used for advertising or profiling. Legal basis: Art. 6(1)(f) GDPR (our legitimate interest in knowing which features are used, so that we can maintain and improve the app). You can object at any time under Art. 21 GDPR: turn on “Leave my account out of usage statistics” in Settings → Security & Privacy → Privacy & Legal, or write to the contact address in this policy. Your account is then left out of the figures and opening a tool is no longer counted.
- Help search terms: If you turn on “Help search analytics” in Settings → Security & Privacy → Privacy & Legal (off by default; you also need to be signed in with cloud sync), the words you type into the Help search are sent to our server, lower-cased and cut to 200 characters, and counted per term together with whether the search found anything. We store only the term, its counts and when it was last searched — not your account, device or IP address. Avoid typing personal details into the search. We use the counts to improve the help and keep them while they serve that purpose. Legal basis: Art. 6(1)(a) GDPR (your consent), which you can withdraw at any time by turning the switch off.
- Accessories store order history and shipping details (if you make purchases). To limit abuse of the guest checkout we count checkouts per hour under a one-way keyed hash of your IP address; these counters are deleted after 7 days (Art. 6(1)(f) GDPR).
- Bank Transactions (if you use the Banking module): When you import bank transactions via CSV or camt.053, or enter them manually, we process: IBAN and BIC (your own bank account and counterparty), booking date, value date, signed amount and currency, purpose text (SEPA-Verwendungszweck), counterparty name, optional receipt attachment, source (manual / CSV preset / camt.053), and the link relationships you create between transactions and your invoices / Mahnungen / expenses. This data is necessary to reconcile payments against the invoices you issue and to fulfil the 10-year GoBD retention obligation under § 147 AO. You can provide it either by importing a CSV / camt.053 file your bank exports, or by using the optional direct bank connection (FinTS/HBCI), which retrieves your balance and transactions from your bank on your behalf (see Section 7).
- Accounting & Tax Data (if you use the business features): When you create quotes, invoices, order confirmations, delivery notes, expenses and receipts (including scanned receipt images and text extracted from them by on-device OCR), cash-book (Kassenbuch) entries, vendor bills, fixed-asset records, or recurring documents, we store these records. They embed personal data of your clients and suppliers (such as name, postal and billing address, email, VAT identification number, and — where you enter it — bank details / IBAN) as well as your own business and tax identifiers (Steuernummer, USt-IdNr, responsible tax office, and small-business / Kleinunternehmer status). This data is processed to produce your invoices and bookkeeping, to generate statutory tax reports and exports (EÜR, advance VAT return, DATEV, ELSTER), and to meet the 10-year GoBD retention obligation under § 147 AO.
- Electronic signatures: When you or a counterparty sign a contract, quote, or delivery / return note electronically, we store the drawn signature image together with the signer's name, the time of signing, and the IP address from which it was signed, as evidence of the agreement. Signing is performed entirely on our own infrastructure; no third-party e-signature provider is involved.
- Crew network & availability (if you use the crew-networking features): the connections you establish with other users, the professional contact details those users choose to share with you (name, email, photo), and any availability information and private scheduling notes you record about your contacts.
- Crew search (Contacts → Connected Crew → Connect): signed-in users can look for other accounts to send them a connection request. By name: your account is found by part of your display name only if you turn on “Findable by name in crew search” in Settings → Security & Privacy → Privacy & Legal (off by default); the person searching then sees your display name and profile photo, never your email address. By email address: someone who types your exact email address finds your account (display name, photo and the address they typed) unless you turn off “Findable by exact email address” in the same place (on by default); people you are already connected with can always find you this way. The search runs on our server, and we do not store what is typed into it. Legal basis: for the name search Art. 6(1)(a) GDPR (consent, which you withdraw at any time by turning the switch off); for the email-address search Art. 6(1)(f) GDPR (the legitimate interest in being reachable for connection requests from people who already know your address), to which you can object at any time by turning the switch off (Art. 21 GDPR).
- Public rental catalogue & gear requests (if you publish a rental catalogue): when someone — with or without an account — submits a rental request through your public catalogue link or the in-app rental network, we store the requester's name, email address, whether they are requesting as a private person or a business and, where provided, phone number, company, address and VAT ID, together with the requested items and rental period. We use these details to deliver the request to the catalogue owner and to send the requester the owner's quote and status updates by email (legal basis: Art. 6(1)(b) GDPR — steps taken at the requester's own request prior to entering into a contract). When a private person accepts a quote online, we also store their acknowledgement of the withdrawal instructions and, if they withdraw from the contract through the quote link, the withdrawal they send (name, email address, date and time of receipt); we send them a confirmation of receipt and inform the catalogue owner (legal basis: Art. 6(1)(c) GDPR — § 356a BGB). Requests that do not result in a rental (declined, expired or cancelled) are automatically deleted 90 days after they close. Requests withdrawn by the requester are kept as evidence until the end of the third year after the year of the withdrawal and then deleted.
- Focus Pulling Simulator public leaderboard (only if you join it): the pseudonymous display name you choose, and for every take you post the level, your score and a summary of your camera setup (lens, stop, sensor size, frame rate). Posted takes are replayed and scored on our server; the take's recording is used for that check only and is not stored. The board shows your display name, score and setup to other signed-in users — never your e-mail address or real name — and people who share a project or crew connection with you can see you on the Team board (legal basis: Art. 6(1)(a) GDPR — your consent by joining). Leaving the leaderboard, withdrawing your cloud consent or deleting your account deletes every posted take.
- AI Agent Access (if you enable the Agent access feature): The access keys you issue to connect an AI agent are stored only as a salted hash, never in plaintext. We also keep a metadata-only activity log of the actions an agent performs on your behalf — the tool name, status, and timestamp only, never the content of your data. See Section 7 for how this feature exposes your data to the AI provider you choose.
Contact form
If you write to us through the contact form at /contact, we process the name, email address, optional topic and message you enter, and the language of the page. The form sends them to our support mailbox as an email, with your address as the reply address; the form itself stores nothing, and you do not receive a copy. To limit abuse, the form is protected by Cloudflare Turnstile and we count messages per hour under one-way keyed hashes of your IP address and your email address; these counters hold the hash, the hour and a number, and no message content, and they are deleted after 7 days. We use your details only to answer you. The legal basis is Art. 6(1)(b) GDPR where your message concerns a contract with us or steps before one, and otherwise Art. 6(1)(f) GDPR (our interest in answering enquiries and in protecting the form against abuse). We delete your message once your enquiry is settled, unless statutory retention duties for business correspondence apply (§ 257 HGB, § 147 AO).
Reports of illegal content (DSA)
If you report content through the “Report content” form, we process the name, email address and explanation you enter, the link to the reported content, and a one-way keyed hash of your IP address (the address itself is not stored). Purpose: to handle the notice and tell you our decision. Legal basis: Art. 6(1)(c) GDPR with Art. 16 DSA. Recipients: our support inbox; the person whose content you reported, only where strictly necessary (Art. 17(3)(b) DSA); authorities where the law requires it. Retention: a notice is deleted 6 months after our decision. While a complaint or legal dispute about the decision is still open, it is kept until that is closed, and a notice awaiting a decision is kept until it is decided. For child sexual abuse material you may report without a name or email address.
Cancellation and withdrawal declarations (§§ 312k, 356a BGB)
If you cancel a subscription on the “Cancel contracts here” page, we process the name, email address, contract details, type of termination, any reason and the requested end date you enter, the date and time we received the declaration, whether it matches an active subscription of an account, and a one-way keyed hash of your IP address (the address itself is not stored). Purpose: to carry out and confirm the cancellation and to be able to prove it. Legal basis: Art. 6(1)(b) GDPR and Art. 6(1)(c) GDPR with § 312k BGB. Recipients: our support inbox; Stripe, to end a matched subscription. Retention: 3 years from the end of the year in which we received the declaration (the regular limitation period, §§ 195, 199 BGB).
If you withdraw from a subscription on the “Withdraw from contract” page, we process the name, email address and contract details you enter and the date and time we received the declaration; if it matches an active subscription of an account, also the start of the contract, the end of the withdrawal period, the latest invoice and the refund amount we calculate, and when the subscription was stopped; and a one-way keyed hash of your IP address (the address itself is not stored). Purpose: to receive and confirm the withdrawal (§ 356a BGB), to end the subscription and to refund you, and to be able to prove it. Legal basis: Art. 6(1)(b) GDPR and Art. 6(1)(c) GDPR with §§ 355, 356a, 357 and 357a BGB. Recipients: our support inbox; Stripe, to end the subscription and to pay the refund. Retention: 3 years from the end of the year in which we received the declaration (§§ 195, 199 BGB); records of the refund payment itself are kept for the periods of commercial and tax law (§ 257 HGB, § 147 AO).
Online quote acceptance and withdrawal (§§ 312f, 356a BGB)
If you send a quote with “Let the customer accept online”, your customer can open it at a /q/ link. There we process the postal code they enter (compared with the one on the quote, not stored), their IP address and browser identification (stored in full for 7 days to detect misuse, after that only as one-way hashes), the time of each step, the options they choose, their acknowledgement of your terms and, for a consumer, of the withdrawal instructions, the totals shown to them and the acceptance or decline (with any reason). To accept, your customer enters the name of the person signing and draws a signature or uploads an image of it; we store both with the quote and show them to you. If a consumer withdraws from the contract there, we also store the name and email address they enter, the date and time we received the declaration, a reference number and whether it arrived after the deadline. We send your customer the contract confirmation and the confirmation of receipt by email, and inform you. For this data you are the controller and we process it on your behalf (Art. 28 GDPR); the legal basis is Art. 6(1)(b) GDPR and, for the confirmations, Art. 6(1)(c) GDPR with §§ 312f and 356a BGB. It is stored with the quote and deleted with it.
Call-sheet links: dietary and allergy information, read receipts
If a production that uses the app shares a call sheet by link, the people it names can open it without an account. The link shows what the production put on the call sheet: names, roles and call times, and, unless the production hid them, phone numbers and email addresses. If the production switches on the dietary block, the link also shows diet counts and named allergy and intolerance rows. This can be health data or reveal religious beliefs (special categories of personal data, Art. 9 GDPR).
The production is the controller for this content. It decides what goes on a call sheet and needs a legal basis for it; for health data that is the explicit consent of the person concerned (Art. 9(2)(a) GDPR). We store and deliver the published copy on the production’s behalf as its processor (Art. 28 GDPR). To exercise your rights regarding a call sheet, contact the production named on it; requests that reach us are passed on to it.
When a link is opened we record the time of the first and of the latest opening and the number of openings, and, if the recipient presses “Confirm”, the time of the confirmation, so that the production can see who has received the call sheet (Art. 6(1)(f) GDPR: legitimate interest in knowing that call times and safety information arrived). No IP address is stored with this. A link stops working 48 hours after the last shoot day or when the production revokes it. The published copy is erased 30 days after that; the recipient’s name and the receipt times remain until the production deletes the project or its account.
Bug reports and crash reports
If you send a bug report from the app, we process what you type (subject, description, steps to reproduce), any screenshots you attach, your name and email address if you are signed in, technical details of your device and browser (browser identification, app version, screen and window size, language, platform, page address without its query), and the last log lines of the app. If the app crashes and you send the crash report offered on the error screen, we process the error message and its technical trace, the address of the page (long tokens and IDs in it are removed first), the browser identification, the app version, the last log lines and your optional note. We use this only to find and fix faults (Art. 6(1)(f) GDPR: legitimate interest in a working and secure service). The reports are stored on our server in Germany, can be read only by the operator and are deleted after 180 days.
If you rate the result after the AI has read a call sheet, we process your rating, the sections you marked as wrong, your optional comment (up to 500 characters), and technical details of the read: AI provider and model, the version of our reading instructions, the kind and number of files, how many days and entries were found, the number of requests and tokens, the duration, the app version and the platform. The content of the call sheet is not sent to us. We use the ratings only to improve the reading (Art. 6(1)(f) GDPR: legitimate interest in a reliable feature). They are stored on our server in Germany under your account, shown to the operator without your account ID, deleted after 365 days or with your account, and included in your data export.
Calendar links (shared production calendar, calendar subscription)
If you create a share link for a production calendar, anyone who has the link can see, without an account: the project name, the prep, shoot and return periods, the shoot locations (name, address, time zone), the names and roles of the first five crew members and the size of the crew, and the scene numbers and headings planned per day. Rates, phone numbers, email addresses and notes are not shown. The link has an expiry date and you can revoke it at any time; a project in the Trash is not shown. If you create a calendar subscription (ICS feed), anyone who has its address can read: project names, project and period notes, the shoot location, the dates and times of prep, shoot, return and travel periods and, for a gear feed, the names and quantities of the gear and the provider. A subscription address does not expire; it stops working when you delete the feed. Create these links only for people who should see this data. Legal basis: Art. 6(1)(b) GDPR. For personal data of your crew in these links you are the controller and we process it on your behalf (Art. 28 GDPR).
Receipts and e-invoices by email
If you use your personal receipt inbox address, invoices that you or your suppliers send to it are received by our own mail server. Incoming mail is checked for spam and malware. We keep only the PDF and XML attachments: they are stored in your receipt storage and listed for import in the app, where the invoice fields (supplier, address, bank details, amounts, line items) are read out. The message text and the sender address are not passed on to the app. A message without a usable attachment or without a valid address is set aside on the mail server, not processed, and deleted there after 30 days. This works only while cloud synchronisation is switched on; otherwise the mail is discarded. Legal basis: Art. 6(1)(b) GDPR; for the data of your suppliers Art. 6(1)(f) GDPR (the interest in receiving invoices electronically). The files are kept until you delete them or your account.
Call sheets forwarded by email
If you forward a mail with a call sheet to your personal call sheet address, it is received by our own mail server and checked for spam and malware. We keep only the PDF and picture attachments: they are stored in your private Shared documents inbox, together with the file name, type, size and time of arrival, so that you can import the sheet in the app on any of your devices. A call sheet usually contains personal data of other people (names, roles, phone numbers, email addresses, call times, locations). We do not read the file on the server: its content is processed only when you import it in the app, with the reading method you chose there. The message text and the sender address are not passed on to the app. A message without a usable attachment or without a valid address is set aside on the mail server, not processed, and deleted there after 30 days. This works only while cloud synchronisation is switched on; otherwise the mail is discarded. Legal basis: Art. 6(1)(b) GDPR; for the data of the people named on the sheet Art. 6(1)(f) GDPR (your interest in receiving the working document that was sent to you). A forwarded file is deleted when you file or delete it in the app, and otherwise 90 days after it arrived; with your account at the latest. You can retire the address at any time by rotating it in the settings.
Notification content, OffShoot and Live Activities
Push notifications about a finished or failed data transfer carry the project name in their title and file or issue counts in their text; they contain no names of persons. If you connect the third-party app OffShoot with an access key, it sends us the session label, project name, status and counts of each transfer so that we can notify you; we do not store these events, only a fingerprint that prevents duplicates and is deleted after 7 days. In the iOS app, Live Activities show copy progress on the lock screen: for this the labels of the cards, cameras or sources being copied, the progress and counts are sent to your device through the Apple Push Notification service, and the Live Activity token of the device is stored with your account. Legal basis: Art. 6(1)(a) GDPR (you switch notifications on) and Art. 6(1)(b) GDPR.
4. Legal Basis for Processing
We process your personal data based on the following legal grounds under GDPR:
- Performance of a contract (providing the gear list service)
- Your explicit consent (for optional cloud synchronization)
- Legitimate interests (app functionality, security, technical maintenance)
- Legal obligations (compliance with applicable laws)
5. Data Storage and Security
Local-First Architecture: By default, all your data is stored locally on your device using IndexedDB and the Origin Private File System (OPFS). Your data never leaves your device unless you explicitly choose to sign in and enable cloud synchronization.
Cloud Storage: When you sign in, your data is synchronized to our self-hosted Supabase instance, hosted on Hetzner Cloud in Nuremberg, Germany. Data is encrypted in transit (TLS) and, on our servers, is protected by strict per-user access controls (row-level security). See the encryption note below for how data is protected at rest.
Encryption: On your device, sensitive records — including contacts, billing and invoicing data, expenses, your user profile, and rental and collaboration data — are encrypted at rest in IndexedDB using AES-GCM-256 with a key derived from your account, and remain encrypted in the corresponding cloud-sync payloads. If you use the optional direct bank connection, your bank-access credentials are additionally encrypted before storage. Other data stored on our servers is protected by transport encryption (TLS), strict per-user access controls (row-level security), and hosting exclusively in Germany.
Retention Period: We retain your data for as long as your account is active. When you delete your account, we delete your cloud-synced data from our active systems within 30 days. Deleted data can still be contained for up to 4 years in the encrypted backups we keep for recovery after a failure (Art. 6(1)(f), Art. 32 GDPR), until those backups rotate out. Local data remains on your device until you delete it or perform a factory reset. When you delete an individual record such as a contact, its personal data is removed from cloud storage on the next synchronization; copies embedded in legally-retained documents (for example issued invoices, kept for 10 years under § 147 AO) are anonymized once that retention period ends.
Server Logs: Our web server records access logs (requested URL with sensitive query parameters redacted, HTTP status, user agent, and IP address) for security, abuse prevention, and technical troubleshooting. Logs are retained for a maximum of 52 days and then automatically deleted. Legal basis: Art. 6(1)(f) GDPR (legitimate interest in operational security).
Data Deletion: You can request complete deletion of all your personal data by deleting your account through Settings or by contacting support@cine-power-planner.com. We will confirm deletion in writing upon completion.
Data Breach Notification: In the event of a personal data breach that is likely to result in a risk to your rights and freedoms, we will notify you and the competent supervisory authority without undue delay, and in any case within 72 hours of becoming aware of the breach, in accordance with Art. 33 and Art. 34 GDPR.
6. Your Data Protection Rights
Under GDPR, you have the following rights:
Right to Lodge a Complaint: You have the right to lodge a complaint with a data protection supervisory authority if you believe that the processing of your personal data violates the GDPR. The competent supervisory authority is the data protection authority of the German state in which the data controller is established.
To exercise these rights, use the data management features in Settings or contact us through the Help section.
7. Third-Party Services
Supabase: We use a self-hosted Supabase instance (located in Germany) for cloud authentication and data synchronization. Data is processed on our own server and is not shared with Supabase Inc.
Hetzner Cloud: Our self-hosted Supabase infrastructure runs on Hetzner Cloud (Hetzner Online GmbH, Germany) in the Nuremberg data center. All synced user data is stored on this server. Hetzner acts as a hosting provider and does not access your data. Privacy Policy: https://www.hetzner.com/legal/privacy-policy/. Legal basis: Art. 6(1)(b) GDPR (contract performance) and Art. 6(1)(f) GDPR (legitimate interest in reliable infrastructure).
Stripe: We use Stripe (Stripe Payments Europe, Ltd., Ireland) for payment processing and subscription management. When you subscribe to a paid plan, Stripe processes your payment information (email, card details, IP address) in accordance with their Privacy Policy: https://stripe.com/privacy. Legal basis: Art. 6(1)(b) GDPR (contract performance).
Apple In-App Purchase and RevenueCat: If you take out a subscription inside the iOS or macOS app, the purchase is made through Apple's In-App Purchase system. Apple (Apple Distribution International Ltd., Ireland, and Apple Inc., United States) is the seller of record and processes the payment as an independent controller; we never receive your payment details. We use RevenueCat (RevenueCat, Inc., United States) to validate the receipt Apple issues and to keep your subscription status consistent across your devices. For this purpose your account identifier, the product purchased, and the purchase and renewal status are transmitted to RevenueCat; no project content, contacts, gear data or accounting records are sent. Privacy policies: https://www.apple.com/legal/privacy/ and https://www.revenuecat.com/privacy. Because RevenueCat is based in the United States, this is a transfer to a third country (see Section 8). A record of the purchase events we have already processed is kept for billing integrity even after account deletion, so that a renewal or refund arriving later cannot reactivate a deleted account. Legal basis: Art. 6(1)(b) GDPR (contract performance).
Transactional Email: We send transactional emails using our self-hosted SMTP server (hosted on the same Hetzner infrastructure as the application). Email types include: account welcome, collaboration invites, comment mentions, and subscription lifecycle notifications (started, renewal reminder, renewed, canceled). Marketing emails are covered separately below. You can opt out of non-essential emails in Settings. No email data is shared with third-party email marketing services. Legal basis: Art. 6(1)(b) GDPR (contract performance) and Art. 6(1)(f) GDPR (legitimate interest in service communication).
Marketing emails: Only if you opt in — with the "Marketing & product emails" checkbox at sign-up or later in Settings → App → Notifications — do we send you occasional emails about the app and its plans, through the same self-hosted SMTP server. We record when you gave and withdrew this consent. You can withdraw it at any time, with effect for the future, through the unsubscribe link in every such email or by switching the setting off. No email data is passed to third-party marketing services. Legal basis: Art. 6(1)(a) GDPR (consent).
Cloudflare Turnstile: We use Cloudflare Turnstile as a bot protection mechanism during sign-in and sign-up. Cloudflare may process your IP address and browser metadata to verify you are human. No cookies are set. Privacy Policy: https://www.cloudflare.com/privacypolicy/. Legal basis: Art. 6(1)(f) GDPR (legitimate interest in preventing abuse).
Open-Meteo: Weather forecasts in the calendar and shoot planning features are calculated on our own server, with the open-source Open-Meteo software and Open-Meteo's open weather data (CC BY 4.0, https://open-meteo.com/). The GPS coordinates of the location and your IP address stay on our server and are not passed to Open-Meteo or any other weather service. To calculate a forecast, our server downloads public weather data files from Open-Meteo's open-data storage at Amazon Web Services; these downloads carry no account data and no IP address of yours, and the file sections requested show at most the rough region of a forecast. Legal basis: Art. 6(1)(a) GDPR (consent through voluntary use of the feature).
Nominatim / OpenStreetMap: We use the Nominatim geocoding service (OpenStreetMap Foundation, UK) to convert addresses into coordinates for location-based features. When you use these features, the queried address is transmitted, or the coordinates when a place name is looked up for a position. The request is routed through our own server, so Nominatim does not receive your IP address. Usage Policy: https://operations.osmfoundation.org/policies/nominatim/. Legal basis: Art. 6(1)(a) GDPR (consent through voluntary use of the feature).
OpenRouteService: We use OpenRouteService (HeiGIT gGmbH, Germany) for optional route planning and location features. When you use these features, the coordinates of start and destination are transmitted. The request is made by our own server, so OpenRouteService does not receive your IP address. Privacy Policy: https://openrouteservice.org/privacy-policy/. Legal basis: Art. 6(1)(a) GDPR (consent through voluntary use of the feature).
Apple Maps: For drive times on imported call sheets we ask the Apple Maps Server API (Apple Inc., USA) how long a drive is predicted to take with traffic on the day and at the time the call sheet gives. Apple receives the coordinates of start and destination and that time. The request is made by our own server, so Apple does not receive your IP address, your account or any other details of the call sheet. Privacy Policy: https://www.apple.com/legal/privacy/. Legal basis: Art. 6(1)(a) GDPR (consent through voluntary use of the feature).
Parking and places to eat near call-sheet places: For an imported call sheet we look up parking and, at the time of a meal, places to eat near the locations and hotels of the day. Our server sends the coordinates of those places and a search radius to the Overpass API for OpenStreetMap data (operated by FOSSGIS e.V., Germany, and by private.coffee, Austria), to OpenRouteService for walking and driving times, and to the Google Places API (Google Cloud EMEA Limited, Ireland; Google LLC, USA), which we use to choose well-rated places that are open at that time. The requests are made by our own server, so these services do not receive your IP address, your account or any other details of the call sheet. Of Google's answer we store only the identifier of a place. If you start “Research with AI” on such a day, your device sends the date and the names and addresses of the day's places to the AI provider you selected, with your own key (see Section 13). Google's Privacy Policy: https://policies.google.com/privacy. Legal basis: Art. 6(1)(a) GDPR (consent through voluntary use of the feature).
Push Notifications: If you opt in, we use the Web Push API to send browser notifications about project updates, sync events, and maintenance reminders. Your push subscription endpoint and device information are stored in our Supabase database. To deliver each notification, the encrypted payload is relayed to your device through the push service operated by your browser vendor (e.g. Google for Chrome / Android, Mozilla for Firefox, Apple for Safari, Microsoft for Edge); some of these providers are located outside the EU (see Section 8). You can revoke push notification permissions at any time through your browser settings or the application's notification preferences. Legal basis: Art. 6(1)(a) GDPR (explicit consent).
Bank Connection (FinTS/HBCI): If you connect a bank account in the Android app or the Mac app, the software on your device connects directly to your bank's FinTS interface. Your access credentials (including the PIN) are stored in encrypted form on that device only. The account balances and transactions retrieved this way stay on the device: cloud sync does not upload them and we have no access to them. We do not retrieve account information for you and are neither a payment service nor an account information service; payments or transfers cannot be initiated. Your bank is the recipient of the connection under your existing banking relationship. In a web browser and in the iPhone and iPad app no bank connection is offered; there you can import account statements as files.
EU VAT Number Validation (VIES): When you validate a customer's VAT identification number, that VAT ID is transmitted to the European Commission's VIES service for verification. No other personal data is sent. The service is operated by the European Commission (EU). Legal basis: Art. 6(1)(c) GDPR (correct VAT treatment) and Art. 6(1)(f) GDPR (legitimate interest in accurate invoicing).
Electronic Tax Filing (ELSTER): If you use the electronic tax-filing feature, the tax data you choose to submit (such as the EÜR income statement or the advance VAT return) is transmitted to the German tax authority (Finanzamt) through the official ELSTER interface (ERiC), which runs on our own server in Germany. Your data is sent only to the tax authority and only when you actively submit a filing. Legal basis: Art. 6(1)(c) GDPR (legal tax obligation).
Malware Scanning: Receipt and document files you upload are scanned for malware on our own server. The scan runs right after the upload. Until it has passed, a file in a private storage area is not released to other users, and an infected file is deleted. File content is not shared with any third party. Legal basis: Art. 6(1)(f) GDPR (legitimate interest in service and data security).
On-Device AI Models (Hugging Face): If you switch an AI feature to a local, on-device model, the application downloads that model file directly from Hugging Face (Hugging Face, Inc., United States). This download is made by your device, so your IP address and the model you requested become known to Hugging Face; no project content, account data or prompts are transmitted. Once downloaded, the model is stored on your device and runs entirely offline — text and images you process with it never leave your device and are not sent to us or to any AI provider. The download happens only when you explicitly start it, and you can delete the stored model at any time in the settings. Legal basis: Art. 6(1)(a) GDPR (consent, by starting the download).
Other Reference-Data Services: For convenience features the application retrieves public reference data — link previews for media you add to mood boards (via noembed), the preview images of those media (from the image servers of YouTube, Vimeo and Pinterest), map tiles (from the OpenStreetMap tile servers), public-holiday dates (via the OpenHolidays API) and euro reference exchange rates for invoices in another currency (from the European Central Bank; only the currency and the date are sent). These requests are routed through our own server so that your IP address is not exposed to the upstream provider, and they carry no personal data beyond the content you supply (for example a media link) or the map area you view. Our server keeps the answers in a temporary cache (map tiles for up to 30 days). Legal basis: Art. 6(1)(f) GDPR (legitimate interest in providing the feature).
AI Agent Access (Model Context Protocol): If you enable Agent access — an optional, subscription-gated feature — and issue an access key, you can connect a third-party AI agent of your choice (for example Claude Desktop or another MCP-compatible client) to Cine Power Planner. When you instruct that agent, our server, acting on your explicit consent (the separate “mcp_access” consent), exposes to it the data the agent requests, which may include your projects, gear, sub-rentals, contacts, and read-only accounting and banking records. The agent acts on your behalf: that data is transmitted to the AI provider that operates the agent you connect. This provider is an independent third party and a separate data controller whom we neither select nor control; its processing of your data is governed by that provider's own terms and privacy policy, and — depending on the provider you choose — may involve a transfer outside the EU/EEA (see Section 8). Access is strictly opt-in, requires an active subscription, is technically limited to your own data by per-user access controls (an agent can never reach another user's data), and you can revoke any key at any time under Settings → Connections → Agent access. We retain a metadata-only audit log of agent actions (tool name, status, and timestamp — never the content of your data) for security and abuse prevention; it is automatically deleted after 180 days and immediately upon account deletion. Legal basis: Art. 6(1)(a) GDPR (explicit consent).
No Tracking: We do not use Google Analytics, Facebook Pixel, or any other tracking services.
No Advertising Cookies: We do not use cookies for advertising or profiling purposes.
8. International Data Transfers
Your data is processed predominantly within the European Union (Germany). Transfers to third countries outside the EU/EEA occur in these cases: (1) Cloudflare Turnstile (USA — processes only your IP address and browser metadata on the sign-in and sign-up forms); (2) if you opt in to browser push notifications, the encrypted notification payload is relayed to your device through your browser vendor's push service (e.g. Google, Apple, Microsoft, Mozilla), some of which are located in the USA; and (3) if you take out a subscription inside the iOS or macOS app, RevenueCat (USA) receives your account identifier and your purchase and renewal status in order to validate the App Store receipt (see Section 7); (4) if you use the optional AI features with an online provider, the content you submit goes to the provider you selected (Anthropic, OpenAI or Google, USA; see Section 13); (5) if you download an on-device AI model, your device fetches it from Hugging Face (USA), which learns your IP address and the requested model; (6) if you use Live Activities for copy progress in the iOS app, the progress shown (labels of cards, cameras or sources, and counts) reaches your device through the Apple Push Notification service (Apple Inc., USA); (7) link previews and preview images for media links you add to mood boards are fetched by our server from noembed and from the image servers of YouTube (Google), Vimeo and Pinterest, some of which are located in the USA; they receive the link, not your IP address; (8) drive times with a traffic prediction for imported call sheets are requested by our server from Apple Maps (Apple Inc., USA), which receives the coordinates of start and destination and the time of the drive, not your IP address; and (9) to choose well-rated places to eat near the places of an imported call sheet, our server asks the Google Places API (Google LLC, USA), which receives the coordinates of those places, not your IP address. The transfers in (1) to (3) are covered by EU Standard Contractual Clauses and, where applicable, the EU-US Data Privacy Framework. Those in (4) to (6) happen only when you use the feature and are based on your consent (Art. 49(1)(a) GDPR). Stripe (Ireland), Apple Distribution International (Ireland) and the remaining services (Supabase self-hosted, Hetzner Germany, OpenRouteService Germany, EU VIES, Nominatim UK under Art. 45 adequacy) are based in the EU or the UK. Weather forecasts are calculated on our own server (see Section 7).
AI Agent Access: If you connect a third-party AI agent via the optional Agent access feature (Section 7), the data the agent requests is transmitted to the AI provider you choose to operate it. Where that provider is located outside the EU/EEA (for example in the USA), this is an international transfer that you initiate by connecting the agent and that is based on your explicit consent pursuant to Art. 49(1)(a) GDPR. Because you select the provider, you are responsible for choosing one whose level of data protection you consider adequate.
9. Data Processing Agreements
Where required under Art. 28 GDPR, we have entered into Data Processing Agreements (Auftragsverarbeitungsverträge / AVV) with our third-party data processors, including Stripe, Hetzner and Cloudflare. RevenueCat (United States) receives an app user ID and the purchase status for subscriptions bought in the iOS or macOS app. Apple is not our processor for App Store purchases: it acts as the seller of record and as an independent controller for the payment. Our Supabase infrastructure is self-hosted on a server in Germany (Hetzner Cloud, Nuremberg), minimizing third-party data transfers.
10. Cookies and Local Storage
We use browser localStorage, sessionStorage, and IndexedDB to save your data locally. A device identifier is stored to enable multi-device synchronization when you choose to sign in. An encryption salt is stored in localStorage to protect sensitive data at rest. sessionStorage is used for temporary data such as form drafts, conflict resolution history, and dismissed alerts — this data is automatically cleared when you close the browser tab. To enforce free-tier project limits for visitors who are not signed in, a single first-party cookie that stores only a usage counter (no personal data) is set and may persist up to 10 years. No third-party cookies are used.
11. Children's Privacy
Cine Power Planner is not directed at children under the age of 16. At sign-up, every user must actively confirm they are at least 16 years old (Art. 8 GDPR). We do not knowingly collect personal data from children under 16. If you become aware that a child under 16 has provided us with personal data, please contact us at support@cine-power-planner.com. If we become aware that we have collected personal data from a child under 16, we will take steps to delete such data promptly. Parents or legal guardians who believe their child has registered an account without their consent may request immediate account deletion via the same address.
12. Automated Decision-Making
Cine Power Planner does not use automated decision-making or profiling as defined by Art. 22 GDPR. No decisions with legal or similarly significant effects on you are made based solely on automated processing of your personal data.
13. Optional AI Features (Bring Your Own Key)
Cine Power Planner offers optional AI-assisted features that are disabled by default: parsing rental quotes, reading call sheets, reading expense receipts (including their line items) and incoming invoices, importing gear lists, drafting checklists, and written answers from the in-app assistant (Mr Watts). They only become active after you explicitly enable them in the settings and acknowledge a consent notice (legal basis: your consent, Art. 6(1)(a) GDPR). To use an online provider you connect your own API key for the provider of your choice; an on-device model needs no key. Each feature has its own switch. You can withdraw this consent at any time with effect for the future by disabling the features or removing your key in the settings.
When you actively use an AI feature, the content you submit (for example quote text, a call sheet, a gear list or a receipt image, which may itself contain personal data) is transmitted directly from your device to the provider you selected — Anthropic PBC (Claude), OpenAI (GPT), or Google (Gemini) — under your own account and contract with that provider. The chosen provider’s own privacy policy and terms apply to this processing; we have no access to your provider account, and the AI request itself does not pass through and is not stored on our servers. Sole technical exception: requests to OpenAI are relayed in-flight through our server because browsers cannot reach the OpenAI API directly — the content and your key are forwarded immediately and are never stored; only the status code of the reply is logged. Where the provider is located outside the EU/EEA (for example in the USA), this is a transfer to a third country that you initiate (see Section 8). The results returned by the provider (for example extracted quote items or receipt fields) — and, for receipt scans, the receipt file you attach — then become part of your normal application data: they are stored locally on your device and, if you have enabled cloud synchronization, also on our servers as described in Sections 3 and 5. Alternatively, in the native apps you can run an on-device model (Gemma), in which case no content leaves your device for the AI processing itself.
In-app assistant (Mr Watts): With AI answers on, each question you ask is sent to the provider you selected together with the earlier questions and answers of the same session, matching excerpts from the help texts and the device catalogue of the app, the name of the screen you are on and the name of the open project. If your question is about a problem, basic app details are added: app version, platform, whether you are online, whether you are signed in and whether storage is persistent. The assistant says so before you ask. With AI answers off, the assistant only searches the help texts on your device and sends nothing.
Your API keys are encrypted on your device with your account password (AES-256-GCM; the password never leaves your browser) before being stored — our server only ever holds ciphertext it cannot decrypt. You can delete stored keys at any time in the settings, which also removes the server-side ciphertext.
14. Contact Information
For any privacy-related questions or to exercise your data protection rights, please contact us through the Help section in the application, email support@cine-power-planner.com, or write to the postal address listed under Section 2.
- Email: support@cine-power-planner.com
- In-App: Help section within Cine Power Planner
We aim to respond to data protection requests within 30 days as required by Art. 12(3) GDPR.
Identity Verification: Before fulfilling requests for access, rectification, erasure, or data portability, we may need to verify your identity to prevent unauthorized disclosure — typically by asking you to submit the request from the email address associated with your account. This additional processing is based on Art. 6(1)(c) GDPR in conjunction with Art. 12(6) GDPR.
15. Changes to This Policy
We may update this Privacy Policy from time to time. We will notify you of any significant changes by updating the "Last Updated" date at the top of this policy. Please review this policy periodically.
We encourage you to review this Privacy Policy periodically. Your continued use of the Service after update constitutes acceptance of the revised policy.
