Skip to content
Agents of Humanity
Public preview. Results are preliminary (criteria v1.0, 30 Sept 2026). Tell us what we got wrong
Open sourcehybridPolyForm Shield 1.0.0 (platform); MIT (classic agent)

AutoGPT Platform

Significant Gravitas · agpt.co

AutoGPT Platform is a hosted agent and workflow builder with an assistant (Otto) and Experts. Its runtime source is published under PolyForm Shield. Workflows can be exported as JSON and imported into a self-hosted instance, and workflow graphs are versioned. Most other agent state (memory, history, Experts, credentials) stays on the provider's service, and the provider controls prompts, models and flags remotely.

Strengths
  • Workflow JSON export and import into a self-hosted instance (P1, P3)
  • Self-hostable runtime with no licence check or required phone-home (P3)
  • Graph version history with rollback (V3)
  • Any MCP server can be added without review; approval blocks can go anywhere in a workflow (M3, C2)
Gaps
  • No full export; memory, history, Experts and credentials stay with the provider (P2, T1)
  • Provider-controlled prompt (Langfuse), model routing and flags, with no pinning (T2, M5)
  • No tamper-evident action record or owner-rooted identity (A2, V2)
  • No account deletion, undisclosed retention, and terms reserving unrestricted use of submitted information (C6, T3, C4)
Evidence

All 26 findings

Cloud platform as of 2026-09-30. Code evidence from Significant-Gravitas/AutoGPT commit 39856ae4533ce7025647dfc6e899a1c56f1324e5 (autogpt_platform/, 2026-09-30), assumed to reflect the cloud deployment but not verifiable (see V1). Desk review only: no signup, login or use of hosted services.

Portable · Can you leave, take the whole agent with you, and keep it alive?

30%
  • P1
    Owner-usable round trip

    A single UI action exports a workflow as JSON, and a documented Import action restores it on a self-hosted instance, which counts as non-provider infrastructure. But restoring means standing up that instance first: cloning, generating env config and running Docker Compose by hand, since the docs say not to use the hosted one-command installer yet. That is one shortfall.

    › How it could pass

    Suggestions. Any change that meets the test counts.

    • Ship a supported one-step installer or desktop runtime that imports an export bundle and starts it working
    • Pair the export with a matching one-action restore on non-provider infrastructure
    Partial
  • P2
    Complete export

    The export covers one workflow graph with its sub-graphs. Credentials, secrets and webhook IDs are stripped. Otto/Expert configuration, memory (Graphiti and the business-understanding profile), execution history, schedules, presets and credentials have no export. Workspace files download one at a time, and the chat export is Markdown that skips tool-result messages.

    › How it could pass

    Suggestions. Any change that meets the test counts.

    • Offer one export covering Experts, memory, execution history, schedules, presets, skills and workspace files
    • Include re-linkable integration definitions that do not depend on AutoGPT-registered OAuth clients
    Fail
  • P3
    Runs without the provider

    An exported graph runs on the self-hostable runtime. No licence check, update check or AutoGPT-run service is needed, and LaunchDarkly, Langfuse, Sentry and PostHog are off when their keys are empty. The PolyForm Shield grant is not stated to be perpetual or irrevocable, bars competing uses, and ends on an uncured violation after notice. Features gated by LaunchDarkly flags fall back to code defaults (for example, Graphiti memory is off) unless the owner forces them by env var. Provider-managed credentials must be replaced with the owner's own keys.

    › How it could pass

    Suggestions. Any change that meets the test counts.

    • Grant an explicitly perpetual, irrevocable right to run exported agents that does not depend on non-compete compliance
    • Make every flag-gated capability owner-configurable without a provider flag service
    Partial
  • P4
    Model independence

    On the cloud offering, workflow LLM blocks can use models from several vendors (Anthropic, OpenAI, Google, Meta, Mistral and others via hosted APIs), and Otto can use a Codex or Microsoft 365 Copilot connection. The cloud cannot use local models: the docs say Ollama is self-host only and that cloud AutoPilot routes through Anthropic/OpenRouter. Owners choose only a Balanced/Advanced tier. Voice, transcription and search embeddings are tied to specific OpenAI models.

    › How it could pass

    Suggestions. Any change that meets the test counts.

    • Allow an owner-supplied OpenAI-compatible or local endpoint for Otto and blocks on the cloud
    • Remove capability dependencies on specific hosted models (TTS, transcription, embeddings)
    Partial
  • P5
    Exit survives termination

    Clause 8.2 of the Terms lets AutoGPT suspend or terminate access to the Platform at any time, and clause 4.2 lets it terminate registrations at any time. There is no post-termination export window, no shutdown plan and no owner-held copy of state by default.

    › How it could pass

    Suggestions. Any change that meets the test counts.

    • Commit in binding terms to an export window of at least 30 days after any termination, including bans
    • Publish a shutdown plan, or keep a continuously synced owner-held copy of agent state
    Fail

