Integrations

How connections work

Connections are per person, scoped to what you granted, and revocable in one click. Why that matters more than the length of the catalog.

Most tools that connect to your stack ask for one admin account with broad access and then act as that account for everyone. It's simple, and it means the tool can do anything the admin can do, for anyone who asks it nicely.

Gini doesn't work that way, and it's the design decision most worth understanding.

Connections belong to people

When you connect HubSpot, you connect your HubSpot. Gini acting on your ask uses your access. Your colleague's asks use theirs.

The consequences are the ones you'd want:

  • Gini can't show someone a record they couldn't open themselves
  • Nobody gains access by asking Gini instead of asking the tool
  • Your leaving revokes what you connected, automatically
  • The audit trail in HubSpot says who actually did it

There is no master key, and no admin account that everything runs through.

Scoped to what you granted

A connection carries the permissions you approved at connect time and nothing more. If you connected GitHub read-only, Gini cannot merge a PR with it, regardless of what anyone asks for.

Some connections are read-only by default because that's the narrower and usually sufficient grant. Where connecting read-only is a meaningfully different thing, you're offered the choice at connect time rather than having it made for you.

Revocable in one click

app.ginicomputer.com → Integrations → Disconnect. Access ends immediately.

You can also revoke from the tool's own side (Google's app permissions, HubSpot's connected apps), and Gini will show the connection as broken next time it tries to use it.

Revoking is not deleting

Disconnecting stops Gini reaching the tool. It doesn't delete what Gini already learnt from it. If you want that gone too, see Deleting your data.

Where credentials live

Not in the agent, and not on the machine a run executes on. Integration credentials are held in a separate vault with per-tenant keys, encrypted with AES-256 at rest and TLS 1.3 in transit.

A run gets the ability to call a tool. It does not get the token.

What this means day to day

If Gini says it can't see something, it usually can't. The first check is whether you can open it. Nine times in ten that's the answer.

Two people can get different answers to the same question. Correctly. If you can see the enterprise pipeline and your colleague can't, Gini reflects that.

A routine depends on its owner's connection. A scheduled job running on someone's Google access stops when that access goes. It stops rather than falling back to something broader. See Managing routines.

Connecting a tool doesn't announce it. Your connections are yours. Your colleagues can see that a connection exists for a tool, not the contents of your account.