Here is the shortest safe path to giving Devin production access to a database, start to finish, without leaving a standing credential lying around. The whole point is to get a working, governed connection up fast, so you can see the controls in action before you scale them out across more agents and more databases.
The rule that makes it safe is simple: Devin never holds the production secret. It reaches production through a gateway that does, and the gateway is where every control lives.
The first connection that gives Devin production access
hoop.dev is an open-source Layer 7 access gateway. You run a small agent near your database, it dials out to the gateway, and Devin reaches production through that path. No inbound firewall rule, no VPN, nothing exposed.
- Install the hoop.dev agent on a host that can reach the production database.
- Register the database as a connection and put the credential on the connection, not in Devin.
- Map Devin's identity to a scoped role: read on the tables it needs, no DDL.
- Turn on session recording and set writes to require approval.
- Point Devin at the gateway connection and run a single read query.
That read should return immediately, with sensitive fields masked, and show up as a recorded session. You now have governed production access without a key in Devin's environment, and you got there in the time it takes to install a binary and fill in a connection. The setup is walked through on the hoop.dev site.
Why this is the right shape
Production access for an autonomous agent is dangerous for one reason: standing access. A credential that exists all the time can be misused all the time, by the agent or by anything that reads its environment. Granting access just in time, scoped to one connection, collapses that window. The agent gets in for the task and out when it is done, and the gateway holds the only durable credential.
- No standing secret in Devin to leak.
- Command-level recording outside the agent, so you can see what ran and not just what Devin says it ran.
- Inline masking on supported databases, so PII does not flow back in the clear.
- Approval on writes, so a destructive command pauses for a person.
hoop.dev governs the connection Devin uses. It does not run inside Devin or inspect its prompts; it controls the route to production, which is what needs controlling.
