What Uncork sends from your Mac, and where
Updated 8 October 2026 · checked against version 1.3.0
Short version: without an account, the free core contacts our server only to check for updates and sends the app version and your Mac's fingerprint. With Pro — on the trial or after you sign in — an access token, driver-key requests and the Pro module download are added. The server sees your IP address, as any server does. Game names, how long you play, files, Steam passwords and the list of programs on your Mac are not sent to us. The app has no third-party analytics and sends no crash reports, but our server keeps its own count of steps: that a trial was started on this Mac, that the app checked in, that a driver key was issued, that a sign-in was started. The rest of its traffic is downloads from other people's servers: installers and components by your buttons, covers and the purchased-games list in the background.
What goes to the Uncork server
The app talks to uncorkmac.com, and if that address is not reachable on your network, to other names of the same server: uncork.win (the main name until 8 October 2026, used by versions up to and including 1.2.1) and uncork.62-60-217-121.sslip.io (a name from the public sslip.io service, whose DNS servers see the lookup of that name). Every request carries a header with the app name and version; as on any server, the request address, the time and your IP address are logged with us, and how long the log is kept is stated in the privacy policy. The app makes no other connections to our server. Of the table below, the free core needs only the last two rows — checking for and downloading updates; the other rows — the Pro trial, sign-in, the driver key and the Pro module — appear only if you started the Pro trial or signed in. You start the trial and sign-in with buttons in the app, you confirm sign-in in your browser on the site, and paying for Pro does not go through the app but through Telegram or OxaPay on the website.
| When | What is sent | Why |
|---|---|---|
| Pro only: you press "Try Pro for 7 days" in the app or "Try Pro" in the game summary Uncork shows once, after your first game without Pro; "Not now" there sends nothing | your Mac's fingerprint and the app version; if you are already signed in on this Mac, also the access token | to start a Pro trial on this Mac — without an account, or in your account if you signed in (signing in by itself does not start a trial) — or to get back the one already started, with the same end; the server replies with an access token and the trial's end and remembers the fingerprint, the version, and when the trial started and ends; no IP address is recorded with the trial, and of the network the request came from the server only counts in memory how many trials it has started that day |
| Pro only: you press "Sign in" or, before signing in, "Buy Pro — €19" or "Already bought" (in versions before 1.0, "Pay", "Already paid" and the "Trial, no account" line) | your Mac's fingerprint and the app version, and if this Mac has an access token, that too: the current one or the previous one, left after "Sign out on this Mac"; then, while it waits (ten minutes at most), with a two-second pause, a one-time sign-in secret and the same token | to get a short code and to learn that you confirmed the sign-in in the browser; when you sign in on this Mac, the rest of the trial moves to the account. The token is there so that nobody else can take over your Mac: the server lets this Mac sign in to another account only with the token of whoever signed in or signed out on it, never by the fingerprint alone |
| Pro only: you sign in with an "UNCK-…" code | the code, the nickname and name you typed, the Mac fingerprint and the version, and if this Mac has an access token, that too: the current one or the previous one, left after "Sign out on this Mac" | to bind access to your Mac; the token for the same reason as with sign-in in the browser |
| Pro only: the access token (there is one after a trial or sign-in) is about to expire, or you press "Refresh access" in settings (in versions before 1.0, "Renew") | the access token, the Mac fingerprint and the version | to renew the token |
| Pro only, on the trial or after sign-in: app start or a game launch, only if there is no key, it is over 20 hours old, it is about to expire or the Mac's clock is behind; the "Renew key", "Get key", "Refresh access", "Already bought" buttons (except during a trial without an account, where it starts sign-in) and "Check" in the clock banner, "D3D11 test" in settings and in the first-run wizard; right after sign-in and after a trial starts; returning to the Uncork window within an hour after the "Buy Pro — €19" button, at most once every 20 seconds and only until the app learns of the payment | the access token, the Mac fingerprint, the version and the reason for the request: launch (every case except sign-in and the start of a trial) or pairing (sign-in and the start of a trial); no game name is sent | to get the driver key for Pro features; in the same reply the server states how long Pro lasts, whether a trial is running and until when, and the invitation link, and the app keeps them in its own settings on this Mac |
| Pro only, on the trial or after sign-in: there is a driver key, but no Pro module for this version of Uncork on the Mac, or it failed its check — after a trial starts, after sign-in, after buying Pro and after an Uncork update; after a failure, again later or with the "Retry" button | the access token, the Mac fingerprint and the app version | to download the Pro module for this version: the libraries for the mouse read from the device, Even frames and the in-game panel, and the program for Content Manager and the Assetto Corsa race screen — the free build does not have them. The server hands out the module only if you have Pro, writes a signed mark into both libraries — the account number (a dash for a trial without an account), this Mac's fingerprint, the licence number and the time of issue — and notes the issue at most once a day per Mac; the app checks the module's signature and puts it in its own folder on this Mac |
| Always, in the free core too: app start and the "Check" button in settings ask at once; in the background at most once every six hours | the version and the Mac fingerprint in the request address | to learn whether a new version is out; the same answer may carry a short known issue message from the server: text in Russian and English, an end date and, if needed, a button ("Fix…" or restarting Steam). The app keeps it in its settings on this Mac and shows it as a banner until it expires, a later answer drops it or you press "Hide"; nothing is sent back |
| Always: you pressed "Update" for a new version (1.1 and later); a fix for the same version (1.0.1, 1.0.2…) the app downloads by itself, without asking, and installs when you quit Uncork — never during a game or while Steam is running; fixes need no consent, and you can turn them off in settings: "Install fixes automatically" | an ordinary file request | to download the new version's disk image; before installing, the app checks the checksum and the signature: it must be made with a certificate Apple issued to a developer on a list built into the app itself (right now the list has one developer, the one who signs our releases); a build from any other developer is not installed, including over a copy signed without a developer (ad hoc) |
| Only if you agreed (the "Share game reports" switch in settings, or "Yes" under "How did the game go?" in the game summary): after you answer; unsent ones on the next app launch, at most once an hour and no more than 20 at a time | the game's Steam number (appid), your answer ("works", "has issues", "doesn't run"), the game build number, the chosen graphics, the Uncork version, the Mac model (for example, Mac15,6), the macOS version and the date of the answer. No account, Mac fingerprint, user name, paths or logs | so other players can see how the game runs for people. We show only 90-day counts by Uncork version, and only when a group has at least three reports. Turn the switch off and new reports and queue retries stop; reports already sent are not deleted |
| Always, in the free core too: at app start and in the background, at most once a day, regardless of the switch above | nothing: a request without parameters, one shared Uncork player summary for all games at once | to show "Uncork players: …" on a game card. The card reads only the downloaded file, so opening a game sends nothing and does not tell us which games you look at |
The Mac fingerprint is a short string: a SHA-256 hash of your Mac's hardware identifier (not its serial number) with a fixed salt string built into the app. The identifier practically cannot be recovered from it, but it is always the same, which is how the server recognises the same Mac.
The server notes that the app checked in (from the update check), that a driver key was issued and that the Pro module was issued (with its version), each at most once a day per Mac; these marks are stored with the Mac fingerprint, not with an account, and are linked to one only through the licence, and "checked in" appears even before you sign in. It also notes that you started a trial on this Mac (once: asking again returns the same trial), that you started signing in in the app (each time you press "Sign in" or another sign-in button) and that you confirmed it, and on every renewal and key issue it remembers the time of the request and the app version. A trial without an account, and this Mac's marks without an account, are kept for two years after the Mac last contacted the server, and the marks that the Pro module was issued for 400 days. The marks carry no game name and cannot tell the server whether you played: opening the app asks for the key too. What else the server stores is in the privacy policy.
What is downloaded from other servers
The app downloads installers and components when you press your own setup buttons, and covers and the purchased-games list in the background; everything goes directly, bypassing our server, and that server sees your IP address, as with any download. The addresses below are the ones written in the code; downloads may be redirected to content delivery networks (CDNs) these services use, and their addresses are not listed here.
| What | From which server | When |
|---|---|---|
| The Windows Steam installer | cdn.cloudflare.steamstatic.com, fallback cdn.akamai.steamstatic.com | when Steam is installed into a bottle (a separate environment for Windows games) |
| The compatibility layer and graphics libraries | github.com: the Sikarugir-App and Gcenx repositories | at first setup, by your buttons; Apple's graphics libraries (D3DMetal) only after you press "Accept" in the Apple licence window |
| The alternative graphics layer DXMT | github.com: releases of the DXMT project | with the "Install DXMT" button in bottle settings; with Pro, also when Assetto Corsa is prepared in one click |
| The DXVK graphics layer for DirectX 9 games | github.com: releases of the DXVK-macOS project (Gcenx) | the first time a DirectX 9 game is launched with graphics set to "Auto", or when you choose DXVK for a game ("…" → Graphics); once per bottle, and the app checks the checksum |
| Windows components: Visual C++ 2015–2022, .NET Framework, the DirectX libraries, the shader compiler — free, for any bottle; before installing, the app checks every file's checksum | download.microsoft.com, download.visualstudio.microsoft.com, raw.githubusercontent.com (the Mozilla repository) | with the "Install" button on the "Windows components" card in bottle settings, the "Prepare to run" button for Assetto Corsa, or the button in “Find out why”; the shader compiler and Visual C++ also when a bottle is created and before any store opens, if they are missing (without them the EA app hangs and its sign-in window has no pictures); only what the bottle does not have yet |
| Content Manager for Assetto Corsa | acstuff.club | Pro only: when Assetto Corsa is prepared in one click |
| The Epic Games installer | launcher-public-service-prod06.ol.epicgames.com | if you chose this store when creating the bottle, or later with "Install a store" |
| The Ubisoft Connect installer | static3.cdn.ubi.com | if you chose this store |
| The EA app installer | origin-a.akamaihd.net | if you chose this store |
| The Battle.net installer | www.battle.net | if you chose this store |
| The GOG Galaxy installer | webinstallers.gog.com | if you chose this store |
| The Rockstar Games Launcher installer | gamedownloads-rockstargames-com.akamaized.net | if you chose this store |
| Rosetta 2 | Apple's servers, through the system softwareupdate tool | if you pressed "Install Rosetta" |
| Epic game covers | subdomains of epicgames.com; the address comes from Epic's own catalog on your disk | in the background, if Epic games are installed in a bottle |
| Steam game covers | shared.steamstatic.com | in the background, for Steam games in a bottle — installed and purchased — that have no picture in the Steam client's own cache; the picture address holds only the game number, no key and no account (since version 1.0.6) |
| The list of purchased Steam games | api.steampowered.com | in the background and only if you added your own Steam Web API key: Steam receives the key and the SteamID of the bottle's accounts, and the key itself stays in your Mac's keychain and never reaches us |
| A game's Steam page | store.steampowered.com | only when you click "Game page on Steam" on a game that has a Mac version: the link opens in your browser; the app itself sends nothing there |
Steam, the stores, Content Manager and the games talk to their own servers as usual: Uncork does not intercept or read that traffic. If you turn on “Proxy from macOS settings for Steam” in the bottle settings (off by default), Uncork writes the HTTP and HTTPS proxy address from macOS settings into this bottle's Windows settings — right away and before every Steam start from Uncork — and from then on Steam itself connects through that proxy (as do other programs in the bottle that take the proxy from Windows settings); turn it off, and Uncork removes what it wrote. The address stays in the bottle on your Mac, and Uncork sends it nowhere. These components belong to their authors and come under their own terms; Uncork does not put them in its own disk image but downloads them directly (the image holds only our driver bundle with the SDL libraries and three fonts), and is not affiliated with their authors; what they are and their licences are shown in the app: Settings → Help → Component licences. macOS itself may also send crash reports to Apple if you allowed it in system settings. Links from the menu, the settings, the app's strips and the first screen ("Terms", "Privacy" and the button to buy Pro, which opens your profile on the site and, before you sign in, starts sign-in first) open in your browser only when you click them.
What the app does not send
- Game names and how long you play. The library is read on your Mac; the server sees only a request for the driver key, with no game name, and opening the app sends that request too.
- Your Steam password and Steam Guard code: the app does not ask for them and does not store them; you type them into Steam's own window.
- Game files, saves, screenshots, the contents of your disk and the list of installed programs.
- Session summaries and pre-launch checks. Play time, battery charge, heat, memory, and the state of power, disk, audio and displays, the list of running apps (to offer closing heavy ones), the game's exit code from Steam's log and, with the overlay panel, its numbers (frames per second, share of even frames, mouse rate; written to a file in the bottle folder) are read on your Mac and stay in its files; “Fix…” reads the bottle's and Steam's logs and macOS crash reports from ~/Library/Logs/DiagnosticReports and does not send them either. If Steam in a bottle never managed to download its client, Uncork learns that from Steam's own log and checks in macOS settings whether a proxy is turned on (the proxy's address and port are never shown, and are saved only in the bottle and only with “Proxy from macOS settings for Steam” turned on); this stays on the Mac too. The “Steam network” section of the bottle settings shows only the kind of proxy turned on in macOS (HTTP, HTTPS, SOCKS or automatic configuration), without the address. You can clear the summaries in the settings.
- The mouse check, your first game and the trial summary. The "Mouse check" in the Uncork window counts only the moments of movement, both what reaches an ordinary app through macOS and what the mouse itself reports through GameController (which needs no Input Monitoring permission), while its sheet is open; the numbers are not saved. The answer to "Which game do you want first?" is kept in the app's settings on this Mac; the "Ready to play" steps and the trial-days summary are worked out on the Mac from what the app sees itself and from the launch history. The "Copy link" button only puts the invitation link on the clipboard; you send it yourself.
- Crash reports. "Problem report" in settings first shows a text preview and then only builds an archive on your desktop (if the desktop syncs with iCloud, macOS may copy it there): Uncork sends it nowhere, and the archive holds the Uncork version and the macOS version, the Mac model, the environment check results, whether a proxy is turned on in macOS (without its address or port), whether Steam in each bottle has downloaded its client and, if not, the code and time of its last update error, the numbers of installed Steam games without names and the bottles' setting flags; no accounts, secrets or raw logs.
- Third-party analytics and ads. The app has no third-party analytics, ad or crash-reporting libraries; its only third-party Swift library is used by the console version alone and parses command-line arguments. Its own step marks are described above and in the privacy policy.
Which permissions macOS asks for, and what Uncork does with them
- "Input Monitoring" is needed to read the mouse straight from the device instead of in bursts once per display frame. Our input library asks macOS only for mice and pointing devices, and only for their X and Y axes; it does not read keyboards, the motion is not sent anywhere and by default is not written to disk, and debug traces are switched on by hand with an environment variable. The macOS permission itself is broader: it covers all input devices, and the "mouse only" limit is in our code. The same permission is used to read the charge of DualSense and DualShock 4 pads: only the battery byte is taken.
- "Accessibility" is needed by three modes only: the gamepad mode, which drives the cursor and keys on the desktop, the friends mode, and the experimental "keep me in the game" mode (off by default). While it runs, the friends mode looks at keyboard and mouse events (key codes and modifiers) to drop ⌘, ⌃ and ⌥ shortcuts and clicks outside the game. The "keep me in the game" mode: while a game runs, macOS passes Uncork every key press and trackpad gesture from all apps. Uncork reads the key code only when the game is in front and compares it with a short list of system shortcuts (⌘Tab, ⌘Space, ⌘H, ⌘M, desktop switching, Mission Control); it drops trackpad gestures in the game altogether. None of this is stored or sent, and macOS may ask for Input Monitoring for these modes as well. If you do not use these modes, the permission is not needed.
- "Automation" may be needed if you turn on the Spotify track on the car display in Assetto Corsa: once a second Uncork asks the running Spotify for the track title through AppleScript. The title is sent nowhere: Uncork writes it to music.txt in the "Documents/Assetto Corsa" folder; if you sync Documents with iCloud, macOS may copy the file to iCloud.
How to check it yourself
A network monitor, such as LuLu or Little Snitch, will show the same addresses for Uncork itself and, during downloads, the delivery networks they redirect to. Steam and the games are separate processes: the monitor will show many other addresses for them, and that is their own traffic. Without third-party tools you can list the app's open connections this minute in Terminal:
lsof -nP -i -a -c Uncork
The requests are short, so the list is usually empty when the app is idle: on 29 September 2026 the running app, version 0.16.3, had no connections without a game. Right after launch the update check and the key renewal run, so the list may not be empty; downloads run not in Uncork itself but in a separate curl process, which will not appear in this list. To catch rare requests you need a network monitor.
What runs inside Steam and the games
Our libraries run inside the game processes: mouse reading, even frames, Dock names and the overlay panel, and our variant of the window driver. The Pro libraries arrive in the Pro module (the row in the table above); with it comes the controller library with force feedback for Logitech wheels, which Uncork puts into the engine on this Mac. The Pro libraries carry the mark the server wrote at issue: the account number, the Mac fingerprint, the licence number and the time; it stays in the files on your Mac, and it is there so the module works only on that Mac and so a copy found elsewhere shows where it came from. There is no Uncork network code in them; an automatic build check looks in the sources of these parts for typical network calls. The sources of the part of the driver that derives from the open compatibility layer are sent on written request, and where to write is stated in the licences in the app: Settings → Help → Component licences.
What happens without a connection to our server
The free core needs no connection to our server for games: they launch without it, and only the update check fails. Pro features work until the driver key expires: up to a week, but never beyond the Pro time plus one hour (bought Pro has no end date). The Pro module is downloaded once per version of Uncork: after an update, Pro features come on once the app has downloaded the module for the new version, and while the server cannot be reached they stay off — games still launch. The server can withdraw Pro, for example for breaking the terms; a withdrawal reaches the app the next time it contacts the server (usually within a day of use), and until then the key issued earlier keeps working.
If this changes
If the app starts sending something new or contacting a new address, we will update this page and the release notes before that version is released; the date at the top shows when the list was last checked. An automatic check compares the addresses in the code with this page and does not let the version build finish if they disagree. It cannot see what exactly goes to those addresses, so we check such changes by hand and note them in the release notes.
Read next
- Uncork: frequently asked questions — price, safety, first launch, supported Macs and games
- How to play Windows games on an Apple Silicon Mac: every method, free and paid — every way to play Windows games on Apple Silicon, with price and limits
- Free and paid apps for Windows games on a Mac, compared — price, licence, stores and notarization of eleven apps; Uncork's core is free, Uncork Pro is €19 once