Transparent · Can you see everything the agent is, and everything shaping it?

13%
  • T1
    Readable without the provider

    Agent state (graphs, executions, chats, Experts, memory in FalkorDB, profile) lives in provider-operated Postgres and FalkorDB. Apart from the graph JSON and Markdown chat exports, it can be read only through the hosted service. Credentials are encrypted with a server-side key the provider holds.

    › How it could pass

    Suggestions. Any change that meets the test counts.

    • Export all state in documented formats with a published schema
    • Let the owner hold the keys for stored credentials, or export them to the owner
    Fail
  • T2
    What runs is what you see

    Otto's base system prompt is fetched at runtime from the provider's Langfuse prompt store; the code fallback is not necessarily what runs. The server-injected context blocks are removed before display, and compaction summaries are deliberately hidden from the card. The exact model is chosen per user by a provider LaunchDarkly routing flag, and owners see only a tier. Several behaviour switches are provider-side flags. Both shortfalls apply.

    › How it could pass

    Suggestions. Any change that meets the test counts.

    • Show the fully assembled context, including the Langfuse-served prompt, injected blocks and compaction summaries
    • Show the exact model and every flag in effect for each call
    Fail
  • T3
    No shadow data

    The privacy policy collects a broad profile (interests, LinkedIn presence, location, usage). On retention it says only that data is not kept longer than needed, with details available by email, so retention is neither disclosed nor bounded. (The agent-used business-understanding profile is graded in M2.)

    › How it could pass

    Suggestions. Any change that meets the test counts.

    • Publish a retention table with bounded periods for every data class
    • Let the owner view every profile and derived record held about them
    Fail
  • T4
    No hidden steering

    I found no paid or sponsored placement in the code. Onboarding recommendations sort provider-featured marketplace agents first. Otto's find_agent tool steers toward marketplace agents, and provider-chosen default models and managed credentials are auto-selected. None of this is covered by a binding no-steering commitment, and the featured ordering cannot be switched off.

    › How it could pass

    Suggestions. Any change that meets the test counts.

    • Put a binding no-paid-placement commitment in the terms
    • Disclose featured/provider-preferred defaults and let the owner switch them off
    Partial

Auditable · Can you reconstruct exactly what the agent did, and trust the record?

17%
  • A1
    Complete action record

    Graph runs record inputs, outputs and trigger source (manual, schedule, webhook, sub-graph, copilot). Copilot block runs are recorded only as chat tool messages, with tool output truncated to about 100 KB. Admin impersonation acts under the user's ID and is logged only server-side, so staff actions are not distinguishable in the owner's record. Activity-event and cost-log writes swallow errors. Two or more shortfalls apply.

    › How it could pass

    Suggestions. Any change that meets the test counts.

    • Record provider/staff-initiated actions as such in the owner-visible record
    • Keep complete tool arguments and outputs without truncation, and alert the owner when recording fails
    Fail
  • A2
    Tamper-evident, owner-checkable

    The execution and chat records carry no hash chain, signature or external anchor. The model the code calls an 'append-only' ActivityEvent has no enforcing trigger or permissions, and the chat-message rows can be updated in place.

    › How it could pass

    Suggestions. Any change that meets the test counts.

    • Hash-chain or sign action-record entries and publish an open verifier
    • Anchor checkpoints with the owner or an independent witness
    Fail
  • A3
    Agent cannot rewrite its record

    Execution and chat records are written by the backend, and no copilot tool deletes executions, graphs or chat history. However, tool outputs over about 80 KB are moved to workspace files, leaving only a preview in the chat, and the agent has a delete_workspace_file tool. That is one path to suppress part of the record. The protection is also undocumented.

    › How it could pass

    Suggestions. Any change that meets the test counts.

    • Store offloaded tool outputs where agent tools cannot delete them
    • Document the record's write path and how the owner can check it
    Partial

