Privacy
Last updated: 12 October 2026
Website language
Your selected website language is stored only in this browser. You can change it in the header; this preference is not sent to the statistics backend.
Who is responsible?
Wolfgang Vieregg, Gorgasring 36, 13599 Berlin, Germany. For privacy questions or deletion requests, contact me@wolfgangvieregg.com.
Local worklog storage
LumeWorklog stores your worklogs and notes locally. Connecting an Apple calendar is optional and read-only. No worklog entries, titles, notes, project or person references, calendar content or reports are uploaded to this website or included in statistics. You control exported reports and backups. Backup files are not additionally encrypted by the app; keep external copies secure.
Optional AI features
When you choose OpenAI in Settings → AI and start an AI action, your input text, prompt and selected sources, including visible time boundaries and project, tag and person references, are sent directly to OpenAI using your API key. Audio stays on your Mac. The key is stored in the macOS Keychain and excluded from worklog backups. This website does not receive these AI requests. The Local to this Mac option processes text on your Mac after its model download. LumeWorklog does not switch providers automatically.
Optional app statistics
Technical statistics are enabled by default for new installations. A saved opt-out remains in effect. While enabled, we receive a random UUID for your installation, a session UUID, an event UUID, the event type, app version/build and active foreground seconds. The first launch with statistics enabled sends an activation event; later launches and foreground usage are counted separately. This does not identify your Mac account or your name. The UUID is pseudonymous, not a claim of complete anonymity.
The purpose is to understand test usage: how many installations start LumeWorklog, which versions they run and how much foreground use they receive. Statistics are optional and do not restrict app features. Turn them off at any time in LumeWorklog → About LumeWorklog; future events stop and unsent queued events are removed. To request deletion of earlier events, email us the selectable installation ID shown in About.
Received technical events are retained for up to 90 days. The app sends them only to lumeworklog.com. No advertising services or third-party analytics SDKs are used. The connection necessarily exposes an IP address to the hosting server, but the app-statistics database does not store it with app events. See every field and an example request.
Website and download statistics
A small script on this site records page views without cookies, browser storage or a persistent visitor identifier. The server stores the page, time, referring domain (without query strings or page paths), broad browser/operating-system family and a shortened network address (IPv4 /24 or IPv6 /48). If the hosting server itself provides a two-letter country code, we store that code; we do not derive location from the shortened network address or call a third-party geolocation service. We also store only the primary browser language, not the complete locale header. Do Not Track and Global Privacy Control are respected. Blocking JavaScript prevents page-view collection.
The download endpoint counts requests for a published archive, together with the immediate referring domain and the same coarse technical fields. This is not proof of a completed download or installation. Direct archive downloads and update downloads can bypass this counter. Statistics are retained for up to 90 days and are visible only in the password-protected operator dashboard.
The purpose is operating and improving this small website and understanding where interest in the app comes from. The legal basis is our legitimate interest (Article 6(1)(f) GDPR). You may object to processing based on legitimate interests, including by contacting us; technical browser opt-out signals are also respected.
Server-log analysis
We analyse existing Apache or nginx access logs when the private operator dashboard is opened to understand referring domains, requested public pages, direct archive requests and HTTP errors. The live view processes recent log records in memory for that page response and reads the files again when the dashboard is reopened or reloaded. It uses request times, shortened IPv4 /24 or IPv6 /48 networks, referring domains, broad browser and operating-system families, HTTP statuses, logged response sizes and short campaign labels from utm_source, utm_medium and utm_campaign. Full IP addresses, raw browser strings, full referring URLs and other query parameters are not retained in the live statistics. Hosting log retention determines the available history; the dashboard considers at most the last 90 days. Optional operator-run archive imports are stored separately for up to 90 days. Log statistics are not linked to app installations, do not send notifications and do not use external geolocation services. Standard access logs do not record Do Not Track or Global Privacy Control headers, so those preferences cannot be recovered from historical logs.
Optional Google Analytics
Google Analytics is loaded only after you choose “Allow analytics”. If you decline, no Google Analytics script is loaded and no measurement request is sent to Google. Do Not Track and Global Privacy Control also prevent it from loading. Our separate first-party statistics are described above.
With consent, Google Analytics measures page views, sessions, engagement and download clicks using pseudonymous browser identifiers in _ga cookies. Google receives technical browser and device information and the connection IP address. We send page addresses without query strings or fragments and reduce the referring address to its origin. A download click does not prove a completed download or installation. Advertising personalization and Google signals are disabled. No app worklogs or calendar data are sent to Google Analytics.
Your choice is stored in this browser for up to 180 days. Analytics cookies also expire after at most 180 days without automatic renewal. You can withdraw consent using “Analytics preferences” in the footer; future Google Analytics collection stops and this site’s Analytics cookies are removed. Withdrawal does not erase previously collected data. Google Ireland Limited provides the service; processing may also take place outside the EU, including in the United States.
How Google uses information from sites that use its services
Hosting and security
The hosting server necessarily processes connection information including IP addresses, request time, requested URLs and browser information. Separate access and error logs may be kept to operate and protect the service. They are distinct from the limited statistics described above. The hosting provider processes this information as part of delivering the site. Rate limiting uses short-lived keyed hashes rather than storing full addresses in the statistics database.
The private operator area uses a necessary, secure, HTTP-only session cookie for login. It is not used to track ordinary website visitors. No worklog account or website registration is required to download the app. Fonts and images are served by this website.
Operator notifications
The operator may enable Pushover notifications in the password- and two-factor-protected backend. Each recorded public LumeWorklog pageview may trigger one notification containing only its known page path and server receipt time in UTC, without query strings or fragments. Reloads and returns from the browser history cache count as new views; duplicate reports of the same view do not. Do Not Track and Global Privacy Control remain respected. A new app session reported through Spark Statistics may then trigger one notification containing only a fixed app-start category and the app version/build. Each counted request through the download endpoint may also trigger one notification containing only a fixed download category and the requested app build number; this does not confirm a completed transfer. Repeated update checks in the same session and the separate optional app-event statistics do not trigger notifications. No visitor IP address, installation UUID, session ID, alias, name or worklog data is included. Pushover is a separate notification service; its own privacy policy applies.
Updates
Sparkle checks for updates automatically every time the app starts and continues scheduled checks while it runs. These automatic checks are always enabled. You can also check manually. It retrieves update information and archives from lumeworklog.com. Each update check also sends the client version/build, a random persistent installation ID, a session ID, a request ID, cumulative running and foreground seconds, current session seconds, the number of app starts and the date those counters began. The installation ID is shared with the app statistics and is not a hardware serial number. These fields are sent with every manual or automatic update check, independently of the optional app-event statistics setting. The private Spark Statistics dashboard shows the latest counters and update-request history; requests are retained for up to 90 days. Sleep time is excluded, and worklogs and calendar data are never sent. Sparkle system-profile reporting remains disabled. You confirm installation yourself.
Website feedback
The feedback form sends the category, message, optional email address, optional attachments and selected website language to our server when you choose “Send feedback”. These details and the receipt time are stored in a separate private database and can only be viewed or downloaded in the protected operator backend. They are used to review your feedback and, if you provide an email address, to reply. Feedback is not published or linked to app installations or worklogs. Please do not include passwords or sensitive information.
The form uses Google reCAPTCHA v3 to prevent automated spam. Google is contacted only when you choose “Send feedback”. Google processes connection and browser information, including your IP address and browser interactions, and may set a necessary security cookie. Our server checks Google’s result before accepting feedback. Your message, email address and attachments are not sent to Google for this check. Google’s privacy policy and terms apply. You can email us instead if you do not want to load reCAPTCHA.
Additional request limits and a hidden spam field protect the form. Short-lived keyed hashes of the connection address enforce these limits; the feedback record does not contain the address. Expired protection records are removed on subsequent feedback requests and by the maintenance command. Uploaded files are checked for allowed type and size, stored outside the public website and downloaded only after operator authentication.
A new submission may send the operator a Pushover notification containing only a fixed notice and a link to the private inbox. The message, email address, filenames and attachments are not included. Feedback is kept while needed to review and respond; the operator can remove it together with its attachments in the backend. You can request deletion using the contact details below. Private backups are managed separately.
Google Privacy Policy · Google Terms of Service
Contact and your rights
If you email us, we process your address and message to respond. Please do not send passwords or sensitive worklog data. Subject to the applicable conditions, you may request access, correction, erasure, restriction or portability of personal data; withdraw consent; object to processing; and complain to a supervisory authority, including the Berlin Commissioner for Data Protection and Freedom of Information. Contact details appear above.
