Skip to content
RogsApps.
Apps
  • Dock UltimateConfigurable docks for every display.
  • All apps ›
Support
DE
Apps
  • Dock UltimateConfigurable docks for every display.
SupportFAQBugs & ideas

RogsApps · Dock Ultimate

Privacy notice

What data the website and app process, and your rights.

Dated 4 November 2026

Contents

  1. Controller
  2. Scope
  3. Visiting the website
  4. Audience measurement without cookies
  5. Language and security cookie
  6. Purchase through Stripe and Link
  7. Purchase records, invoices and credit notes
  8. Optional processing
  9. Trying Dock Ultimate in your browser
  10. Support form: information processed
  11. Delivery, confirmation and abuse prevention
  12. Purposes and legal bases
  13. Retention and erasure
  14. App version covered by this notice
  15. Local app settings and working data
  16. Optional weather and calendar tiles
  17. Windows, previews and permissions
  18. Activation and status of purchased licenses
  19. Trial period and device identifier
  20. Retention of license and trial data
  21. Update checks and installation
  22. App support contact and local minimal report
  23. AI assistants and automation
  24. Email, downloads and external links
  25. Recipients and international processing
  26. Your rights
  27. Your right to object
  28. Version and related information

01Controller

RogsApps is provided by Christian Rogalski, c/o POSTFLEX PFX-216-158, Emsdettener Straße 10, 48268 Greven, Germany.

General questions: [email protected]. Technical help: [email protected]. Questions about issued licenses and billing: [email protected].

  • Contact by email
  • Technical support
  • Licenses and billing
Back to contents ↑

02Scope

This notice explains the RogsApps website, its browser simulator and support forms, and the identified features of the installed app. An email or a download is a separate connection initiated by you.

Back to contents ↑

03Visiting the website

Page requests process your IP address, time, requested path and HTTP headers to deliver content and prevent attacks. RogsApps uses Cloudflare as a network service in front of server infrastructure hosted by Hetzner. Cloudflare may also process the contents of submitted requests.

The support service does not keep access logs of individual requests. For rogsapps.com and download.rogsapps.com, the web server writes only the shortened log described in the section “Audience measurement without cookies”; it does not store full IP addresses. Limited technical error logs help resolve faults; for errors on these two hosts, request contents and error details are omitted from them. They are capped at two files of up to 5 MiB each per service. Form contents, confirmation codes, credentials and license keys must not be included in those logs. Cloudflare processes its own security and connection data under its provider policies.

The website includes no analytics or advertising scripts, tracking pixels, external fonts or embedded third-party videos. Images, scripts and font files are served by the website itself. Entered data is not used for advertising. It does not currently record your activity through session replays.

Back to contents ↑

04Audience measurement without cookies

In short: to see how many people the website and downloads reach, my server evaluates the information your browser sends with every request anyway. A shortened log without full IP addresses is kept for less than seven days; it is turned into daily totals without identifiers of individual visitors. From the sales start, trials and purchases are added as daily totals; they are not linked to visits. There are no cookies, no measurement script and no third-party provider. The details follow in the paragraphs below.

For rogsapps.com and download.rogsapps.com, RogsApps counts page views and downloads on the server. For each request to these hosts, the web server writes a shortened log entry: time, status code, response size and duration, host and request method, the requested page or download file from a fixed list, the network of the IP address instead of the full address (for IPv4 the first three number blocks, for IPv6 the first 48 bits), a referrer category (direct, internal, Google, Bing, DuckDuckGo or other), the country code Cloudflare assigns to the request, and a browser category (Safari, Firefox, Chrome, Edge, other, automated client or update check). Full IP addresses, the full user agent, query parameters, cookies and other headers are not written to this log. Update checks and update downloads of RogsApps apps also appear in this form in the log.