Verifiable · Can you prove what it runs, who it is, and what changed?

33%
  • V1
    Obtainable source, matching build

    Source for the platform is public under PolyForm Shield, which allows modification for permitted, non-competing purposes. Owners have no way to tie the hosted cloud build to a commit. The production system prompt and flag configuration come from Langfuse and LaunchDarkly rather than the repository.

    › How it could pass

    Suggestions. Any change that meets the test counts.

    • Publish verifiable build provenance for the deployed cloud release
    • Relicense under terms that let owners have others maintain the runtime without a non-compete
    Partial
  • V2
    Owner-rooted identity

    Agents and Experts have no cryptographic or owner-rooted identity. They are database rows under a provider-issued account, and agent email (AgentMail) is a provider-managed credential.

    › How it could pass

    Suggestions. Any change that meets the test counts.

    • Create agent identity under an owner-held key or owner-controlled domain
    • Make actions verifiable against that identity without provider infrastructure
    Fail
  • V3
    Change history and rollback

    Workflow graphs keep numbered versions, can be listed, and can be rolled back by setting the active version. Changes are not attributed: an Otto edit looks the same as a user edit. Expert soul and boundaries, settings, credentials and the business profile are overwritten with no history. The code notes 'no undo for boundaries'.

    › How it could pass

    Suggestions. Any change that meets the test counts.

    • Attribute every state change to the owner, agent, import, provider or update
    • Version and restore Expert config, memory and settings alongside graphs
    Partial

Modifiable · Can you change anything, and can only you change it?

20%
  • M1
    Instructions and logic

    Workflows are fully editable, and Expert 'soul' text (identity, voice, boundaries) can be edited. The base Otto prompt, however, comes from the provider's Langfuse store and cannot be replaced; soul text is layered beneath it. Built-in default skills are not downloadable or replaceable. (Locked protected soul rules are graded in M4.)

    › How it could pass

    Suggestions. Any change that meets the test counts.

    • Expose the base Otto prompt and default skills as owner-replaceable instructions
    • Never re-apply provider prompt changes over owner edits
    Partial
  • M2
    Memory

    Graphiti memory, where the flag enables it, can be listed and forgotten but not edited directly. The CoPilotUnderstanding business profile (partly populated from a Tally form at signup) is injected into Otto's context but has no user view, edit or delete route; the clear function exists but is never called. Skills can be managed.

    › How it could pass

    Suggestions. Any change that meets the test counts.

    • Show the business-understanding profile with edit and delete controls
    • Add direct edit for Graphiti memory facts
    Fail
  • M3
    Tools

    Owners can connect any MCP server by URL with only SSRF checks and no provider review. Built-in tools and blocks can be excluded only inside a workflow's AutoPilot block. Plain chat has no setting to remove built-ins, and provider-disabled blocks cannot be re-enabled.

    › How it could pass

    Suggestions. Any change that meets the test counts.

    • Offer a per-owner setting to remove any built-in tool or block in chat and workflows
    Partial
  • M4
    Owner has the final say

    Provider-imposed protections are all set by operator env vars or provider flags, and I found no owner setting to change any of them. These are the E2B sandbox, ClamAV scanning, the SSRF blocklist, per-user AutoMod moderation and the protected Expert soul rules. The daily/weekly spend caps can only be reset by buying credits.

    › How it could pass

    Suggestions. Any change that meets the test counts.

    • Expose each provider-imposed protection as an owner setting with a warning
    Fail
  • M5
    No unilateral change

    The provider can change Otto's prompt through Langfuse (production label, re-fetched at runtime) and the model through the LaunchDarkly routing flag. Saved graph model choices are rewritten on every server start. The changelog records retired models being auto-migrated. Only schedules can pin a workflow version; the runtime, prompt and Otto model cannot be pinned.

    › How it could pass

    Suggestions. Any change that meets the test counts.

    • Let owners pin model, prompt and runtime versions
    • Announce behaviour changes in advance and make them opt-in
    Fail

Controllable · Is your word final?

