Comparisons

Comparisontheir pages read 22 Sep 2026

Dust vs attest_tag

Dust is the better choice for rolling agents out to marketing and support. attest_tag lives in Slack and Microsoft Teams, holds every write for a Confirm by default and sends access grants to an approver who is never the requester, seals credentials under a key you can hold on a self-host, and ships the audit log, approval tiers and two-factor sign-in in the free plan and the MIT binary.

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 at rest, 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; the model only ever emits a URL and a method.
  • Google Workspace — Gmail, Calendar, Drive, contacts — runs on each person's own account, never a shared credential, mail is drafted, never sent, and a setup link lets whoever holds a secret paste it themselves.
  • Any OpenAI-compatible endpoint, set per workspace, channel and thread, with a heavy model routed to automatically for code and long threads, and a monthly budget for the workspace, another per channel, and a per-user hourly rate limit at which the bot pauses and says so.
  • 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 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, carrying approval tiers, audit export, budgets, MCP servers and two-factor sign-in.
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.

Dusttheir hero, verbatim

“Multiplayer AI for human-agent collaboration”

Dust, read 22 Sep 2026

A platform for creating, sharing and running agents that connect your company knowledge, tools and teams, mentioned as @Dust in Slack or triggered from Slack workflows.

What their pages do not say

  • What a turn cost, in the thread
  • Where the OAuth tokens live, and under which key
  • An approver other than the person who asked
  • A self-hosted or on-premise option
  • An audit log on any plan below Enterprise

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 Dust’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

Dust

'Build agents with 20+ frontier and open-source models from OpenAI, Anthropic, Google, Mistral, and more.' Admins can restrict models by Basic, Standard and Premium tier. A bring-your-own model key 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

Dust

A per-turn cost shown to the user is not stated on the pages read. Billing is in credits per seat — 'A credit is Dust's unit for measuring AI usage' — and 'Each seat's monthly credit allocation resets at the start of every billing period.'
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

Dust

'Host in the EU or US to meet your regulatory needs'; 'US & EU data residency & single-tenant deployment' is an Enterprise bullet. A self-hosted or on-premise option 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

Dust

Shared: 'One set of credentials shared by all workspace users', where 'Admin provides credentials during tool setup'. Personal: 'each user authenticates individually' and can 'view and disconnect their personal tool credentials'. The security page says 'Data is encrypted with AES-256 at rest, TLS in transit'; where OAuth tokens live, and under which key, 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

Dust

On the email-agents doc: 'If the agent needs to use a tool that modifies something (e.g., creating a ticket, updating a record), it will send you a confirmation request first', as 'a private email with secure Accept / Reject links' to the sender. Whether a Confirm precedes writes in Slack or the web app is not stated on the pages read.
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

Dust

On the email-agents page, the person who asked: 'the agent sends the sender a private email with secure Accept / Reject links before proceeding', and 'Other recipients are not notified'. A separate approver role, or a bar on approving your own request, is 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

Dust

'Audit Logs are only available to workspaces on the Enterprise plan', and are 'available to workspace admins only'; exportable as CSV and streamed to Datadog, Splunk, AWS S3, GCP GCS or a custom HTTPS endpoint. A retention period is not stated.
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

Dust

The homepage and security page footers link 'Github Repo' to github.com/dust-tt/dust, a public repository whose LICENSE file is MIT. The licence is not named on dust.tt's own pages, and no self-host guide is stated on the pages read.
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

Dust

Free 0€, '500 credits · Lifetime'; Pro 24€ a month billed yearly or 30€ monthly, '8,000 credits /seat/mo'; Max 120€ or 150€, '40,000 credits /seat/mo'; Enterprise 'Talk to sales', with 'Workspace-pooled credits & volume pricing'. Per seat, in euros on the page as read; unused credits do not roll over.
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

Dust

Slack — 'mention @Dust in any channel where the bot is present, or use Slack workflows to trigger Dust agents' — plus email to an agent, a Chrome extension and the Dust web app; Microsoft Teams is listed under 'Other integrations you might like'.

“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: Dust - Multiplayer AI for human-agent collaboration (homepage)Dust PricingDust SecurityAI Assistant for Slack | DustAudit Logs - Dust DocsModel access tiers - Dust DocsSend and Forward Email to Agents - Dust DocsPersonal vs Shared Credentials for Tools & MCP Servers - Dust Docs

Questions

What people ask about Dust and attest_tag.

Are attest_tag and Dust both open source?
Both are MIT-licensed. attest_tag is one Go binary with the admin console embedded, one database, and a public repository on GitHub; the hosted service runs the same code. Dust's homepage and security page footers link 'Github Repo' to github.com/dust-tt/dust, whose LICENSE file is MIT, though dust.tt's own pages do not name the licence and do not state a self-hosted or on-premise option; the 'open-source models' on its homepage are models an agent can run on, and say nothing about a licence for Dust itself. Both answer an @mention in a Slack channel.
Can I run attest_tag on my own servers?
Yes, and the binary carries no licence fee: Docker on a laptop or VM, Google Cloud Run, AWS Fargate, Azure Container Apps, or Kubernetes with Helm, with every feature in the binary and the audit log a table in your own database. Dust's pages offer 'Host in the EU or US' and, under Enterprise, 'US & EU data residency & single-tenant deployment'; a self-hosted or on-premise option is not stated.
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. Dust lists '20+ frontier and open-source models from OpenAI, Anthropic, Google, Mistral, and more', grouped into tiers admins can restrict; a bring-your-own model 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. Dust bills in credits — 'A credit is Dust's unit for measuring AI usage' — at 8,000 a seat a month on Pro; its pages do not state a per-turn cost shown to the user.
Does Dust hold a write for a human before it runs?
On the email-agents doc, yes: 'If the agent needs to use a tool that modifies something (e.g., creating a ticket, updating a record), it will send you a confirmation request first', as 'a private email with secure Accept / Reject links' to the sender; whether the same hold applies in Slack or the web app is not stated on the pages read. 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.
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. In Dust's email flow the confirmation goes back to the sender who triggered the run; a separate approver role, or a bar on self-approval, is not stated.

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.