Every 15 minutes, an evaluation service on the same server turns this into daily totals: views and estimated visitors per product, page, referrer category and country, and downloads per product, version and source (website or update). To estimate visitors, it combines network and browser category with a random key that is generated anew for each day and each run and is held only in memory. The key and the values derived from it are discarded when the run ends and are not stored. From the sales start, trials and purchases are added as daily totals. For this, the service then reads, read-only, just two values per entry from the databases of the license and order service: for trials of the respective product, the time and channel of the start; for orders, the time and status. It does not read email addresses, order, license or payment identifiers or any other fields. It holds these individual values in memory only during the run; only daily totals per product are stored: trials per channel, started orders, purchases and license revocations. It does not link them to the log or to the visitor estimates; both appear only side by side as daily totals. Visitor figures are estimates, not counted people.

The shortened log is not anonymous: until it is erased, network and browser category can link requests over several days, especially when only a few people from one network visit the website. It is therefore treated as personal data. The log and the daily totals are stored on the RogsApps server hosted by Hetzner. Only the web server, the evaluation service and server administration can access the log; only the operator sees the daily totals in the admin interface. The evaluation service runs without network access, sends nothing to third parties and does not combine the log with support requests, licenses or orders.

The shortened log is erased in less than seven days: before each evaluation, the evaluation service deletes every log file whose oldest entry has reached six days and 23 hours, and the web server independently removes completed log files after 144 hours. If the service fails, erasure may be delayed. Daily totals are kept for the current calendar day and at most the 730 preceding calendar days so that trends can be compared with the previous year, and are then deleted. Cloudflare processes its own connection data separately under its own rules (see “Recipients and international processing”).

The legal basis is Article 6(1)(f) GDPR. My legitimate interest is to understand how many people the website and downloads reach, roughly where they come from and how visits, downloads, trials and purchases relate to one another, so that the website, products and spending can be aligned accordingly. This is weighed against your interest in not being observed during your visit. The measurement is limited so that, in my assessment, your interest does not prevail: no cookies, no scripts and no third-party provider for the measurement, no full IP addresses, no visitor key stored beyond the run, erasure of the log in less than seven days and afterwards only daily totals without identifiers of individual visitors.

For the measurement, the website stores nothing on your device and reads nothing from it: no cookies, no localStorage, sessionStorage or IndexedDB, no tracking pixels and no measurement script. Only information that your browser or the app sends to the server with every request anyway is evaluated. There is therefore no consent prompt for the measurement and no browser switch such as an opt-out cookie.

You may object to the measurement at any time (see “Your right to object”) by writing to [email protected]. Because the log contains neither names nor full IP addresses, I can identify your entries only if you provide additional information, such as the time period, browser and the network of your IP address (Article 11(2) GDPR). I then delete matching entries early. Daily totals already formed contain no identifiers of individual visitors.

Back to contents ↑

05Language and security cookie

The page address contains the language: “/de/” for German and “/en/” for English. Language links change the address without saving your selection. The entry address without a language path uses the browser language.

Opening a support form causes the service to set the “support_csrf” cookie. It protects requests against other websites, applies only to “/support/v1/” and expires after 20 minutes. It contains a security value, not an email address or report text. It is restricted with Secure, HttpOnly and SameSite=Strict.

The security cookie is used solely to protect the requested form. The exemption for strictly necessary access to terminal equipment under section 25(2)(2) TDDDG is relied on for this purpose. Deleting the cookie does not delete a report already stored by the support service. The website does not store a persistent language choice, analytics identifier or consent identifier in localStorage, sessionStorage or IndexedDB.

  • § 25 TDDDG
Back to contents ↑

06Purchase through Stripe and Link

Purchasing is not currently enabled on this website. This section and the next describe purchases from the start of sales; no data is processed for them before then.

The seller is Link, the merchant of record of our payment provider Stripe. Merely visiting a RogsApps page loads neither Stripe scripts nor a Stripe payment form.

Before buying you enter neither an email address nor a code with RogsApps. Starting the purchase creates a Stripe Checkout session with a random order identifier; abuse is limited by capping sessions per IP address, for which the service briefly counts a protected value of the IP address. Stripe collects your email address on its payment page.