25%
  • C1
    Boundaries

    Host-scoped credentials, deny-by-default Expert credentials, Expert weekly budgets and copilot spend caps exist. The contact dimension is missing: there are no recipient, sender or domain allow/deny lists. The agent can also change its own limits: Otto can grant and revoke Expert credentials, and can propose a zero (disabled) budget through the confirm flow.

    › How it could pass

    Suggestions. Any change that meets the test counts.

    • Add per-recipient/domain allow and deny lists for outbound contact
    • Put credential grants and budgets outside the agent's own write access
    Fail
  • C2
    Approval gates

    Workflow owners can put human-in-the-loop approval blocks anywhere in a graph. Sensitive-action review covers a fixed set of irreversible blocks and is off by default. The copilot approval gate applies only to interactive sessions behind a default-off flag, so scheduled, routine and AutoPilot-block turns bypass it. In auto mode an LLM supervisor decides what to ask about.

    › How it could pass

    Suggestions. Any change that meets the test counts.

    • Let the owner gate any tool class in chat and automation, and apply the gate on every path
    Partial
  • C3
    Immediate halt

    Owners can stop a single execution, which cascades to child runs, and cancel a chat turn. There is no user-level stop-all. Schedules must be deleted separately, and Expert pause has no manual route.

    › How it could pass

    Suggestions. Any change that meets the test counts.

    • Provide one global stop covering executions, chats, schedules and Expert routines, with explicit resume
    Partial
  • C4
    Data serves only the owner

    Clause 7.2 of the Terms reserves the right to use submitted information 'on an unrestricted and free-of-charge basis'. Copilot prompts, responses and tool calls are traced to Langfuse, and backend PostHog events are sent with no user opt-out. Marketing relies on legitimate interest (opt-out). Terms change by continued use. Staff impersonation is disclosed only as a pricing-table row.

    › How it could pass

    Suggestions. Any change that meets the test counts.

    • Make secondary use, training and staff access opt-in in binding terms
    • Let the owner turn off Langfuse tracing and server-side analytics
    • Require specific consent for data-term changes
    Fail
  • C5
    Credential custody

    Settings → Integrations lists credentials and deletes them one by one; OAuth tokens are revoked upstream for some providers only (Notion and Todoist are not). Provider-created managed credentials (AgentMail, Ayrshare) cannot be deleted by the user. No binding terms limit provider use of stored credentials or require deleting copies after revocation.

    › How it could pass

    Suggestions. Any change that meets the test counts.

    • Let owners revoke every credential, including managed ones
    • Commit in terms to owner-directed use only and deletion of all copies on revocation
    Partial
  • C6
    Full deletion

    The product has no account-deletion feature in the UI or API. The privacy policy directs rights requests to email but gives no deletion scope, time limit, backup treatment or confirmation. A helper for pre-deletion cleanup exists in code but nothing calls it.

    › How it could pass

    Suggestions. Any change that meets the test counts.

    • Offer one-step owner-initiated deletion of the whole account and agent
    • Publish a deletion time limit covering backups and confirm completion
    Fail
Provenance

How this assessment was produced

One run, in a fresh container with stock Claude Code and no custom instructions, memory, hooks or plugins. The evaluator received only the prompt below.

Prompt given to the evaluator
Load the AFH sovereignty skill at https://agentsforhumanity.dev/skill.md and follow it to write a desk review of AutoGPT Platform (https://agpt.co).

During the run the skill was read from a local copy of this site with identical content; only the host in its URLs differed. The transcript records the exact prompt.

Model
claude-opus-5-5
Harness
Claude Code 2.1.285
Ran
2026-09-30 14:10:14 UTC · 11 turns
Criteria hash
a9a46c32d9065380a3eeb09185cedd4734856fdc63b7ca509a15a1bbede75c6c
Full transcript
Download (JSONL, gzip) · every tool call, page read and reply
Run protocol
2026-09-30-v1

Every agent evaluated once, each in its own fresh Podman container running stock Claude Code with Claude Opus 5.5. The container has no CLAUDE.md, AGENTS.md, memory, settings, hooks, plugins or MCP servers. The evaluator received only the one-line prompt and nothing else, and no published scores were available to compare against during the run.

Human review
pending
Check it with your own agent
Verify this assessment
Load the AOH sovereignty skill at https://agentsofhumanity.ai/skill.md and follow it in verify mode for https://agentsofhumanity.ai/evaluations/autogpt.json.

Or grade it from scratch. See Check any score yourself.

Something wrong or out of date?

Vendors and the public can dispute any finding with evidence. Disputes and their resolutions are published.

Dispute a finding