Comparisons

Comparisontheir pages read 22 Sep 2026

Devin vs attest_tag

Devin is sold as an AI software engineer: hand it a ticket and it comes back with a pull request. attest_tag is a teammate in Slack and Microsoft Teams that holds writes for a Confirm by default, prints the model and cost under every reply, routes access requests to tiers where nobody approves their own, ships the audit log in the free plan, and is one MIT binary you can run yourself.

Which model answers

Any endpoint, per thread

What a turn costs, and who sees it

Model and cost under every reply

Where it runs

Hosted, or one binary of yours

Who holds the credentials

The proxy. Never the model

Who may approve

Never your own request

What you can audit

Every call, exportable

Pick attest_tag when

  • A credential is given to the service, never the model: sealed with AES-256-GCM under a key you hold on a self-host, injected by an in-process proxy one hop before the request leaves, and scrubbed out of every response before it reaches the model or Slack.
  • A fix job hands the change to a separate worker container that clones the branch, runs the tests, makes the change, runs them again, and opens a draft pull request; it pushes one branch and never merges.
  • A monthly budget for the workspace, another per channel, and a per-user hourly rate limit; the bot pauses at the ceiling and says so, rather than reporting having crossed it.
  • One MIT-licensed Go binary with the console embedded, on Docker, Cloud Run, Fargate, Container Apps or Kubernetes, at no fee and with every feature in it; the hosted service runs the same code.
  • A flat monthly fee by plan size, never per seat, from $49 for up to 10 users to $599 for up to 250, and a free plan that does not expire with approval tiers, audit export, budgets and two-factor sign-in included.
The ten questions, side by side

Their page, ours

What the hero says, and what the rest of the site does not.

A hero line is a promise about the product. The questions an engineer asks before rolling one out are usually answered somewhere else on the site — or not answered. These are the ones we looked for.

Devintheir hero, verbatim

“Devin, the AI software engineer”

An AI software engineer that ships pull requests the way your team does; you tag it in Slack or assign it a ticket in Linear.

What their pages do not say

  • The model named under each reply, for a session you did not pin with !swe, !swe2 or a mode command
  • What a turn cost, in the thread
  • A Confirm on each individual write inside the Slack thread (its docs describe approval of the plan, and CLI prompts on writes)
  • Approver tiers, or a rule that nobody approves their own request
  • An audit log outside the Enterprise tier
  • Source and licence

On the public pages listed under the table, as of 22 Sep 2026. An absence is a fact about a page, not about the product; if one of these has since been answered, we will change it.

attest_tagthe same questions, in writing

Side by side

Ten questions worth asking either way.

Our column is the same on every comparison, and each cell ends where the mechanism is shown. Theirs is Devin’s own pages, quoted or closely paraphrased, as read 22 Sep 2026.

01Which model answers

attest_tag

Any OpenAI-compatible endpoint — OpenRouter, a vendor API, or a model you host. Ships on google/gemini-flash, with a heavy model routed to automatically for code and long threads, and a per-thread override.
Models and cost

Devin

Pro lists 'access to frontier models from OpenAI, Claude, Gemini, and SpaceXAI, plus leading open source models'; Free lists 'Limited model availability'. In Slack, '!swe' and '!swe2' 'start the session on Cognition's latest SWE model (SWE-2 where available)', and '!fast', '!lite', '!ultra' and '!fusion' pick a mode; a model name printed under the reply is not stated.
02What a turn costs, and who sees it

attest_tag

Metered per completion and printed under the reply beside the model that answered, with !usage for the month by channel. A monthly budget for the workspace, another per channel, and a per-user hourly rate limit — the bot pauses at the ceiling rather than reporting having crossed it.
Audit and budgets

Devin

Per-session usage in the web app's Session Insights — 'Any user can see per-session usage from Session Insights, regardless of pricing model' — accruing 'based on the work Devin actually performs in a session'. A per-turn figure, or one inside Slack, is not stated.
03Where it runs