When you start, RogsApps asks Stripe for a checkout. It sends the product, price and random identifiers to associate and secure the order, but no email address yet. The browser then opens Stripe’s payment page. There you enter your name, email address, billing address and payment data directly with Stripe; Stripe also processes connection and device data. Link and Stripe process this data as controllers in their own right, because Link as the merchant concludes the sale, calculates and remits the tax, sends receipts and invoices, checks for fraud and handles disputes; for this Stripe also determines your country (billing address and, where applicable, location for the currency display). You may optionally create a Link account. Card details are not requested in a RogsApps form. RogsApps receives your email address, the order number, the amount and the payment status from Stripe and uses them only for the license key, license retrieval and support. The license is issued solely on a payment confirmation signed by Stripe, never because the browser returned. RogsApps emails you the license key through Migadu; Link sends the receipt and invoice. If you ask Link to delete your data, Stripe also deletes it in the purchase objects in RogsApps’ Stripe account; RogsApps keeps the order number and the license record for as long as legal obligations or license checks require.

Ordering, payment, license assignment and invoice availability serve the requested contract under Article 6(1)(b) GDPR. Legally required retention relies on Article 6(1)(c), and protection against abuse on Article 6(1)(f). Stripe and Link describe their processing, including their own purposes and the payment providers involved, in their privacy notices.

  • Stripe privacy notice
  • Link privacy notice
Back to contents ↑

07Purchase records, invoices and credit notes

The ordering service stores order, payment, invoice, license and event identifiers, after confirmed payment the protected verification value of the email address Stripe supplied, time and status information, and the state of the license email. Full payment events, card details and document links are not stored in the order journal. This does not mean that Stripe or other services involved do not retain those details.

Only when you start the purchase, before the first server request, the purchase page stores a random resumption identifier (UUIDv4), the purchase language and start time in this tab’s sessionStorage, separately for each product. After a connection failure or reload it reuses the same identifier and language. It shows the existing checkout or confirmed payment state instead of starting a new purchase. If storage is not reliably available it sends no start request. The identifier is sent in the request body through Cloudflare to the RogsApps license service at Hetzner, never in an address or to Stripe. The license service stores its protected HMAC, the order association and original Stripe start parameters without buyer data. The identifier authorizes resumption but alone cannot retrieve a license key.

The resumption identifier is usable for at most 23 hours after start; the page removes it on its next execution after expiry, also by a timer check in an open tab. A confirmed terminal outcome removes the entry. After an unresolved attempt expires, only a blocking note with language and start time remains in the tab: the page generates no replacement identifier and starts no new purchase. Check the purchase email or contact support. The blocking note remains until the tab closes; restoring a tab may restore the note. No license key, email address or payment details are stored there. This necessary storage serves only the expressly requested purchase and prevention of duplicate purchases, not analytics or advertising; section 25(2)(2) TDDDG is relied on for it. Processing the purchase attempt serves the requested contract under Article 6(1)(b) GDPR.

On the RogsApps purchase page, the license key remains only in the open page’s memory. When you start a purchase, the purchase page stores the Stripe session identifier, a random retrieval proof from the license service and its expiry time in this browser tab’s sessionStorage, for no longer than one hour. Only with this proof does the service show the key in this tab after payment; the session identifier alone is not enough, and without the proof you receive the key by email. When you return from Stripe, the purchase page also stores the session identifier there with the time of your return. After a reload it can then ask our server whether your payment arrived, so you do not pay twice by mistake. It uses the identifier only until the outcome is known, for no longer than 30 minutes after your return.

Once the outcome is known, the purchase page deletes the identifier and the proof. It deletes expired entries while it is open in this tab, otherwise as soon as it runs there again; afterwards at most a notice without the identifier remains, which it likewise removes 24 hours after your return. If you have left the purchase page, your browser deletes the entries at the latest when you close the tab; if your browser restores a tab, it may bring them back. The purchase page uses no cookies, localStorage or IndexedDB for this. This access serves only the purchase you requested; the exemption under section 25(2)(2) TDDDG is relied on for this purpose. The license service and web server do not log the contents of these purchase requests, and no session replay or diagnostic data captures them. Clearing the browser does not delete an order held by a provider.

Link issues the receipt and invoice and sends them in its own email to the email address given at Stripe; RogsApps sends no invoice, receives the address only for the purchase email with the license key and does not retrieve it on the purchase page.

