Privacy policy

This privacy policy informs you pursuant to Art. 13 GDPR about how personal data is processed when you use the VLOGLog website, web app, and native app.

Controller

Sven Schöffel, Badener Str. 5, 91126 Schwabach, Germany. Email: sven@socialwarrior.de

No data protection officer is appointed, as the legal requirements under Art. 37 GDPR are not met.

Scope

This policy applies to your use of VLOGLog as a website, web app, Progressive Web App (PWA), and native app (iOS/Android), including registration, login, optional on-device biometrics (Face ID / fingerprint) in the native app, time logging, speech transcription, GPS, PreRec, shotlists/notes, team features, profile photos, optional Pro + Teams purchase (Stripe), and export. It does not apply to external websites we link to.

Website access and server log files

When you access VLOGLog, the hosting provider automatically processes technical access data (e.g. IP address, date and time of access, requested URL, referrer URL, browser and operating system information). The purpose is technical provision, stability, and security of the website. Legal basis: Art. 6(1)(f) GDPR (legitimate interest in secure operation). Data is typically deleted by the hosting provider after a short period.

Categories of data processed

  • Solo mode account data: email address, display name, authentication data (password stored hashed only via Supabase Auth)
  • Team mode account data: username, display name, credentials
  • Timestamp logs: person, action, format, location, custom fields, timestamp, author, optional marker color, optional speech transcript, optional GPS data (coordinates, accuracy, shop/street name, location note, pin color). The person field and free text may include third-party names (e.g. cast/crew) — that is personal data for which you are responsible
  • Project and team information: project name, project settings, group membership, invite links (no fixed expiry, can be deactivated), shotlists, team briefings, private participant notes, shotlist templates, and optional shared backgrounds
  • Technical session data: login session, session token, device/browser information as part of authentication
  • Locally stored data: language preference, login preferences, appearance, background media, PWA status, and in the native app a Face ID unlock flag (see "Local storage" and "Face ID")
  • Anonymous website statistics (no consent required): aggregated page views on public marketing pages, coarse country (ISO country code derived at the edge, no IP address stored), and calendar day — without accessing your device
  • Optional detailed website statistics (consent only): visited page path, coarse country, visit timestamp, selected site language, device type (mobile/tablet/desktop), browser and operating system family (categories only, no full user agent), referring website (domain only), and campaign parameters (utm_source, utm_medium, utm_campaign)
  • PreRec audio (optional): 5–30 seconds of audio before and after each log (default 30+30), stored locally on the device only (IndexedDB), only when PreRec is active and microphone permission is granted
  • Speech transcript (optional, native app only): dictated text stored as a log and synced with the project — we do not store the dictation audio itself
  • Location data (optional): GPS coordinates and accuracy from the device plus derived place names (shop, street) via map services when GPS is on or you search for / pick a place
  • Device biometrics (optional, native app only): VLOGLog does not store biometric data (no face, fingerprint, or template). The operating system checks Face ID or device biometrics locally; the app only receives success or cancellation
  • Payment data for an optional Pro + Teams purchase: email address, username, internal user ID, and Stripe customer and checkout IDs that we store. Card details, bank details, and the payment itself are collected and processed solely by Stripe — not on our servers
  • Profile photo (optional) and team backgrounds (optional): image or video files. Avatars sit at a public storage URL that can include the username; team backgrounds at a public URL with a project ID. Anyone who knows or guesses the URL can retrieve the file without signing in

Purposes and legal bases

We process personal data for the following purposes and on the following legal bases:

  • Provision and performance of the service (registration, login, time logging, export, team collaboration, optional Pro unlock): Art. 6(1)(b) GDPR (contract performance or pre-contractual measures)
  • Technical provision and security of the website: Art. 6(1)(f) GDPR (legitimate interest in operation and security)
  • Storage of login sessions and technically required settings: Art. 6(1)(b) and/or (f) GDPR
  • Storage of user preferences (language, appearance, login preferences): Art. 6(1)(f) GDPR (legitimate interest in user-friendly operation)
  • Compliance with legal retention obligations, where applicable: Art. 6(1)(c) GDPR
  • Anonymous aggregated website statistics on public marketing pages (page views and coarse country), without accessing your device: Art. 6(1)(f) GDPR (legitimate interest in measuring reach and optimising operation)
  • Detailed website statistics on public pages, only if you consent via cookie settings: Art. 6(1)(a) GDPR
  • Optional speech transcription in the native app (dictation as a log): Art. 6(1)(a) GDPR (consent by enabling the feature and granting microphone/speech-recognition permission)
  • Optional location tagging of logs (GPS, place search, map): Art. 6(1)(a) GDPR (consent by enabling the feature and granting location permission)
  • Shotlists, team briefings, private notes, and templates for set organisation: Art. 6(1)(b) GDPR
  • Optional native-app unlock via device biometrics (Face ID / fingerprint): Art. 6(1)(a) GDPR (consent by using the feature and the system prompt) and Art. 6(1)(b) GDPR for the persisted login session; password remains an alternative
  • Processing optional one-time payments for Pro + Teams via Stripe: Art. 6(1)(b) GDPR; statutory retention of payment and accounting records: Art. 6(1)(c) GDPR
  • Keeping project logs after a login account is removed, where the team still needs the production record: Art. 6(1)(b) GDPR vis-à-vis remaining members and/or Art. 6(1)(f) GDPR (legitimate interest in complete set logs), until logs or the project are deleted

