Before engineers delegate to Devin, security should settle five things. Settle the training opt-out on self-serve plans, which repositories the GitHub app can reach, how credentials are stored, what a running session can reach on the network, and where sessions run. Each one maps to a setting in Devin or a term in Cognition's documentation.
When you need this
- Security must approve Devin before engineers connect company repositories.
- You are moving from a self-serve plan to Teams or Enterprise and need the data terms confirmed.
- Devin needs credentials for internal systems or cloud accounts.
Evaluation criteria
Training and retention
Is our code used to train models?
Look forHave a paid-plan admin opt out in Data Controls if company data must stay out of training. The opt-out also enables zero data retention with model providers. Only an admin can opt out on Teams. Cognition does not train on Enterprise data without express written consent, and it keeps data for the length of the customer relationship.
Repository scope
Which repositories can Devin reach, and with whose permissions?
Look forInstall the GitHub app on selected repositories only. Every member of the Devin organization works with the integration's organization-level permissions, whatever their own GitHub access. On Enterprise, grant repositories to each organization explicitly.
Merge controls
Can anything reach the main branch without a human?
Look forProtect the main branch with required checks, as Cognition recommends. Link engineers' GitHub accounts and set Open PRs as to use their names. Require session access for pull request comments so only the session's users can steer Devin from GitHub.
Credentials
Where do secrets live, and whose account do they belong to?
Look forScope secrets to an organization, a person, or a repository. Give Devin a dedicated account on each external system. Use OIDC workload identity for short-lived cloud access and drop long-lived keys. Every member can use organization secrets, but only admins can view or edit them.
Session boundaries
What can a running session reach?
Look forSet a default security profile for the organization or enterprise, with network and MCP allowlists and git access. Remove the GitHub CLI token where sessions do not need it. Make the profile mandatory so no organization, automation, or session can loosen it. For Outposts, enforce Cognition's published network policy on your own infrastructure.
Identity and deployment
Who can sign in, and where do sessions run?
Look forEnterprise adds SAML or OIDC SSO, custom roles, and AI Guardrails. Each session runs on its own isolated machine in Cognition's multi-tenant cloud, in a single-tenant dedicated deployment reached over AWS PrivateLink, or on Outposts workers you operate, which Pro, Max, and Teams accounts also get. Cognition has held SOC 2 Type II since September 2024.
Questions to ask vendors
- Has an admin opted out of training in Data Controls, and who confirmed it?
- Which repositories does the GitHub app reach today, and who approved that list?
- Which security profile is our organization default, and is it mandatory?
- Which organization secrets exist, and does each belong to an account created for Devin?
- Which deployment model does our data classification require?
Red flags
- The GitHub app installed on all repositories in a self-serve organization with training still on.
- Personal credentials stored as organization-wide secrets.
- Repositories Devin can push to with no branch protection on the main branch.
- Outposts treated as a network boundary while the published network policy goes unenforced.
Products in this piece
Sources
- Official documentation
- 12
- Devin docs: Security at Cognition
- Devin docs: Enterprise security
- Devin docs: GitHub integration
- Devin docs: Secrets and site cookies
- Devin docs: Cloud authentication with OIDC
- Devin docs: Security profiles
- Devin docs: Enterprise deployment
- Devin docs: Outposts
- Devin docs: Custom roles and RBAC
- Devin docs: Getting started with Devin Enterprise
- Devin docs: AI Guardrails
- Devin docs: Environment setup