I keep order and accounting data for the statutory periods named in the section “Retention of license and trial data”. Stripe and Link keep their own purchase and payment data under their own rules. Expiry of a code or document link does not erase stored data.

Back to contents ↑

08Optional processing

Apart from the server-side audience measurement, which runs without cookies and without consent on the basis of legitimate interest (section “Audience measurement without cookies”), there is currently no analytics or replay processing, including none that you can enable on this website, so there is no consent selection for it. Should this change, this notice will be updated beforehand and any required consent obtained before processing; the other website functions remain usable without this processing.

Back to contents ↑

09Trying Dock Ultimate in your browser

The in-browser tryout uses sample icons and sample windows. It does not read apps, windows or files from your Mac. Dock positions, groups and other changes remain only in the open page’s memory. Reloading resets it.

Back to contents ↑

10Support form: information processed

The form asks for your email, report type, product, short title, description and confirmation that you want to submit it. You may also supply the app version, macOS version, edition and reproduction steps or your use case.

You can preview the report text before submitting. The website form does not upload files or screenshots. The fields for an additional diagnostic report and build number remain empty in this form.

Before email confirmation, the service stores your email, report text, technical details, random ticket and request identifiers, a request fingerprint, creation time, confirmation state and delivery attempts. Code verification stores a protected verification value, expiry and failed attempts. The mail queue holds the details needed for delivery, including the code; sent mail contents are removed from it.

The confirmed email address is sent to the support mailbox as the reply address. Anything you write in the title or description remains part of the report. Do not enter passwords, complete license keys, confidential files or unnecessary information about other people.

The product field assigns the report to Dock Ultimate. It contains no additional personal or device identifier and does not inspect installed apps. Together with the email address and report it forms part of the personal support data; the same access and erasure rules apply as to the rest of the request.

Back to contents ↑

11Delivery, confirmation and abuse prevention

The eight-digit confirmation code is valid for 15 minutes; confirmation is rejected after five failed attempts. It is emailed through Migadu. The sender is [email protected]; replies go to [email protected]. After successful confirmation, the title, report text, technical details and ticket reference are sent through Migadu to our support mailbox [email protected]. Your confirmed email address is included in the Reply-To header of this message so we can reply to you. Email replies also go to the support mailbox.

The report is not public. Access is limited to authorized support staff and the providers involved in performing their services. Migadu processes the support email, including your reply address. Personal information you write in the description remains included.

To prevent abuse, the service processes IP and email addresses as keyed verification values along with timestamps. These values are not anonymous. The checkbox requests handling of your enquiry; it is not consent to advertising. A confirmation email alone does not prove that the mail server accepted the support message. Delivery status confirms acceptance by the mail server, not that a person has read or handled the report. You can check delivery using your ticket reference.

Back to contents ↑

12Purposes and legal bases

Where personal data is processed, the website functions serve the delivery you requested and protection against abusive requests. Article 6(1)(f) GDPR applies: the legitimate interest in reliable and secure delivery. An enquiry about a contract or a service you request is handled under Article 6(1)(b) GDPR. Audience measurement also relies on Article 6(1)(f) GDPR; the interest and balancing are set out in its section.

Other enquiries are processed to respond to them under Article 6(1)(f) GDPR. Retention required by law is based on Article 6(1)(c) GDPR. If consent is sought for separate optional processing, Article 6(1)(a) GDPR applies. Consent and a privacy notice are distinct.

Using the form is voluntary. The report cannot be sent to our support mailbox without an email address, title, description and email confirmation. You can use the rest of the website without the form or contact us by email.

Back to contents ↑

13Retention and erasure

I erase unconfirmed support requests after one day. Maintenance removes these requests from the support database after expiry, along with expired codes and any queued code emails. An expired code therefore does not immediately delete the entire request. Abuse-rate records are removed after one day.

I erase confirmed support cases twelve calendar months after documented closure. An extended specified claims deadline or retention hold prevents earlier erasure. External copies in the support mailbox [email protected] at Migadu and other emails require separate handling; local erasure requires confirmation concerning the affected external copies. You can request access or erasure using your ticket reference.

