Comparisons

Comparisontheir pages read 22 Sep 2026

Lindy vs attest_tag

Lindy waits for a named approver before anything with outside impact, so the difference is in the mechanisms its pages do not describe: the model and cost printed under every reply, tiers where nobody approves their own request, an audit log in the free plan rather than under Enterprise, and a flat fee by team size rather than $29.99 a user.

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 to the model: an in-process proxy injects it at the network edge one hop before the request leaves, the model only ever emits a URL and a method, and responses are scrubbed of secret-shaped values before they reach the model or Slack.
  • One MIT-licensed Go binary with the admin console embedded and one database, the same code the hosted service runs, on Docker, Cloud Run, Fargate, Container Apps or Kubernetes, at no fee and with no limits set by us.
  • A monthly budget for the workspace, another per channel, and a per-user hourly rate limit, with the month’s spend by channel shown against the budget on demand with !usage.
  • An MCP tool’s write is decided from the tool’s name, not the server’s own read-only hint, and admins pre-approve the writes they expect with plain-sentence allow rules, checked strictly.
  • “Fix this and raise a PR” 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.
  • You need HIPAA: run the same binary on your own infrastructure so protected health information never leaves it, and we sign a business associate agreement with you on request.
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.

Lindytheir hero, verbatim

“The AI teammate that will 3x your output.”

Lindy is an AI teammate that connects to your tools, knows about your company and does work for the whole team, from Slack DMs and channels or as scheduled routines.

What their pages do not say

  • The model that answered, printed under the reply
  • What a single reply cost, shown in the thread
  • Where the OAuth tokens live
  • Who may be an approver, and whether the asker may approve their own action
  • Whether the audit log is available below Enterprise: the security page says every action is logged, the pricing page lists Audit logs only under 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 Lindy’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

Lindy

“Pick your model of choice for each task. Most major models are available.” Every tier lists “Model selection, all models”; the docs describe switching it from a dropdown below the taskbar. The model shown under a reply is not stated on their site.
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

Lindy

Credits: “Credits are how Lindy measures work, and bigger jobs use more.” Everyday tasks 2–250 credits, deep work 250–1,000, big builds 1,000–2,500; overage at 2x. When the pool runs out, “Lindy pauses until your next billing cycle”; a per-person cap pauses that teammate’s credit-using actions, and per-teammate usage is shown under Settings → Members. A per-reply cost shown in the thread is not stated on their site.
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

Lindy

Not stated on their site.
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

Lindy

The security page says “Everything moving in or out of Lindy is encrypted in transit, and storage is encrypted at rest” and “Permissions are yours to set, change, and revoke at any time.” Where OAuth tokens live, how they are encrypted and who can see them are not stated on their site.
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

Lindy

“Anything with outside impact waits for a named approver: sending an email, updating a ticket, posting to another channel, publishing a doc.” Each connected account is set to Always allow or Ask for approval; read-only actions never need approval. Approval is enforced in shared Slack threads; personal DMs keep their existing confirmation behaviour. On every plan.
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

Lindy

“A named approver”, per the homepage. Who may hold that role, how one is named, and whether the requester may approve their own action are not stated on their site.
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

Lindy

“Every action Lindy takes is logged. You can see exactly what happened, when, and why”, on the security page with no tier named. On the pricing page, “Audit logs” is an Enterprise bullet under “the controls your security review will ask about”.
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

Lindy

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

Lindy

Per user per month: Plus $29.99 with 3k credits a user, Pro $99.99 with 15k, Max $199.99 with 35k; Enterprise is custom. Credits pool across seats and do not roll over. A 7-day free trial; no free tier is listed.
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

Lindy

Slack DMs and channels: “@mention Lindy in a channel or thread and it replies inside that thread, never as a new top-level message”, plus the Lindy app where the docs put the model dropdown and Settings → Billing. “Slack-native teammate in threads + mentions” is on every plan; Microsoft Teams appears on the homepage as a meeting surface: “Lindy joins on Meet, Zoom, and Teams as a named participant everyone can see”; a Teams chat surface is not stated.

“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: Lindy homepagePricingEnterprise Security & ComplianceSlack integrationLindy Bot for Slack (docs)Credits (docs)Understanding your usage (docs)

Questions

What people ask about Lindy and attest_tag.

Is attest_tag an open-source alternative to Lindy?
attest_tag ships under the MIT licence: one Go binary with the admin console embedded, one database, and the same code the hosted service runs, in a public GitHub repository. Lindy’s pages do not state a licence or whether its source is available. Both answer in Slack threads and DMs and both run scheduled routines; Lindy is used from its own app as well, and attest_tag answers in Microsoft Teams chats too.
Can I run attest_tag on my own servers?
Yes, at no fee and with no limits set by us: Docker on a laptop or VM, Google Cloud Run, AWS Fargate, Azure Container Apps, or Kubernetes with Helm. Credentials are sealed under a MASTER_KEY you hold, and the audit log is a table in your own database. Lindy’s pricing, security, homepage and Slack pages do not mention a self-hosted or on-premise option.
Which model does each run on?
Lindy says every plan gets every model: “Pick your model of choice for each task. Most major models are available”, switched from a dropdown below the taskbar. Its pages do not name a specific model or say whether the model used is shown under a reply. attest_tag talks to any OpenAI-compatible endpoint, ships on google/gemini-flash, sets the model per workspace, channel and thread with !model, and routes to a heavier model for code, long threads and turns that have made eight tool calls.
What does a turn cost, and who sees it?
In attest_tag every completion’s tokens and cost are measured and printed under the reply in the thread; !usage shows the month’s spend by channel against the budget. A typical answered question on the default model costs about $0.002, a fix job about $0.18. Lindy meters work in credits, with published ranges per task type and overage at 2x; a per-reply figure shown inside the product is not stated on their site.
Does Lindy hold a write for a human before it runs?
Lindy’s homepage says “Anything with outside impact waits for a named approver”, and the Slack docs give each connected account one setting, Always allow or Ask for approval, applied to every action that writes or sends; read-only actions never need approval. Approval is enforced in shared Slack threads; personal DMs keep their existing confirmation behaviour. In attest_tag any method other than GET, HEAD or OPTIONS is held: the bot posts what it intends to do with Confirm, Cancel and “Something else…”, and the pending write expires after five minutes.
Can someone approve their own request?
Not when the write grants access. In attest_tag such a write 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. A request routes to the least powerful tier that covers every call in it. Lindy’s pages say anything with outside impact waits for a named approver; who may hold that role and whether the requester may approve their own action are not stated on their site.

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.