Recipients and processors

We use the following service providers as processors pursuant to Art. 28 GDPR. Data processing agreements (DPAs) are in place. Stripe is not a processor; it is an independent controller for the payment flow (see “Payments”).

  • Supabase Inc. (646 Harrison St, San Francisco, CA 94107, USA) — database, authentication, and storage of application data. This project’s database is hosted in the EU (Ireland). Privacy policy: supabase.com/privacy
  • Cloudflare Inc. (101 Townsend St, San Francisco, CA 94107, USA) — hosting and delivery of the web app. Privacy policy: cloudflare.com/privacypolicy

Further recipients for optional features

If you use the following features, data is sent to independent controllers or services. We trigger maps and speech recognition only when you act. Payments only if you start checkout. Device backups are controlled by the operating system:

  • Komoot Photon (photon.komoot.io) — place search and reverse geocoding. Search text or coordinates, a coarse language setting, and typically your device IP (HTTPS request) are transmitted. Privacy policy: komoot.com/privacy
  • OpenStreetMap Nominatim (nominatim.openstreetmap.org) — reverse geocoding. Coordinates and typically your device IP are transmitted. Privacy policy: osmfoundation.org/wiki/Privacy_Policy
  • CARTO (basemaps.cartocdn.com) — street and dark map tiles. Esri (server.arcgisonline.com) — satellite imagery. Requested tiles can reveal an approximate map area. CARTO privacy: carto.com/privacy; Esri: esri.com/privacy
  • On-device / OS speech recognition (Apple or Google), native app only: audio is converted to text. If on-device recognition is unavailable for the selected language, the operating system may use cloud speech recognition. Apple’s or Google’s privacy terms then apply.
  • Stripe Payments Europe Ltd. and/or Stripe, Inc. (USA) — only if you buy Pro + Teams. We transmit email address, username, and technical checkout metadata (user ID). Stripe collects card details in Checkout; we do not store full card numbers. Stripe is an independent controller for the payment. Privacy policy: stripe.com/privacy
  • Google LLC (Android) or Apple (iOS) — device backups. The Android app currently allows system backups (Auto Backup). The OS may copy local app data (session, settings, local logs, PreRec audio) to your Google account if device backup is on. On iOS, a device backup may include local app data. We do not trigger this ourselves; Google’s or Apple’s terms apply.

Transfers to third countries

When using the services listed above, personal data may be transferred to the USA or other third countries. For Supabase and Cloudflare, transfers are based on EU Standard Contractual Clauses (Art. 46(2)(c) GDPR) and the data processing agreements. The application database is in the EU (Ireland); the provider is US-based, so support or platform processes may still involve a third country. For Stripe, transfers to the USA may rely on the EU-US Data Privacy Framework (Art. 45 GDPR) and/or Standard Contractual Clauses (Art. 46 GDPR). Photon, Nominatim, CARTO, Esri (satellite tiles), OS speech recognition, and device backups (Google/Apple) may also process data outside the EU, depending on the provider; this happens only if you use the respective feature or device backup is enabled.

Payments (Stripe)

You can optionally unlock Pro + Teams as a one-time payment via Stripe Checkout (no in-app subscription). We send Stripe your email address, username, and an internal user ID as checkout metadata, then store Stripe customer and checkout IDs on your account to map Pro status. We do not enter card details ourselves. Legal basis: Art. 6(1)(b) GDPR. Stripe is an independent controller for payment processing; Stripe’s terms and privacy policy also apply. Purchase is voluntary; without it you can use VLOGLog within the free scope.