The support database is outside the public website directory. There are up to fourteen daily backup copies; older ones are overwritten. Deleting data from the running service does not retrospectively remove it from every backup; after a restore, completed erasures are applied again. Mail and network providers erase their own data under their own rules.

  • Request access or deletion
Back to contents ↑

14App version covered by this notice

The following sections describe the direct edition of Dock Ultimate that you obtain from rogsapps.com.

Before the sales start, rogsapps.com offers no version of Dock Ultimate for download. This notice applies to the version released with the sales start.

Back to contents ↑

15Local app settings and working data

On your Mac, Dock Ultimate processes dock arrangements, displays and their identifiers, pinned apps, groups, file paths, folders, presets and selected settings. This information is used to display your docks and carry out the actions you choose. Settings files and local history snapshots can therefore reveal details of your workspace.

Settings are kept in Dock Ultimate’s application-data folder. Settings, presets and support reports you export are saved at the location you choose. You control whether to share those files with others or place them in a cloud folder.

For licensing, the app creates a random, persistent device UUID. It is not a hardware serial number. License receipts, the entered license key where applicable and license details are stored in the macOS Keychain; the entry used is not configured for Keychain synchronization.

Information tiles you add read only on this Mac what they show. In the direct edition, the AI usage tile reads the end of the latest Codex session logs under ~/.codex/sessions or the file ~/.claude/dock-ultimate-rate-limits.json written by a status-line bridge you set up in Claude Code, and takes only the usage figures from them. The battery tile reads the names and battery levels of connected Bluetooth devices; their serial numbers are used only transiently as a check value to merge duplicate entries. The IP tile shows your network interface addresses on request. This information is not sent and not stored in the settings.

Back to contents ↑

16Optional weather and calendar tiles

Before the place search the app shows a notice about these transfers and enables the search only after your explicit agreement (checkbox); without agreement nothing is sent. The agreement is stored on this Mac when you add the tile and is checked before every request: without a stored agreement every weather tile, including one from an import, preset, tab, dockctl or MCP, stays empty and sends nothing; its popover offers “Agree and Load Weather”. Starting a place search sends the entered text to Apple’s geocoder. Choose a city rather than a private address. After you add a weather tile, the app requests forecasts directly over HTTPS from api.met.no. It sends the selected coordinates rounded to two decimal places (coarse location) and, in the User-Agent, the app identifier with the support contact address ([email protected]). The recipient also receives connection data such as your IP address. The app does not request the device’s location for this.

MET Norway states that it stores IP addresses and requested coordinates in access logs in Oslo. Its privacy notice gives up to 90 days for IP addresses on publicly accessible weather services. MET Norway names no separate period for the coordinates.

Selected places remain in local dock settings and may occur in their history, presets or exports. Forecast responses are cached in memory. You withdraw the agreement at any time in Settings under General › Privacy with the switch “Allow weather data transfer”; running requests are stopped and the displayed weather state and the tiles’ places in memory are discarded. Remove weather tiles to stop further tile-related requests; this does not retrospectively erase in-flight requests or recipient logs. The calendar tile only computes a date grid on the Mac and does not read calendar events.

The place search and forecast requests rely on your consent (Article 6(1)(a) GDPR), which you give with the checkbox. You can withdraw it at any time with the switch “Allow weather data transfer” in Settings (General › Privacy) or by removing the weather tile; earlier requests are not affected. RogsApps does not receive this data. Apple and MET Norway are responsible for their own processing.

  • MET Norway API terms
  • MET Norway privacy
  • Apple privacy
Back to contents ↑

17Windows, previews and permissions

For app and window features, Dock Ultimate locally processes information about running apps and windows. Accessibility permission enables control of other app windows. Live previews require access to screen or window content. Access depends on the selected feature and the permissions granted in macOS.

You can revoke permissions in macOS System Settings. The dependent features will then be limited. Screen Recording permission is not consent to sending your screen images to RogsApps.

Back to contents ↑

18Activation and status of purchased licenses

During activation, the direct edition sends the license key, product identifier and random device UUID to license.rogsapps.com. The server checks entitlement and the permitted device count. It stores, among other things, a protected verification value of the key, license identifier, product, device allocation, revocation status and the issued receipt.

