Contain

Privacy Policy

Last updated: 30.08.2026

In short: Contain collects no usage data whatsoever. There is no analytics in the app, no counters, no events, and no opt-out switch — because there is nothing running to switch off. The list of apps and windows you contain, which is the most revealing thing the app could possibly know about you, never leaves your Mac. The one thing that does talk to a server is the licence check, and section 5 says exactly what it sends.

This Privacy Policy explains how WIZHUT TECH SINGLE MEMBER P.C., operating under the name Wizhut.tech ("Wizhut.tech", "we", "us", or "our"), handles information in connection with your use of the Contain application for macOS (the "App"). It applies to the App and to the Contain pages on wizhut.tech. It does not apply to any other product or service we operate, which are governed by their own notices.

1. Who we are

For the purposes of the General Data Protection Regulation (EU) 2016/679 ("GDPR") and other applicable data protection laws, the data controller is:

  • Controller: WIZHUT TECH SINGLE MEMBER P.C. (WIZHUT TECH ΜΟΝΟΠΡΟΣΩΠΗ Ι.Κ.Ε.)
  • Trading name: Wizhut.tech
  • Registered address: Artis 52, 173 41 Agios Dimitrios, Attica, Greece
  • GEMI number: 183239003000 — full statutory details on our company page
  • Contact email: privacy@wizhut.tech

2. What the App does

Contain is a macOS utility that gathers windows you already have open — a document, a browser, a terminal — into a single window, giving each of them a tab. Clicking a tab brings that window to the front inside the container; releasing it puts it back at exactly the position, size and screen it had before. The windows are the real, live windows: nothing is copied, mirrored, or streamed anywhere.

All of that happens locally, on your Mac, using macOS's own Accessibility interface (section 4). None of it involves us, and none of it involves a network connection.

3. Our approach: the burden of proof is ours

Contain is, by its nature, an app that can see every window you have open. We think that makes the burden of proof ours rather than yours — so rather than ask you to trust a policy, the App names everything that leaves your Mac, in Settings → Privacy, where you can read it without visiting this page. This Policy is the same commitment in legal form, and the two are kept in step deliberately.

Concretely, the App transmits none of the following to us or to anyone else:

  • the names of the apps you contain, or their bundle identifiers;
  • window titles, document names, or file paths;
  • anything you type, click, scroll, or drop into a contained window;
  • screenshots or window contents, including the optional live previews (section 4.2);
  • how often you use the App, how many windows you contain, which features you use, or how long a session lasts;
  • usage, diagnostic, analytics, crash, or telemetry events of any kind;
  • any installation, device, advertising, or session identifier.

There is no analytics or crash-reporting software bundled in the App, and no advertising or attribution SDKs. This is not a retention period that could be shortened or lengthened later — the data is never created, so there is nothing to hold, breach, disclose, or subpoena.

4. macOS permissions the App asks for

4.1 Accessibility (required)

To move, resize, and re-parent another app's windows, macOS requires that you grant Contain Accessibility access under System Settings → Privacy & Security → Accessibility. That permission lets the App read the position, size, and title of open windows and ask macOS to move them.

Everything the App learns through that interface is used in the moment, on your Mac, to place a window — and is not written to disk by us, not aggregated, and not transmitted. You can withdraw the permission at any time in System Settings; the App will tell you it has lost it rather than failing silently.

4.2 Screen Recording (optional, off by default)

The window picker can show a live thumbnail of each open window instead of an application icon. macOS gates window images behind the Screen Recording permission, which is substantially broader than the App needs, so Contain never asks for it on its own — the feature is off until you turn it on, and the picker works on icons otherwise.

If you do enable it, thumbnails are rendered on your Mac for display inside the picker and are discarded when it closes. They are never saved to disk by the App and never transmitted.

5. Your licence: the one thing that leaves your Mac

Contain is a paid app, and the licence check is the only part of it that talks to a server. That is not analytics — it is how the App knows it has been bought — but it deserves the same precision.

5.1 What is sent, and to whom

  • On activation: the App sends your licence key and this Mac's name — the name macOS shows in Sharing settings — to Dodo Payments, our payment and licensing provider. The device name is what lets you tell your 3 activations apart when you come to free one; if that name identifies you, that is because you named your Mac after yourself, and you can rename it before activating.
  • On each launch: the App re-checks the same key, scoped to the activation created for this Mac. Nothing else is sent, and nothing at all is sent while you work.
  • On deactivation: the App asks the provider to release this Mac's activation slot, so the key can be used on another machine.

These requests carry your licence key and the activation identifier, and nothing else: no window list, no app names, no usage information, and no record of anything you did in the App. As with any network request, the receiving server also sees the technical details every request carries — including your IP address.

5.2 What is stored on your Mac

The App keeps one file, ~/Library/Application Support/Contain/license.json, holding your licence key, the activation identifier for this Mac, the product identifier and name, the name and email address on your purchase as the provider returned them, and the dates of activation and of the last successful check. It stays on your Mac; we never receive it. Deactivating this Mac from Settings → License deletes it.

The App also stores its own preferences — such as when it last checked for an update — in the standard macOS preferences store for the App, on your Mac.

5.3 Working offline