Retention period

  • Account and profile data (login, email, display name, avatar): until you delete your account in Settings or we delete it on request (sven@socialwarrior.de)
  • Timestamp logs (including author name, transcript, and GPS) plus project data, shotlists, briefings, and templates: until deleted by you, a team administrator, or when the associated project is deleted. If only the login account is removed, logs usually remain in the project so the team can keep the production record
  • Server log files: short-term by the hosting provider, typically a few days up to 30 days
  • Locally stored data: until deleted in the browser, on logout, or when uninstalling the PWA or native app; copies may also remain in an OS backup (Android Auto Backup / iOS backup) until you delete that backup
  • Aggregated website statistics: up to 12 months, then deleted automatically
  • Detailed website statistics (with consent): up to 24 months, then deleted automatically
  • PreRec audio: until the associated log is deleted or local app/browser data is cleared; disabling PreRec stops new recordings, existing clips remain until the log or local data is deleted
  • Private participant notes: until you delete them or your account is removed
  • We do not store requests to Photon, Nominatim, CARTO, Esri, or OS speech recognition; their own logs are governed by those providers
  • Face ID unlock flag: stored locally in the native app for the current app session (sessionStorage) only; removed when the app is closed, you sign out, or you uninstall. VLOGLog does not store biometric templates
  • Payment and Stripe records: for as long as commercial and tax law requires (in Germany typically up to 10 years under the Fiscal Code / Commercial Code). We cannot fully erase the Stripe customer account where Stripe must retain it by law

Account deletion

You can delete your account yourself in Settings (General). Alternatively, email sven@socialwarrior.de. We remove login and authentication, profile data, and the profile photo. Private participant notes, templates you own, and internal Pro status go with the account. Timestamp logs (author name, GPS, transcript, names you entered) usually stay in the project until deleted there or the project is removed — this is intentional so remaining members keep the set record. You can delete or export logs yourself before account deletion. Where statutory retention (payments) applies, we restrict processing instead of full erasure.

Local storage (browser/PWA)

VLOGLog stores data locally on your device as a Progressive Web App (PWA) and native app: localStorage and sessionStorage for login session, language, appearance, form preferences, local log backups, and in the native app a Face ID unlock flag; IndexedDB for background media, PreRec audio, and settings. This data remains on your device and is not automatically transmitted to us unless you actively send it through app features (e.g. log synchronisation). PreRec audio and biometric data are explicitly not synchronised. On Android, an active device backup (Auto Backup) may send local data including PreRec and the session to Google; on iOS, an iCloud/iTunes backup may include local app data. You can delete local data via browser settings, by uninstalling the app, or by turning off device backup.

Profile photos and team backgrounds

An optional profile photo is stored in a public bucket. The URL includes the username (pattern: avatars/{username}.jpg) and can be fetched without signing in if someone knows or guesses the address. Optional team backgrounds (image or short video) are also public under a URL with a project ID. Do not upload files that should not be retrievable this way. After account deletion we remove the avatar object; cached copies (CDN/browser) may linger briefly.

Microphone and PreRec recordings

When you enable PreRec, VLOGLog uses the microphone to keep a local rolling buffer (in addition to optional speech transcription). When you log an entry, a clip of 5–30 seconds before and 5–30 seconds after the log (default 30 seconds each) is attached to that entry. Recordings are stored locally in IndexedDB on your device only — they are not uploaded to our servers or Supabase, not shared with the team, and can only be played and exported locally as a ZIP. An Android device backup may include local clips (see Google as recipient). Legal basis: Art. 6(1)(a) GDPR (consent by activation and microphone permission). You can disable PreRec at any time; delete stored recordings by deleting the log or clearing local app data.

Face ID and device biometrics (native app only)

In the installed iOS or Android app you can optionally unlock an existing login session with Face ID or device biometrics. This is a lock on the device, not a new sign-in with the server. VLOGLog calls the operating system’s biometrics API and only receives whether the check succeeded or was cancelled. Face, fingerprint, or biometric templates do not leave the Secure Enclave / protected area of the device and are not sent to us, Supabase, or anyone else. Legal basis: Art. 6(1)(a) GDPR (voluntary use including the system prompt) for the unlock; Art. 6(1)(b) GDPR for the stored session. You can always use your password instead. After a full sign-out the session ends; Face ID cannot sign you in again without a password. You can disable Face ID on the device or uninstall the app.

Speech transcription (native app only)

Speech-log mode is available only in the installed iOS/Android app, not on the website or PWA. While you hold the microphone button, your speech is converted to text by the operating system’s speech recognition. VLOGLog does not store this dictation audio; only the recognised text is saved as a log field (transcript) and typically as the action text. That text is synced to Supabase like other logs and is visible to project team members. Recognition is on-device when available; if on-device recognition is not available for the selected language, the operating system (Apple or Google) may use cloud speech recognition. Legal basis: Art. 6(1)(a) GDPR. You can hide speech-log mode in settings; existing transcripts remain until the log is deleted.

GPS and place search