The status check sends the signed license receipt and a random request identifier. The receipt includes the device and license identifiers. This check does not send the license key again. The response contains the signed status and device-usage information.

The app checks the license status automatically at most once every 24 hours per app process; you can also refresh it manually. A new check may occur after a restart. A valid perpetual-license receipt remains usable after network errors. A confirmed, signed revocation is applied.

Processing serves the agreed license and device count under Article 6(1)(b) GDPR and protection against unauthorized use under Article 6(1)(f) GDPR.

The license server automatically checks whether a license is valid and whether it covers the number of Macs. If you believe a rejection is wrong, a person reviews it when you write to [email protected].

Back to contents ↑

19Trial period and device identifier

The direct edition requests the 7-day trial from license.rogsapps.com when you choose “Try for 7 days” in the app. Before that, the app reads no hardware identifier and sends nothing to the trial server. Afterwards it checks the running trial at every further launch without another click. No email address and no code are asked for. The product identifier, a random installation ID, a device hash and a random request identifier are sent. The app creates the installation ID itself; it stays in the Keychain of this Mac only and is not shared with other devices.

The device hash is a SHA-256 value of your Mac’s hardware UUID and a product-specific salt. The hardware UUID itself and the serial number do not leave the Mac. The server does not store even that hash in plain form but a keyed verification value of it, together with the product, trial start, trial end, time of the last request and the request identifiers that protect against replay. The installation ID appears only in the signed grant returned to the app and is not stored. The verification value is pseudonymous, not anonymous: anyone who knows the secret key and your Mac can match it. For request limits per network and overall, the server stores only counters keyed by a secret verification value of the IP address; they are removed after a few hours.

The trial lasts seven days in total from its start. If the licence server cannot be reached when the trial starts, a local offline trial begins for at most three days. These days count towards the total trial duration and never extend it. For this purpose, the app stores an anchor containing the product, device hash, start time, last observed clock time, system uptime, boot identifier and verification state in this Mac’s non-synchronising Keychain. The anchor survives a reinstall as long as the Keychain remains accessible; a detected clock rollback blocks the local trial. On the first connection, the app also sends the stored start time to the licence server. The server charges it against the product-specific trial duration and stores the earliest start and corresponding end. A reinstall or new installation ID does not reset an existing anchor. If the local anchor is missing, for example after erasing the Keychain, an earlier offline start cannot be detected without a connection. On reconnection, an existing server-side device anchor prevents the total trial from restarting. This protection cannot be guaranteed if both anchors are lost or unreadable. A Mac with a new hardware UUID, for example after a logic board replacement, counts as a different device. A more recent start value never extends an earlier expiry. After the first online confirmation, individual signed grants are valid for at most four hours; the app checks online at launch and at least every four hours. The offline anchor remains stored locally to prevent a restart; it is not a licence synchronised with other devices. These periods describe validity, not deletion of server data; its retention period is set out in the next section.

The purpose is carrying out the free trial you requested and protection against abusively repeated trials. Legal bases: pre-contractual and contractual steps under Article 6(1)(b) GDPR and a legitimate interest in preventing repeated trials under Article 6(1)(f) GDPR. My interest prevails because the verification value is formed with a secret key and cannot be reversed, neither name nor email address is linked to it and the trial data is deleted 365 days after the trial ends. You may object (see “Your right to object”). Email verification with a code is now needed only to restore an already purchased license; the app then sends the email address you enter to the same service, the code is delivered through Migadu and is valid for ten minutes.

Back to contents ↑

20Retention of license and trial data

Data of the trial (verification value of the device hash, trial start and end, time of the last request) is deleted 365 days after the trial ends; the request identifiers that protect against replay are removed from the end of the trial onward. The service’s maintenance deletes in small steps during writes. Request counters expire after a few hours. Service backups may contain the data until their own deletion. After deletion, the same Mac can receive a new trial.

Data of former email trial accounts is erased 365 days after trial expiry, provided no active sign-in, order or external anchor binding remains. This does not erase external trial anchors. License sign-in codes expire after ten minutes; expired codes, sessions and request identifiers are removed.

