Ark8 Privacy Policy
Document version 2026-10-17-181b4816
Effective to be confirmed
to be confirmed ("we") makes Ark8, a Mac application for administering servers and Kubernetes clusters. This policy says what data leaves your machine, who receives it, and why.
Where a feature sends more than you might expect, this policy says so rather than rounding it down.
The short version
Ark8 runs on your Mac and connects to infrastructure you already control. Most of what it holds — hosts, credentials, runbooks, logs — stays on your Mac and is never uploaded.
Apart from your own connections to your servers, these leave your Mac:
- Your account. You must sign in to use Ark8, and it checks your sign-in with our service each time it starts. Held by us.
- A daily update check, which happens whether or not you signed in, unless you turn it off in Settings.
- A single sign-on check each time Ark8 starts and while its sign-in screen is open, whether or not you signed in. It asks only whether single sign-on is available and does not identify your account (section 1).
- Anything you send the assistant, which goes to Anthropic with your own API key. Only when you use it, and only after you have agreed to a consent screen.
- Crash and hang reports, only if you turn that on. Ark8 keeps the reports macOS gives it about its own crashes and hangs on your Mac. They reach us only if you turn on "Send crash reports to Ark8" in Settings, which is off until you do (section 4).
- What you choose to connect, share or export — a session shared with an organisation, audit events sent to a SIEM you run, runbook notifications to Slack or a webhook, calendars you connect for runbook schedules, GitHub when you push a runbook or run it on a GitHub runner, the public Helm chart catalogues and Artifact Hub when you open Helm Charts, and GitHub when you install metrics-server in a cluster.
There is no analytics SDK, no third-party crash reporter, no advertising identifier, and no behavioural tracking of any kind in the application.
1. Your account
What. Your email address, and your name and profile picture as your identity provider supplies them, plus your account status. If you belong to an organisation, also your membership, role and group memberships. Your organisation's admins can see when you last signed in and how: with Google or Microsoft or, once single sign-on is available, with your organisation's single sign-on. When you accept the Terms of Service and this policy, at a sign-in on our website or in the app, or in the notice the app shows before you continue, we record which version you accepted, and when. Changes to these, and to what members share with the organisation, are recorded in an audit log your organisation's admins can read. If an admin invites you, we hold the invitation: your email address, the role offered, who invited you and when it expires. We email you the invitation link through our email provider, Resend (section 9). The email gives the name and email address of the admin who invited you, and replies go to that admin. An admin who invites someone therefore shares their own name and address with that person. The admin can also see the link and share it with you themselves. You join only if you open that link, sign in on our website with the invited, verified address and accept; you can decline instead, and signing in alone never joins you to an organisation. You sign in with Google or Microsoft. Once single sign-on is available, you can also sign in through your organisation's own identity provider (SAML 2.0, such as Okta), where your organisation has set it up. We receive what that service gives us: your email address and, if it sends them, your name and profile picture. We never see your password for it.
When. You must sign in to use Ark8. Each time Ark8 starts, it checks your sign-in with our service and loads your profile, your organisation membership and anything shared with you. While it is open, it checks your organisation access with our service again when it comes to the foreground (at most once a minute), every five minutes, and before an organisation action if it last checked more than a minute ago.
Separately, each time Ark8 starts, whether or not you are signed in, it asks our service whether single sign-on is available. While its sign-in screen is open, it asks again when the screen appears, when Ark8 comes to the foreground and when the network comes back (not if it had an answer less than a minute ago), and when you sign in with Google or Microsoft if it has had no answer in the past day. You cannot turn this off. The request discloses your IP address and, in the user-agent, that Ark8 is installed, its build number and your Mac's system version, but nothing that identifies your account. Like the update check, it is enough to count installs; we do not correlate it with your account, but we could.
Why. To identify you, to let you use Ark8, and to let you share sessions with an organisation.
Where. Supabase, which hosts our database, sign-in and file storage on our behalf, on Amazon Web Services in the us-west-1 region (Northern California, United States). There is no choice of region. Our website runs on Vercel. Section 9 lists everyone we use.
How long. Until you delete your account, which you can do yourself (section 7). Section 7 also says how long each record is kept, including the ones that outlast your account. No paid plans are offered during the preview, so we hold no payment records.
2. The update check
Ark8 checks for a new version about once a day, using Sparkle. If a day has passed since the last check when you open it, the check happens then. The check goes to an endpoint we operate, on Supabase. It happens automatically unless you turn it off (below), and it is not conditional on being signed in.
What the request discloses. Your IP address and, in the user-agent, that Ark8 is installed, which version, and which version of its updater. It does not send your hostname, your sessions, your username, or any identifier we can tie to your account.
Why. So you find out about security fixes. Ark8 is infrastructure software; a version of it with a known hole should not keep running because nobody told you.
Being honest about what this is. A daily request from every install is enough to count installs and see which versions are in use. We do not correlate it with your account, but we could, and you should know the request is made.
Turning it off. Turn off "Check for updates automatically" in Settings › Security › Software Updates. Ark8 then makes no update request until you choose Check for Updates… in the Ark8 menu, which works either way. An update is installed only after you approve it.
3. The assistant
The assistant sends what you ask it, and the context it needs, to Anthropic's API. It runs only when you use it.
Consent. The first use shows a consent screen naming Anthropic and describing what is sent. Nothing is sent before you agree.
What is sent. Your question, anything you paste, and what the assistant looks up to answer it. That can be:
- session names, host names, addresses, ports, usernames, groups, Windows domains, environment labels and session notes;
- host hardware inventory, metrics and top processes;
- tunnel state;
- Kubernetes cluster, namespace and workload names and status;
- Activity Log entries;
- runbook definitions, including their scripts.
When you ask it to write a runbook script, the script you have open is sent. It cannot read terminal output, file contents, Kubernetes secrets or config maps, or anything in the Keychain or Vault.
Pseudonymisation. By default (Strict), Ark8 replaces the host names, usernames and session names it knows about, and any IP address in free text, with labels before anything is sent. A name that appears only inside a script or a note is sent as written. In Settings you can choose Standard, which sends real names and addresses. In both modes, a filter removes values written next to a label it knows, such as password=, token:, or an Authorization header. This is a reduction of risk, not a guarantee. A key or token with no label in front of it, output you paste in, or a secret in an unusual format can get through. Do not paste anything into the assistant that you would not be willing to send to a third party.
Production. By default, the assistant's lookups skip hosts, clusters and pinned runbooks labelled PROD. You can allow PROD in Settings, and Ark8 warns you when you do. A script you ask it to write or edit is sent whichever environment it targets. This depends on the label being right. A host you never labelled is treated as non-production.
Your own key. The assistant works only with an Anthropic API key you enter in Settings, kept in your Mac's Keychain. Requests are billed to your Anthropic account and governed by your agreement with Anthropic. They go from your Mac to Anthropic directly, not through us, and we never see them.
What Anthropic does with it is governed by Anthropic's terms and privacy policy, not by ours: https://www.anthropic.com/legal/privacy
On your Mac. Assistant conversations are kept on your Mac so you can find an earlier answer. That record includes what was actually sent and, in Strict mode, the table that turns labels back into real names. A conversation you have not used for 30 days is deleted when Ark8 starts; in Settings you can keep conversations for 7 or 90 days instead, or until you delete them. You can delete a conversation at any time, and deleting it deletes the record. Revoking consent also deletes the copies of what was sent, and the table of labels, from your saved conversations.
4. Sharing and exports — only what you ask for
Sharing a session with an organisation uploads its name, host name or address, port, username, environment label, tags and any notes you typed on it to our database. Only SSH sessions can be shared. You choose who in the organisation can see it: everyone, or only its owners and admins. The organisation's owners and admins can also withdraw it; a withdrawn session stays in our database, visible only to you. When you stop sharing it yourself, Ark8 deletes it from our database. Sharing does not upload passwords, private keys or Keychain items. Notes are uploaded as you wrote them and are not scrubbed, so do not put a secret in a note.
Audit export to a SIEM sends audit events to a syslog collector *you* configure and operate. Nothing reaches us. The events carry the machine name and real hostnames and, once you set your Enterprise number, the operator's macOS username and full name — a SIEM is meant to identify who did what, so these are not pseudonymised. Events recorded by Ark8 1.7 or later then also carry the Ark8 account that did it: its email address, how it signed in, and its organisation. Export can use TLS, with a certificate authority you import, or plain TCP, which is unencrypted.
Notifications to Slack or a webhook go to the address you configured. They carry the runbook name, its outcome, the hosts involved, what triggered it, the step that failed, the Git commit, the start time and the duration. An approval request also says who asked and which environments it touches.
Helm charts. Opening Helm Charts downloads the public chart index of each of nine built-in repositories (Bitnami, Grafana, Prometheus Community, Ingress NGINX, cert-manager, Argo, HashiCorp, Istio, Datadog), at most once an hour. Chart icons come from the address each chart's index gives, and a chart's documentation comes from Artifact Hub. Those operators see your IP address and, for icons and documentation, which chart you looked at. Installing metrics-server from a cluster's overview downloads its manifest from GitHub.
Calendars. If you connect a calendar to runbook schedules, Ark8 reads your Mac's calendars with macOS permission, or reads Google Calendar or Microsoft 365 directly with your organisation's own OAuth client and read-only access. Calendar sign-ins are kept in the Keychain.
GitHub. Deploy to GitHub Runner writes a workflow into your runbook library containing the step scripts, target hosts and the host keys you already accepted, never secret values or private keys. It reaches GitHub only when you push it. Run on GitHub Runner calls GitHub's API with the token the gh command-line tool already holds; Ark8 stores no GitHub token.
Crash and hang reports. When Ark8 crashes, stops responding, or uses a lot of CPU or disk, macOS gives Ark8 a report about it, usually the next time Ark8 opens (Apple's MetricKit; no third-party service is involved). Ark8 keeps these reports on your Mac for 30 days, in a folder only your user account can read and in 50 files at most (one file can hold several reports); Help › Report a Problem… shows them. A report says what kind of problem it was and when, the Ark8 and macOS versions, your Mac's model and processor type, and where in Ark8 and in the system's libraries it stopped, and it can include the system's error message. Nothing about them leaves your Mac unless you turn on "Send crash reports to Ark8" in Settings › Security, which is off until you do. While it is on and you are signed in, each report your Mac receives from then on is sent to us once, linked to your account, with the Ark8 and macOS versions. Reports already on your Mac when you turn it on are not sent. Before sending, Ark8 removes your home folder, your user name, host names, IP and e-mail addresses, and anything that looks like a key or token. Like the assistant's filter, this reduces risk and is not a guarantee. We use these reports only to find and fix problems in Ark8, and keep them for 90 days. Deleting your account deletes them. They are not in Download my data (section 7); write to us for a copy. Copy Report in Report a Problem… puts a redacted summary on your clipboard for you to send us yourself.
5. What never leaves your Mac
- Private keys. Ark8 never reads them off disk to send anywhere.
- SSH login passwords are never saved to disk or the Keychain. A password you type into Ark8 is held in memory until you quit, and a session can read its password from Vault when it connects. Either way, Ark8 hands it only to that host's own login prompt.
- Stored sudo passwords live in the macOS Keychain on this Mac only, and each use asks for Touch ID or your login password. Ark8 types one only into the sudo prompt of the host it was saved for, inside the SSH connection, and only when that host is the one Ark8 connected to or one you ssh'd to in that terminal.
- Your Vault sign-in, and any secret read from Vault. Ark8 does not store a Vault token. You sign in through your Vault's OIDC sign-in in your browser; the token Vault issues is held in memory only, used only with the Vault address you set up, and discarded after at most four hours. Ark8 asks Vault to revoke it when you sign out of Vault or quit Ark8 (a batch token can't be revoked and simply expires, and after a crash the token stays valid in Vault until it expires). A secret read from Vault goes only where it is used, such as the login prompt of the host it signs in to or a runbook step you run, and is not saved. A value you copy from Secrets stays on this Mac (not Universal Clipboard) and is cleared after 30 seconds unless you have copied something else since, but an open Remote Desktop session with clipboard sharing on will pass it to that remote computer.
- Terminal output, file contents and command history — except what you choose to send to the assistant.
- Your runbooks stay on your Mac unless you push them to a Git remote (including a GitHub runner workflow Ark8 wrote for you) or ask the assistant about one.
- The Activity Log stays on your Mac unless you set up SIEM export or ask the assistant about entries in it.
Secrets. Browsing the Secrets section reads names and metadata, never values. There, a value is read from your Vault only when you click Show, Copy or Edit; secrets linked to a PROD host first ask for Touch ID or your Mac password; every read is recorded in your Activity Log while its security events are on (the default). Creating, editing, deleting and restoring secrets writes to your Vault, not to us.
Remote desktop. Remote Desktop passwords are typed at connect or read from Vault, and never stored. Clipboard sharing is set per session (text and files, text only, or off; PROD defaults to text only) and goes only to the session you are working in. Copying files from Windows to your Mac asks first, except a small copy (up to 64 MB and 100 files) you make yourself in the session you are working in. Files that arrive are quarantined.
6. What we do not do
We do not sell your personal information. We do not share it for advertising. There is no third-party analytics or advertising SDK in the application or the website, and no cross-site tracking. The website sets only the cookies needed to keep you signed in and to remember which organisation you last chose in the admin console.
7. Your rights
Depending on where you live you may have the right to access the personal data we hold about you, to correct it, to delete it, to receive a copy in a portable form, to object to or restrict a processing activity, and not to be discriminated against for exercising any of these.
Getting a copy, or deleting your account
Signed in on our website, go to Account → Your data.
- Download my data gives you a JSON file of what our server holds about you: your account and profile, your sign-in identities (never a password or token), your memberships and group seats, the hosts, clusters and tunnels saved to your account, your sign-in history, which versions of the Terms of Service and Privacy Policy you accepted, invitations sent to an address you have verified, and your own entries in the audit logs of organisations where you hold a role: your sign-ins, device reports, joining and leaving, and sharing. Crash and hang reports you chose to send (section 4) are not in it; write to us for a copy.
- Delete my account deletes, at once: your account, profile, sign-in identities and sign-in history; your memberships and group seats; and the hosts, clusters and tunnels saved to your account, including the ones you shared. Each organisation you belonged to gets an audit entry saying you deleted your account. You cannot do this while one of your memberships is suspended (an admin of that organisation can remove it) or while you are the Owner of an organisation: transfer ownership to another member first. If you are its only member, close it first on its Organization page (Close organization): its shares are withdrawn, its invitations revoked and it is marked closed; its audit log is kept. If it has single sign-on set up, write to us (below) and we will close it.
An organisation's audit log is that organisation's record of what happened in it, and it is not deleted with your account. Its entries about what you did keep the address and sign-in method recorded with them, so that deleting an account cannot erase what was done with it. Entries about you keep your address too: the ones others wrote, such as a change to your role or your removal, and the entry saying you deleted your account. Entries also keep your former account ID, a random identifier that no longer leads to an account, wherever they recorded it: as the subject of an entry, and in the details of entries about roles, memberships, ownership and shared items. What you did as an admin to other people, what others did about you, and entries from organisations you have left are not in your download; that organisation's admins can export its audit log, and you can ask them, or us.
Neither touches what Ark8 keeps on your Mac. The table below says how to delete that.
How long we keep it
| What | Where | How long |
|---|---|---|
| Your account: profile, sign-in identities, memberships, group seats, and the hosts, clusters and tunnels saved to it | Our database | Until you delete your account. |
| Your sign-in history: when you signed in, with which provider, and the session | Our database | 90 days back from your latest sign-in: each sign-in removes your entries older than that. Deleting your account removes all of it. |
| Organisation audit logs: sign-ins, and changes to members, roles, invitations, sharing and settings, each with who acted and how they were signed in | Our database | As long as the organisation has an Ark8 account. There is no automatic expiry yet. Kept when you delete your account, as described above. |
| Device context, if an organisation turns it on and Ark8 for macOS reports it: the Ark8 and macOS versions, your Mac username and computer name, once per sign-in | Our database, in that organisation's audit log | As for the audit log. |
| Invitations: the address, the role offered, who sent it and when | Our database | As long as the organisation has an Ark8 account. An invitation can be accepted until it is revoked or expires, 1 to 30 days after it is sent (7 unless the organisation changes it); the record is kept after that. If the sender deletes their account, it no longer names them. |
| Request logs at our hosting providers: the IP address and user agent of requests to our service, the update check included, and to the website | Supabase and Vercel | As long as each provider keeps logs on our plan with it. |
| Invitation emails: the whole message (the invited address, the inviting admin's name and address, the organisation's name, the role offered and the invitation link) and whether it was delivered | Resend | As long as Resend keeps sent email on our plan with it. The link in a kept message stops working when the invitation expires, is resent or is revoked. |
| The Activity Log | Your Mac | 90 days, unless you choose 30 or 180 days, a year, or Forever in Settings. Older entries are removed when Ark8 starts. Clear History deletes everything except records of destructive operations and of connections to PROD hosts, which are kept for the retention you chose. |
| Assistant conversations | Your Mac | 30 days after you last used one, by default (7 or 90 days, or until you delete it, if you choose that in Settings); removed when Ark8 starts. Revoking consent removes what was sent, and the table of labels, from every saved conversation. |
| Which version of the Terms of Service and Privacy Policy you accepted, on our website or in the app, and when | Our database | Until you delete your account. |
| Crash and hang reports | Your Mac | 30 days, in 50 files at most; older ones are removed when Ark8 starts. |
| Crash and hang reports you chose to send (section 4) | Our database | 90 days. Deleting your account deletes them sooner. |
Asking us
Write to to be confirmed for anything the website does not do for you, or if you cannot sign in, and we will respond within 30 days. We will not charge you and we will not require you to create an account to ask.
If you are in the EEA, the UK or Switzerland, you also have the right to complain to your data protection authority.
to be confirmed
If you are in California, you may also designate an authorised agent to make a request for you. We do not sell or share personal information as those terms are defined by the CCPA.
8. Children
Ark8 is not for children. We do not knowingly collect personal information from anyone under 16. If you believe a child has given us data, write to to be confirmed and we will delete it.
9. Who we use
- Supabase — our database, sign-in, file storage (the app's downloads and updates) and server functions, on our behalf. The database is on Amazon Web Services in the us-west-1 region (Northern California, United States).
- Vercel — hosts this website and the web admin console, on our behalf. Its request logs include IP addresses; our records stay in Supabase.
- Resend — sends the invitation emails, on our behalf, from the United States. It receives the whole message — the invited address, the inviting admin's name and address, the organisation's name, the role offered and the invitation link — and keeps it, with whether it was delivered, for its retention period (section 7). Its open and click tracking are off: the email has no tracking image, and its link goes straight to our website.
- Google and Microsoft — sign-in, when you choose them.
- Your organisation's identity provider — single sign-on, once it is available and where your organisation has set it up.
- Anthropic — the assistant, when you use it, with your own API key and directly from your Mac.
- GitHub — when you push a runbook to it, run one on a GitHub runner, or install metrics-server in a cluster (its manifest comes from GitHub), directly from your Mac; pushes and runners use your own GitHub sign-in.
- Cloudflare and Google public DNS — once single sign-on is available, when an organisation verifies its email domain for it, we look that domain up through both. They see the domain name, nothing about you.
Supabase, Vercel and Resend are our processors. Google, Microsoft, Anthropic, GitHub and your organisation's identity provider act on their own terms for what you send them; your organisation chooses its identity provider. Apple notarizes Ark8 before each release, but we send Apple nothing about you. What each of them receives, and where, is on our Subprocessors page.
10. Transfers
We are established in to be confirmed. Our database is in the United States, and our processors operate internationally, so your data may be processed outside your country. Where the law requires a transfer mechanism, we rely on to be confirmed. We do not offer a choice of region, or a way to run our service on your own infrastructure.
11. Security
Passwords, tokens and API keys Ark8 stores are in the macOS Keychain, on this Mac only, so they never sync through iCloud Keychain. A kubeconfig you import is kept as a file only your user can read, under Ark8's Application Support folder, and your SSH keys stay where they are. Traffic to us and to Anthropic is over TLS. Vault is refused over plain HTTP unless the address is localhost. You can import a private certificate authority for Vault; it then becomes the only trusted root for Vault. The Activity Log redacts values written after a label it knows, such as password= or an Authorization header, before writing them; a secret with no such label in front of it is not caught.
Telnet sessions send everything, passwords included, unencrypted, and Ark8 warns you each time. The runbook webhook listener accepts requests only on this Mac unless you open it to your local network, speaks plain HTTP, and rejects oversized requests and a signed request replayed within a few minutes.
We do not claim this is perfect and we will not pretend a breach is impossible. If one affects you we will tell you, and we will tell you what we actually know rather than waiting until the account is tidy.
Report a vulnerability to to be confirmed. We will not pursue you for reporting one in good faith.
12. Changes
If we change this policy in a way that materially affects what leaves your machine, we will say so in the release notes of the version that makes the change — not only by editing this page and moving the date.
Contact
to be confirmed, to be confirmed — to be confirmed