GPS is a personal, optional setting. When it is on and you grant location permission, a new log can receive coordinates and accuracy from the device. You can also enter places via search or pick them on the map — including without a GPS fix. To resolve addresses, the app sends coordinates or the search query to Photon (Komoot) and Nominatim (OpenStreetMap); your device IP is also sent to those services. The map loads tiles from CARTO and, for satellite view, from Esri. Stored on the log are coordinates, accuracy, shop/street name, an optional location note, and pin color. These fields sync with the log to Supabase. Team leaders and platform admins can read and export all project logs including GPS; ordinary members see others’ logs only if “export all logs” is enabled for the group, otherwise only their own. There is no continuous background tracking; a fix is created only when logging or when you search or pick on the map. You can export places as GPX or Places CSV. Legal basis: Art. 6(1)(a) GDPR. Turning GPS off stops new device fixes; already stored location data remains until the log is deleted.

Cookies and local storage

VLOGLog uses technically necessary storage (session storage, localStorage) for login, session management, optional Face ID unlock in the native app, language, and your cookie preferences. The link in the confirmation email verifies your address and creates a login session on the device that opens the link. Optional detailed analytics are stored only if you enable them in cookie settings; anonymous aggregated reach statistics run server-side without accessing your device. They do not use third-party advertising or tracking cookies. The “Marketing” category in cookie settings is reserved and currently unused — even if you choose “Accept all”, we do not set marketing cookies or run personalised advertising.

Anonymous reach statistics

To measure reach on public marketing pages, we count anonymous page views server-side: the page path, a coarse country code derived from your connection at our hosting provider (Cloudflare; we do not store IP addresses), and the calendar day. This data is stored only as daily counters, without cookies or storage on your device. Legal basis: Art. 6(1)(f) GDPR (legitimate interest). You may object to this processing on grounds relating to your particular situation (Art. 21 GDPR) by contacting us.

Detailed website statistics (optional)

If you consent in cookie settings, we additionally record anonymous visits to public marketing pages with more context: page path, coarse country code, visit time, site language, device type, browser and operating system family (categories only), referring website (domain only), and optional campaign parameters from the URL. This helps us understand reach, origin, and usage. You can withdraw consent at any time via cookie settings; no detailed statistics are collected after withdrawal. We do not merge this data with your account or create marketing profiles.

Data security

We implement appropriate technical and organisational measures to protect your data, including encrypted transmission (TLS/HTTPS), access controls via Supabase Row Level Security (RLS), and role-based permissions for team features. Keep team invite links and password-reset links created by team leaders secret — anyone who has them can join the team or take over that account. Profile photos and team backgrounds are reachable via public URLs (see above). Absolute security cannot be guaranteed for internet transmission.

No automated decision-making

No automated decision-making, including profiling within the meaning of Art. 22 GDPR, takes place.

No advertising tracking

VLOGLog does not use advertising trackers, social media plugins, or third-party analytics services such as Google Analytics. Anonymous aggregated reach statistics and optional first-party statistics are described above; detailed statistics require your consent.

Your rights

You have the following rights vis-à-vis the controller:

  • Access to your stored data (Art. 15 GDPR)
  • Rectification of inaccurate data (Art. 16 GDPR)
  • Erasure of your data (Art. 17 GDPR) — in Settings or by emailing us; login and profile are removed, project logs usually remain (see “Account deletion”)
  • Restriction of processing (Art. 18 GDPR)
  • Data portability (Art. 20 GDPR) — you can export logs, GPS (GPX/Places CSV), and a local PreRec ZIP in the app. A complete machine-readable export of all account, payment, and project data is not built into the app; contact us for that
  • Objection to processing (Art. 21 GDPR) where based on Art. 6(1)(f) GDPR
  • Withdrawal of consent given (Art. 7(3) GDPR) with effect for the future
  • Complaint to a supervisory authority (Art. 77 GDPR)

To exercise your rights — including access, deletion of the login account, and objection to reach statistics — email sven@socialwarrior.de. We will respond without undue delay, at the latest within one month.

Right to object

Where we process data on the basis of Art. 6(1)(f) GDPR (legitimate interest), you have the right to object at any time on grounds relating to your particular situation. We will then no longer process the data unless we can demonstrate compelling legitimate grounds.

Right to lodge a complaint

You have the right to lodge a complaint with a supervisory authority, in particular in the member state of your habitual residence, place of work, or place of the alleged infringement. For us: Bavarian State Office for Data Protection Supervision (BayLDA), Promenade 18, 91522 Ansbach, Germany, www.lda.bayern.de

Changes to this privacy policy

We may update this privacy policy when the legal situation, service, or data processing changes. The current version is available on this page. Material changes will be communicated in an appropriate manner.

Last updated: 24 August 2026

Legal notice

← VLOGLog