attest_tag

Hosted by us, or one MIT-licensed Go binary with the console embedded on your own infrastructure — Docker, Cloud Run, Fargate, Container Apps or Kubernetes. The same code either way. Where HIPAA applies, run it yourself so nothing leaves your network, and we sign a business associate agreement with you.
Self-hosted

Devin

Devin Cloud, plus Devin Desktop and a CLI. Under Enterprise, 'Devin's development boxes are deployed within your Virtual Private Cloud (VPC)', the pricing page's 'Dedicated deployment option'. An on-premises deployment is not stated.
04Who holds the credentials

attest_tag

The service, never the model. Sealed with AES-256-GCM at rest — under a key you hold, on a self-host — injected by a proxy at the network edge, and scrubbed back out of every response before it reaches the model or the thread.
Credentials, in the guardrails

Devin

Cognition's Secrets Manager. 'All secrets are encrypted at rest'; for Global Secrets 'only admins will be able to view or edit existing secrets'. Devin 'binds secrets as environment variables' for shell commands and 'types the value directly' in the browser. Key custody is not stated.
05Before it changes something

attest_tag

Any method other than GET, HEAD or OPTIONS is held for a card in the thread — Confirm, Cancel, or say what you actually wanted. Pending writes expire after five minutes. A fix job opens a draft pull request and never merges.
Human-in-the-loop writes

Devin

A hold on the plan, not on each write: 'When Devin doesn't have 🟢 confidence (i.e., 🟡 or 🔴), it will now wait for user approval before proceeding with its plan'; otherwise 'Devin waits 30 seconds for your input before proceeding', adjustable in Settings > Customization. In the CLI's Normal mode 'read-only operations are auto-approved while writes and shell commands require your explicit approval.' A Confirm on each write inside a Slack thread is not stated.
06Who may approve

attest_tag

Writes that grant access leave the thread and go to an approver’s DM. Nobody approves their own request — enforced three times over, once in SQL — and a request routes to the least powerful tier that covers every call in it.
Access requests and tiers

Devin

The person who opened the session approves its plan ('click "Wait for my approval" so that Devin waits for your feedback on its full plan'); the Enterprise page lists 'Manage roles and access controls'. Approver tiers, and a rule that nobody approves their own request, are not stated.
07What you can audit

attest_tag

Every turn, tool call, proxied request and completion — with tokens and cost — in a console you run, exportable as CSV. Self-hosted, it is a table in your own database.
The audit trail

Devin

'Audit logs and fine-grained access controls' is listed under Enterprise. Audit logs are not mentioned in the Free, Pro, Max or Teams tiers on the pricing page. The enterprise API documents GET /v2/enterprise/audit-logs, 'Retrieve audit logs for the entire enterprise', 'Only accessible by enterprise admins'.
08Source and licence

attest_tag

MIT. The repository is the product: the hosted service runs the same binary you can clone, read and build.
The same binary, inside your network

Devin

Not stated on their site.
09What it costs

attest_tag

A free plan that does not expire — $5 of model spend a month — then a flat monthly fee by plan size, $49 for up to 10 users to $599 for up to 250 users, with AI credit included. Never per seat, and every feature in every plan.
Pricing

Devin

Free $0; Pro $20 per month; Max $200 per month; Teams '$80/month for team plan + $40/mo per full dev seat'; Enterprise 'Let's talk'. Enterprise customers 'consume Agent Compute Units (ACUs) against the volume in their order form'; no ACU unit price is stated.
10Where it lives

attest_tag

Slack and Microsoft Teams, from one console: channels, threads and DMs in Slack; channel reply chains, group chats and one-to-one chats in Teams. It joins the channels you invite it to, and there is no second place for the team to go.
Threads and streaming

Devin

Slack — '@Devin' in channels and threads, /ask-devin and message shortcuts, on any Slack plan — and Microsoft Teams, alongside Devin Cloud in the browser, Devin Desktop and a CLI. The Slack sidebar experience 'requires a paid Slack plan'.