If the licensing server cannot be reached, Contain keeps working for a further 14 days on the strength of the last successful check, so that a flight or an outage does not lock you out of your own windows.

5.4 Payment

Dodo Payments acts as merchant of record for the sale and handles the payment itself. We never see your card details. The email address you give at checkout is held by that provider under its own privacy notice and our agreement with it, and reaches us as part of the record of a sale.

6. Updates

The App checks for new versions through the Sparkle update framework, once a day and whenever you ask it to, by fetching an update feed we host and downloading the release from the same place. As with any download, the server serving those files sees the technical details of the request, including your IP address, and the App version making it.

Sparkle's optional anonymous system profile — which would report things like your macOS version and hardware model — is not enabled, so no profile is sent. Every update is verified against our signing key before it is installed.

7. This website

The Contain pages on wizhut.tech are part of this site and follow its analytics practice: nothing that identifies you is stored or read until you accept the consent banner, and you can change your answer at any time using "Manage analytics preferences" in the footer. No advertising tag exists on this site. The banner itself explains what is collected in each of the three states.

Downloading the App from this site is a request to our download host, which sees the same technical request information any web server does.

8. Purposes and legal basis

Where the GDPR applies, we rely on the following legal bases:

  • Performing our contract with you (Article 6(1)(b)) — activating and validating your licence, delivering your key, providing updates, and dealing with support requests and refunds.
  • Complying with legal obligations (Article 6(1)(c)) — keeping the accounting and tax records a sale requires.
  • Our legitimate interests (Article 6(1)(f)) — protecting our licences against abuse, keeping the App and our infrastructure secure, and establishing, exercising or defending legal claims. We have considered your interests and rights against ours, and the processing involved is limited to a licence key and an activation record.
  • Your consent (Article 6(1)(a)) — website analytics only, and only after you accept the banner. You may withdraw it at any time.

There is no legal basis to describe for usage data, because none is processed.

9. Recipients

We do not sell personal data, and we do not share anything about you with third parties for advertising purposes. Since the App collects no usage data, there is no usage data that could be shared, sold, or disclosed.

We may disclose limited information, where necessary, to:

  • our payment and licensing provider, Dodo Payments, as described in section 5;
  • infrastructure, hosting, download, email, and support providers that help us operate the App and this site;
  • professional advisers such as accountants, auditors, lawyers, or insurers, where necessary for our legitimate business or legal purposes;
  • public authorities, courts, regulators, or law enforcement bodies, where we are legally required to disclose or where disclosure is necessary to establish, exercise, or defend legal claims.

Where a provider processes personal data on our behalf, we put appropriate contractual and security safeguards in place and they may process it only on our instructions.

10. International transfers

The App transmits no usage or diagnostic events, so there is no such data to transfer. The limited licence and purchase information we process is handled within the European Union or European Economic Area, or under appropriate safeguards — such as the European Commission's standard contractual clauses — where our payment and licensing provider operates outside it.

We do not otherwise transfer personal data we control outside the EEA unless appropriate safeguards are in place or the transfer is permitted by applicable law.

11. Retention

We hold no usage or diagnostic events, so there is nothing of that kind to retain or delete.

Records relating to your licence and purchase are kept for as long as the licence is valid, and afterwards for the period our accounting, tax, and legal obligations require, or as long as needed to establish, exercise, or defend legal claims. Support correspondence is kept for as long as it is useful to answer follow-up questions, and then deleted.

Everything stored on your Mac is under your control: deactivating this Mac deletes the licence file, and deleting the App and its Application Support folder removes what remains.

12. Security

We maintain technical and organisational measures appropriate to the limited information we process — access controls, limited internal access, encrypted transport for licence checks and downloads, and cryptographic signing of every update. The App is signed and notarized by Apple, so macOS can verify it has not been tampered with since we built it.

No method of transmission or storage is completely secure. The strongest protection we can offer here is structural rather than procedural: the window list, the titles, and everything you do inside a contained window are never collected in the first place.

13. Your rights

Subject to applicable law, you have the rights of access, rectification, erasure, restriction of processing, objection to processing based on legitimate interests, and data portability, as well as the right to withdraw consent where processing is based on it, and the right to lodge a complaint with a supervisory authority.

In practice the only personal data we are likely to hold about you is your purchase record and any correspondence you have sent us. Because the App collects nothing that identifies you, we may be unable to locate anything without the email address or licence key used at purchase; we will say so if that is the case.

To exercise your rights, write to privacy@wizhut.tech. You may also complain to your local data protection supervisory authority — in Greece, the Hellenic Data Protection Authority (www.dpa.gr); elsewhere in the EU or EEA, the authority for your country of residence, place of work, or the place of the alleged infringement.

14. Minors

Contain is intended for adults working on a Mac and is not directed at children under the age of sixteen (16). We do not knowingly process personal data from children. If you believe a child has provided us with personal data, write to privacy@wizhut.tech and we will delete it.

15. Changes to this Policy

If the App ever begins to handle information differently, we will update this Policy and the "Last updated" date above before that version is released, and note the change on the release log. Adding any form of usage collection would be a material change to the promise this page makes, and we would say so plainly rather than quietly amending a paragraph.

16. Contact

Questions about this Policy or about how the App handles information: