Security & trust

Your code is sensitive IP.
We treat it that way.

controlHub is built for people who are rightly protective of their machines and their programs. Here's exactly how your code is handled — in plain language, no asterisks.

You decide if we learn from your code

By default, your programs, drawings, and notes are never used to train any AI model — ours or a model vendor's. If you choose to let controlHub learn from your code, that's a separate, written, opt-in arrangement — never the default, and always your call.

You're always in control

You decide what gets uploaded, which machines connect, and whether anything can ever be written back. Nothing happens to a PLC that you didn't turn on yourself. There's no hidden access and no default that works against you.

Read-only by default

Out of the box, controlHub can look but never touch. Writing to a live PLC is off until you explicitly enable it — and you enable it narrowly, per project and per tag, not all-or-nothing.

Every write is human-approved

When writes are enabled, the AI can only propose a change. A person reviews and confirms it before anything reaches the equipment. No autonomous changes to live machinery, ever.

Isolated per account, fully audited

Your projects, files, and connectors are private to your account and never shared across customers. Every read and every write is recorded in an audit trail you can review.

Cloud-hosted & encrypted

The archive, the parsing, and the AI all run in the cloud, encrypted in transit and at rest. You reach it from any browser — there's nothing heavy to install and nothing to keep patched on your side.


The Connector

A tunnel out, never a hole in.

Reading live signals is optional, and when you use it, the security posture is conservative by design. The Connector is a small agent that dials out to controlHub — so there are no inbound ports to open and no holes in your plant firewall.

Outbound-only over TLS. The agent initiates the connection on 443. Nothing from the internet can reach into your network through it.
Scoped to what you allow. It only sees the PLCs and tags you point it at — nothing else on the network.
Read-only by default, revocable anytime. Pair it with a one-time token; unpair it from your account whenever you want and it goes dark.

// live signals & the Connector are on the roadmap

controlHub ConnectorOUTBOUND · TLS

How the path works

The plant network never accepts an inbound connection. The agent reaches out, keeps the channel open, and relays only the tags you've allowed.

PLC ◄── LAN ──► Connector ──── TLS 443, outbound ───► controlHub
// no inbound ports · per-tag allowlist · full audit trail
See the full architecture →

In plain language

Where your code lives, and who can see it

Where it lives: your uploaded files and the parsed index sit in encrypted storage in the cloud, tied to your account. The only thing that ever runs inside your plant is the optional Connector — and only if you choose to use it.

Who can see it:you and the people you invite to your workspace. Nobody from another customer can ever reach your projects. Platform support access is restricted and audited — we don't browse customer code.

What the AI does with it:it reads the relevant parts of your program to answer a question, then the answer is shown to you. By default your code isn't retained for training or used to improve a model.

Early access & data-sharing: some pilot customers choose to let controlHub learn from their code — for example, to tune it to their plant — as part of their onboarding. That is always opt-in, spelled out in writing, and never how we treat your code by default. You stay in control, every time.

What we're honest about:live-PLC reading and the Connector are on the roadmap, not shipping yet. Today controlHub works entirely from the programs, drawings, and notes you upload. We'll say so plainly until that changes.

Questions before you trust us with your code?

That's the right instinct. Ask us anything — we built this for people like you.

Request early access