“Not stated on their site.” means we read the pages below on 22 Sep 2026 and did not find it — not that the product lacks it. Ask them; a vendor that answers all ten in writing is a good sign about the vendor. If we have something wrong, tell us and we will fix the page.

Pages read: Devin, the AI software engineer (homepage)Plans and Pricing | DevinEnterprise | DevinEnterprise security - Devin DocsSlack - Devin DocsIntegrations Overview - Devin DocsUsage - Devin DocsSecrets & Site Cookies - Devin Docs2025 release notes - Devin DocsCLI permissions - Devin DocsEnterprise API: audit logs - Devin Docs

Questions

What people ask about Devin and attest_tag.

Is attest_tag an open-source alternative to Devin?
attest_tag is MIT-licensed: one Go binary with the admin console embedded, one database, and a public repository on GitHub; the hosted service runs the same code. Devin's pages do not state a licence or whether its source is available; the 'leading open source models' on its pricing page are model options, not Devin's own code. Both answer an @mention in a Slack thread. Devin is sold as an AI software engineer, attest_tag as a teammate in Slack and Microsoft Teams.
Can I run attest_tag on my own servers?
Yes, and self-hosting costs nothing: Docker on a laptop or VM, Google Cloud Run, AWS Fargate, Azure Container Apps, or Kubernetes with Helm, with the console embedded in the binary and every feature in it. Devin's Enterprise page says 'Devin's development boxes are deployed within your Virtual Private Cloud (VPC)', the pricing page's 'Dedicated deployment option', listed under Enterprise only; an on-premises deployment is not stated on the pages read.
Which model does each run on?
attest_tag runs on any OpenAI-compatible endpoint, whether OpenRouter, a vendor API or a model you host, shipping on google/gemini-flash by default, settable per workspace, channel and thread, with a heavy model routed to automatically for code and long threads. Devin's Pro tier lists 'access to frontier models from OpenAI, Claude, Gemini, and SpaceXAI, plus leading open source models'; in Slack, '!swe' or '!swe2' 'start the session on Cognition's latest SWE model (SWE-2 where available)'. A model name printed under the reply, or a bring-your-own key, is not stated on the pages read.
What does a turn cost?
In attest_tag, every completion's tokens and cost are measured and printed under the reply in the thread, with !usage for the month by channel; a typical question on the default model costs about $0.002 and a fix job about $0.18. Devin's usage doc says 'Any user can see per-session usage from Session Insights' in the web app, accruing on 'the work Devin actually performs in a session'; a per-turn figure is not stated.
Does Devin hold a write for a human before it runs?
Devin holds its plan, not each write: its release notes say 'When Devin doesn't have 🟢 confidence (i.e., 🟡 or 🔴), it will now wait for user approval before proceeding with its plan', and otherwise 'waits 30 seconds for your input before proceeding', a default you change in Settings > Customization; its CLI's Normal mode makes 'writes and shell commands require your explicit approval'. A Confirm on each write inside a Slack thread is not stated. In attest_tag, any method other than GET, HEAD or OPTIONS is held for a card in the thread with Confirm, Cancel and 'Something else…'; pending writes expire after five minutes, and a fix job opens a draft pull request and never merges.
Can someone approve their own request?
Not in attest_tag. A write that grants access leaves the thread and goes to an approver as a DM with Approve and Deny; nobody approves their own request, enforced three times over, once in SQL, and a request routes to the least powerful tier that covers every call in it. Devin's Enterprise page lists 'Manage roles and access controls'; its pages name no approver and no self-approval rule.

More comparisons

The same ten questions, asked of the others.

All comparisons

Try both

Run both in the same channel for a week.

We mean it. attest_tag answers in threads, so it will not collide with whatever else is in the channel, and a week of your own questions settles this faster than any table.

Half an hour to set up, one channel to start, and the free plan needs no card. See what it costs.