Usable licenses remain stored for activation and recovery. Age or a revocation flag alone is not treated as the end of a contract. Once contractual termination has been established explicitly, the license is permanently restricted and the email verification value and retrieval identifiers are removed from the order. Device assignments are erased after the separately specified warranty period. Missing retention decisions or a hold for pending proceedings prevent erasure.

I keep accounting vouchers for eight years (section 147(3) AO), books and records for ten years and other tax-relevant documents and business correspondence for six years, each from the end of the calendar year. An email serving as an accounting voucher falls under the eight-year period. These periods do not justify retaining all technical fields: after their purpose ends, only necessary accounting references remain restricted. The journal contains references to Stripe documents, not a complete invoice archive; Link issues the invoices to buyers.

I erase closed support cases twelve calendar months after documented closure; a specified extended claims deadline or retention hold takes precedence. Local erasure includes affected external copies. I erase our own access and application logs after fourteen days. License backups rotate after fourteen days if a newer backup has been restored successfully; failed verification can delay erasure. Before a restored service resumes, completed erasures are applied again. Stripe, Link, Migadu and Cloudflare erase their own data under their own rules.

  • Make a privacy request
Back to contents ↑

21Update checks and installation

The direct edition checks the configured RogsApps download host for updates automatically only if you have agreed. After the welcome it asks once “Check for updates automatically?”; until you answer, and after “No, I’ll Check Myself”, it does not check by itself. You can change your choice at any time in the settings under “General › License and Updates” with “Check for updates automatically”. Without automatic checks the app only checks when you choose “Check Now”. Automatic downloading and installation are switched off by default; you can enable them in the settings. The update check uses fixed HTTP headers, no cookies and no license key. The host still receives normal connection data such as IP address, time and requested file.

While the automatic check is switched on, Sparkle checks in the background every 24 hours, even when automatic downloading and installation are switched off. Without this permission, you decide whether to download and install an offered update. With the setting enabled, Sparkle may download and install a newer signed version automatically. Sparkle’s system-profile reporting is disabled. Fetching the update feed and an update creates connections to the relevant download host.

Processing serves delivery of requested or required updates. Automatic checks are based on your consent (Article 6(1)(a) GDPR, Section 25(1) TDDDG), which you give with “Yes” or the switch and can withdraw at any time with the switch; earlier requests remain unaffected. A check you start yourself serves the requested update (Article 6(1)(b) GDPR); statutory obligations remain unaffected.

The download host also records these requests in the shortened audience-measurement log, without the full IP address and with a category instead of the full user agent, and counts downloaded updates as a daily total per version. Details, legal basis and erasure are set out in the section “Audience measurement without cookies”.

Back to contents ↑

22App support contact and local minimal report

“Report a Problem…” first shows the complete minimal report. It contains only the app version, build, macOS version and a new random error reference. The reference is generated anew for each report and is not derived from hardware, license or user identifiers. Settings, paths, display identifiers, messages and event history are not attached.

Only “Open Email Draft” passes exactly the visible text to your email app, with [email protected] as recipient and “Dock Ultimate: Support” as subject. You decide there whether to send it. Cancelling or declining opens no email draft and sends nothing. If opening fails, you can separately copy or save the report. Other contact features open an email draft without a report.

Saving or copying uses exactly the same text previously shown. You choose the storage location. If Universal Clipboard is on, macOS may pass copied text to your other Apple devices.

The app sends no telemetry and records no sessions. It does not read or send crash reports for this report. You share a crash report only separately after review and with explicit consent. The local history of technical dock events stays separate: at most 4 hours on this Mac in the “diagnostics” folder next to the settings. In General › Privacy you can turn it off with “Keep a local event history” or erase it with “Delete Event History”. It is never part of the minimal report.

The error reference itself contains no user identifier. An email you send nevertheless links the report to your sender address and additions. RogsApps receives it to handle your request; your email provider and RogsApps’ email service Migadu process the message. These support data are therefore not anonymous. The provisions on support purpose, access and erasure in this notice apply; Migadu sends and receives the emails on my behalf.

Back to contents ↑

23AI assistants and automation

