Publisher: think3d — a sole proprietorship based in Saskatchewan, Canada
Product: Homestead, self-hosted team chat software
Contact: [email protected]
Effective date: _not yet in force (draft of 2026-09-26)_
Homestead is software you install and run on your own infrastructure. It is
not a hosted service. think3d does not operate your Homestead server, does not
have access to it, and does not receive the things people send through it.
That means there are two separate privacy relationships, and they must not be
confused:
| Who is responsible | What it covers | |
|---|---|---|
| Your Homestead deployment | You (the organisation that installed it) are the data controller | Accounts, messages, files, voice and video, logs — everything your people put into your server |
| think3d's own activities | think3d is the controller | This website, sales and support correspondence, and the desktop update check described in §4 |
This policy covers only the second row. If you are a user of somebody's
Homestead server and you want to know what happens to your messages, that
question goes to the organisation running that server — not to think3d. We
cannot answer it, because we cannot see it.
We state this positively because it is the product's central claim and it needs
to be exact rather than expansive. think3d does not receive, store, host,
process or have any means of obtaining:
roles or channel structures
Voice and video run peer-to-peer or through media and TURN servers that you
deploy. They do not pass through think3d.
The marketing site says *"your conversations never touch our servers."* That
claim is accurate and deliberately narrow. It does not mean nothing ever
leaves your network — three features do reach outside it, and §4 describes each
one and how to turn it off.
The website sets no cookies, runs no analytics, loads **no third-party
fonts, scripts, tag managers or CDN assets, and makes no third-party
requests**. There is no tracking pixel, no session identifier and no
fingerprinting.
**Because the site stores nothing on your device and shares nothing with anyone
else, there is no consent banner.** Consent under the EU ePrivacy Directive (and
the equivalent Canadian and US state expectations) is triggered by storing or
accessing information on a user's device for non-essential purposes. We do not
do that, so there is nothing to consent to. A banner that asked for consent we
do not need would be noise, not compliance.
This is a standing constraint, not a current state of affairs: **adding a single
analytics tag or hosted font reverses the whole paragraph above** and would
require a consent mechanism.
If you email [email protected], we receive and keep what you send: your
email address, your name and employer if you give them, and the content of the
correspondence. We use it to answer you, to keep a record of what was agreed,
and to provide support.
at your request before entering one — for sales and support enquiries; Art.
6(1)(f) legitimate interests for keeping ordinary business records.
The website invites you to get in touch if you want to be notified at release.
If you license Homestead, we keep the records a business has to keep: who the
customer is, the contact people, what was licensed, and what was invoiced and
paid.
obligation for tax and accounting records.
These are the only ways Homestead reaches outside the customer's infrastructure.
Each is listed with what it discloses, to whom, and the exact configuration key
that turns it off.
What happens. The Homestead desktop application checks for a newer version
once each time it starts. By default it asks think3d's update server.
What think3d receives. The request discloses to us:
can be inferred from it)
Under GDPR an IP address is personal data, so this is processing carried out by
think3d for think3d's own purpose.
shipping security updates to software already in use; the data involved is
minimal and is not used to profile, target or identify individual users.
**Before the desktop app asks us anything, it first asks your own server whether
it is allowed to.** That policy request (GET /api/updates/policy) goes to your
Homestead server and never leaves your network.
How to turn it off. An administrator of your deployment can:
| Setting | Effect |
|---|---|
updates_enabled = false | The desktop app performs no update check at all. Nothing reaches think3d. |
updates_feed_url = your own URL | Update checks go to your internal mirror instead of think3d. Nothing reaches think3d. |
Two caveats we would rather state than have you discover.
1. The check fails open. If the desktop app cannot reach your server to read
the policy — server down, network partition, older server version — it falls
back to the default check against think3d rather than skipping updates
silently. This is deliberate: an unreachable server should not quietly stop
security updates. If your requirement is that a client must *never* contact
us, set updates_feed_url to an internal mirror rather than relying on
updates_enabled, because a mirror survives the fail-open path.
2. The default host name is still discordant.think3d.ca. Homestead was
developed under the working title *Discordant* and the update feed has not
yet moved. If you are building an egress allow-list or deny-list, that is the
host to write down today.
What happens. If GIF search is enabled, what a user types into the GIF
picker is sent to Giphy's API at api.giphy.com.
Who receives what. Giphy receives the search text and the IP address of
your server — the request is made server-side, so individual users' IP
addresses are not exposed to Giphy. Giphy is a US company.
think3d receives nothing from this flow. From your point of view Giphy is a
sub-processor that you have chosen to enable; from ours it is not our processor
at all, because we are not in the path.
How to turn it off.
| Setting | Effect |
|---|---|
gif_search_enabled = false | The entire GIF API is disabled server-side and returns 404. Nothing is sent to Giphy. |
| Leave the Giphy API key unset | GIF requests fail with "not configured" and no query reaches Giphy. |
The switch gates the whole GIF route rather than individual endpoints, so
trending browsing is disabled along with search.
EU note. Enabling this feature creates a transfer of personal data to the
United States, which the customer — as controller — is responsible for
assessing. Leaving it off avoids the question entirely.
What happens. When someone posts a message containing a link, your Homestead
server fetches that URL to build a preview card (title, description, image).
Who receives what.
address, and therefore learns that someone in your organisation posted that
link and roughly when.
each reader's browser** from wherever it is hosted. That host therefore also
sees the reader's own IP address and user-agent. This is the same behaviour as
any web page embedding a remote image, but it is worth stating because it is
the one part of this flow that exposes individual users rather than the server.
Security. Because the URL comes from a user, the fetch is guarded: the
resolved IP address is validated (not just the host name), private and
link-local address ranges are refused, redirects are re-validated at every hop,
and the response size is capped. This was hardened deliberately — an unguarded
version of this feature is a server-side request forgery vulnerability.
How to turn it off.
| Setting | Effect |
|---|---|
link_previews_enabled = false | No preview fetching at all. Your server contacts no external host because of a pasted link. |
Under GDPR you have the right to: access the personal data we hold about you;
have inaccurate data corrected; have data erased; restrict or object to
processing (including processing based on legitimate interests, such as the
update check); receive your data in a portable form; withdraw consent where
consent is the basis; and lodge a complaint with your national supervisory
authority.
Under PIPEDA you may ask what personal information we hold about you, how it
is used and to whom it has been disclosed; ask for corrections; and withdraw
consent, subject to legal and contractual limits. If you are not satisfied with
our response you may complain to the **Office of the Privacy Commissioner of
Canada**.
We do not sell personal information and we do not share it for cross-context
behavioural advertising. Depending on your state you may have rights to know,
delete, correct and opt out. Note that **California's CPRA reaches B2B contact
data**, which is exactly what a sales pipeline consists of.
Email [email protected] and say what you want. We will confirm receipt and
respond within the applicable statutory period — one month under GDPR, thirty
days under PIPEDA.
Requests about a Homestead deployment. If your request concerns messages,
accounts or files inside an organisation's Homestead server, we cannot act on it
and we cannot forward it, because we have no access to that server and no
relationship with its users. Direct it to that organisation.
We do not sell, rent or trade personal data. We disclose it only:
payment processing. Procurement will ask for this list and GDPR Art. 13
expects the categories of recipient.]**
us; and
same protections.
On law-enforcement demands, the structural point is worth repeating: **we cannot
produce customer message content because we never hold it.** A demand served on
think3d for the contents of a customer's Homestead server cannot be complied
with. It would have to be served on the customer.
| What | How long | |
|---|---|---|
| Website access logs | None kept | Access logging is switched off on homestead.chat. Error logs contain no visitor identifiers and rotate with the server. |
| Sales and support correspondence | 24 months after last contact | A fixed period, rather than "as long as necessary". |
| Mailing list entries | No list exists | There is no mailing list and no signup form. If one is introduced this policy will be updated first, and CASL consent records will be kept for 3 years after unsubscribe. |
| Business and billing records | 6 years | The retention period the Canada Revenue Agency requires for business records. |
| Update-check logs | None kept | The update endpoint records nothing. It answers with the current version and keeps no log of who asked. |
Vague retention language is one of the most commonly criticised parts of a
privacy policy. Each cell above should end up with a number.
The personal data think3d holds is small: an inbox, business records, and
whatever the update endpoint logs. We protect it with access controls and
encryption in transit, and we keep the amount deliberately low because data not
collected cannot be lost.
Homestead is licensed to organisations for workplace use. It is not directed at
children and think3d does not knowingly collect personal data from children.
think3d does not carry out automated decision-making or profiling with personal
data.
If this policy changes materially we will update the effective date and, for
existing customers, say so in writing.
Material changes will be announced by email to customers and noted at the top of this page with a revision date.