When you connect Dock Ultimate to an assistant, the control interface runs locally through commands or MCP over standard input and output. The connected assistant can execute tool calls you authorize and receive their results, such as dock settings, display details or app and file paths.

A locally executed tool does not mean that all results stay local. An external assistant may send them to its provider for further processing. Your configuration, permissions and that assistant’s privacy terms determine this. Connect only services you want to entrust with that information.

Back to contents ↑

24Email, downloads and external links

An email link opens your own email application. The message is transmitted through the mail services involved only when you send it. This processes sender, recipient, subject, message, any attachments and technical mail headers. Form emails are instead sent automatically following your request.

RogsApps uses Migadu-Mail GmbH in Switzerland for email infrastructure. The provider notice below explains Migadu’s processing. It does not determine how long RogsApps needs a particular message.

Cloudflare may add network error reporting headers (NEL, Report-To) to the hosts’ responses. Supporting browsers may then send connection-failure reports to a.nel.cloudflare.com without a website script; no success reports are requested. Cloudflare uses these reports to detect connection problems and processes them under its own rules. For RogsApps this is a legitimate interest in reliable delivery (Article 6(1)(f) GDPR).

External links to legislation and privacy authorities are opened only when clicked. The respective operator is responsible for processing there.

  • Migadu privacy notice
  • Cloudflare: network error reports
Back to contents ↑

25Recipients and international processing

The website and support use Hetzner for server infrastructure, Cloudflare for network protection and delivery, Migadu-Mail GmbH in Switzerland for email, including the support mailbox [email protected]. Cloudflare also sits in front of license.rogsapps.com and download.rogsapps.com. The connections described above determine the data these services receive.

Cloudflare, Inc. (USA) delivers and protects the website, downloads and license service on my behalf; data is also processed in the United States. Hetzner Online GmbH (Germany) operates the server on my behalf. Migadu-Mail GmbH (Switzerland) sends and receives email on my behalf; the European Commission has adopted an adequacy decision for Switzerland. Postflex (Germany) receives letter post on my behalf. Stripe and Link process purchase and payment data, also in the United States; they are controllers in their own right for the sale, tax, receipts, fraud checks and disputes. By its own statement, Cloudflare is certified under the EU-U.S. Data Privacy Framework (Art. 45 GDPR); if that certification lapses, the EU standard contractual clauses of Cloudflare’s data processing addendum (version 6.4 of 3 April 2026) apply. According to its privacy notice, Stripe bases transfers to the United States on the EU-U.S. Data Privacy Framework and on EU standard contractual clauses. Apple (place search) and MET Norway (weather, Oslo, Norway, EEA) receive data only if you use the weather tile; they are responsible for their own processing, and Apple may also process data outside the EU.

  • Cloudflare privacy notice
  • Hetzner privacy notice
  • Migadu privacy notice
  • European Commission: adequacy decisions
Back to contents ↑

26Your rights

Subject to the statutory conditions, you may request access, rectification, erasure, restriction of processing and data portability. Where processing relies on consent, you may withdraw it at any time for the future. This does not affect the lawfulness of earlier processing.

Send requests about your rights to [email protected]. Please send only the details needed to identify your request.

You may also complain to a data protection authority, in particular where you live, work or where the alleged infringement occurred.

  • Privacy contact
  • German state data protection authorities
  • EDPB: individual rights
Back to contents ↑

27Your right to object

Where I process data on the basis of my legitimate interest (Article 6(1)(f) GDPR), you may object at any time on grounds relating to your particular situation. Write to [email protected].

  • Object by email
Back to contents ↑

28Version and related information

Dated 4 November 2026. This notice is updated before processing for new purposes or substantially different data flows. The app-version section identifies the limits of the program features described.

  • Terms and license conditions
Back to contents ↑
RogsApps.

Independent apps for your Mac.

ExploreOur appsDock UltimateUse cases
We’re hereSupportHelpFAQBugs & ideas
Say hello[email protected] ↗Legal noticePrivacyTerms & license
© 2026 RogsApps · Christian RogalskiIndependent software. Made for Mac.

Mac, MacBook and macOS are trademarks of Apple Inc. RogsApps is independent of Apple.