CompleteOct 2847 of 47 pages readUnclaimed

Agent readiness report

AstralBeam

astralbeam.ai

AstralBeam is an open-source platform for adding an AI agent to your app.

74/100Tier 4 · Agent-Ready
74/100

Tier 4 · Agent-Ready

15 questions a buyer might ask ChatGPT, Claude, Dots or Muse

10 of 15 buyer questions hit a dead end.

Buyer questions74/10010 dead ends
Agent access75/10012 of 16 pass
Re-audit · 1 credit

14 to fix · 47 of 47 pages read · Oct 28, 2026

Buyer questions

10 dead ends · 5 answered

What an AI agent reading astralbeam.ai would conclude

HedgesSecurity · high+2 pts est.

Is AstralBeam SOC 2 or GDPR compliant, and where is customer conversation data stored and processed?

  1. Found on
    • / › ADD AN AGENT<br>TO YOUR APP<br>IN MINUTES › OPEN SOURCE FROM DAY ONE › SELF-HOST
    • / › ADD AN AGENT<br>TO YOUR APP<br>IN MINUTES › IDENTIFY YOUR USERS
    • /privacy › Privacy Policy › 10. International processing
  2. Pages say

    Mentioned, not specified.

    The site nowhere claims SOC 2 or GDPR compliance, and no certification, audit, or data processing agreement is mentioned on any page. On storage, the homepage self-host section says you can choose where conversations and files are stored when self-hosting, while the managed backend runs conversation history and files on AstralBeam Cloud, and the Privacy Policy (section 10, International processing) says data may be processed in countries other than where you live using appropriate safeguards for cross-border transfers. The site does not name specific regions or data centers for AstralBeam Cloud.

Fix

Publish a trust page at astralbeam.ai/security stating SOC 2 status, GDPR posture including DPA and transfer safeguards, and the regions where AstralBeam Cloud stores conversation data.

HedgesLimits · high+2 pts est.

What are the concrete SDK limits — requests per second, max message length, and attachment size/count per conversation?

  1. Found on
  2. Pages say

    Mentioned, not specified.

    AstralBeam's Limits page (docs/sdk/limits) sets chat at 20 new turns per 60 seconds per organization, tenant, and tenant user, plus 200 requests per 60 seconds each for tool results and uploads, and caps request bodies at 32 MiB including the message and its attachments. The Attachments page (docs/sdk/attachments) defaults to 5 files per message with per-kind caps of 5 MiB for images, 10 MiB for PDFs, 1 MiB for text, and 10 MiB for data or office files, 20 MiB total per message, and a 20 MiB server cap on attachments along a conversation path. The site does not publish a file count per conversation, only the 20 MiB per-conversation byte cap.

Fix

Add the per-conversation attachment file count, or state that only total bytes are capped per conversation, to /docs/sdk/limits.

HedgesPricing · high+2 pts est.

If my app exceeds the message or usage quota included in my plan, do users get throttled, cut off, or am I billed overage — and at what rate?

  1. Found on
  2. Pages say

    Mentioned, not specified.

    Users get cut off, not throttled: the Usage limits docs say chat refuses a new message once a subject has used its allowance until the window resets, and the API returns 429 with a usage_limit member naming the limit and when it resets. The site does not say whether exceeding a plan quota triggers overage billing or at what rate; its pricing is pay-as-you-go at $0.20 per million tokens plus $0.50 per GB of storage per month.

Fix

Add an overage section to the pricing page and /docs/dashboard/usage-limits stating whether hitting a plan quota cuts users off or bills overage, and the overage rate.

HedgesSecurity · high+2 pts est.

Are end-user conversation transcripts retained, for how long, and can I opt out of my data being used for model training?

  1. Found on
  2. Pages say

    Mentioned, not specified.

    Yes, AstralBeam retains end-user conversations: the homepage states every user picks up their own threads on any device without you storing a message, and the API reference describes usage computed from retained settled replies. The site gives no specific retention period for transcripts; artifacts are kept until conversation deletion and users can delete threads, but no duration is stated. On training, the privacy policy says Google user data is not used to train generalized AI models, but it makes no general statement about conversation transcripts and describes no opt-out.

Fix

Add a data retention and AI training section to /privacy stating how long conversation transcripts are kept and that customer data is never used to train models.

HedgesMigration · medium+2 pts est.

I already have a chatbot in production — can I import its conversation history and user data into AstralBeam, and how painful is the cutover?

  1. Found on
    • / › ADD AN AGENT<br>TO YOUR APP<br>IN MINUTES › IDENTIFY YOUR USERS
    • /api/openapi.json
    • / › ADD AN AGENT<br>TO YOUR APP<br>IN MINUTES › FREQUENTLY ASKED QUESTIONS
  2. Pages say

    Mentioned, not specified.

    The site documents no way to import an existing chatbot's conversation history: history appears only as a built-in, forward-looking feature where "every user picks up their own threads... without you storing a message" (homepage, Identify your users section). For user data, the API reference at /api/openapi.json shows you can recreate users by creating Tenants and TenantUsers with your own external_id values, but no bulk import or migration tooling is described. The site does not say anything about how painful the cutover would be.

Fix

Publish a migration guide at /docs/start/migration covering how to import existing conversation history, recreate users as TenantUsers with external_id, and what the cutover involves.

HedgesSupport · medium+2 pts est.

What support do I get as a paying customer — is there a Slack community, email with response-time SLA, or only docs and GitHub issues?

  1. Found on
  2. Pages say

    Mentioned, not specified.

    AstralBeam's homepage points customers to a Discord community ("come talk to us on Discord"), a contact email (hello@astralbeam.ai), docs, and its GitHub repo, and the self-hosting docs say to report vulnerabilities via GitHub security advisories, noting only current main and the latest SDK release are supported. The site does not mention Slack or any response-time SLA for paying customers.

Fix

Publish a /support page listing every channel (Discord, hello@astralbeam.ai, GitHub issues) and state whether paying customers get a response-time SLA.

HedgesIntegration · medium+2 pts est.

Does the SDK have first-class React support, or do I have to fall back to the script tag — and what about Next.js or Vue?

  1. Found on
  2. Pages say

    Mentioned, not specified.

    Yes, React is first-class: the getting-started guide at /docs/sdk/getting-started imports AstralBeamChat from '@astralbeam/sdk/react', and the script tag at /docs/sdk/script-tag is positioned as the fallback for apps without a bundler. The homepage FAQ states it also works outside React by mounting the widget with JavaScript in another framework or loading it via script tag in a server-rendered app. The site never names Next.js or Vue, so there is no confirmed Next.js or Vue guide or example.

Fix

Add a frameworks section to /docs/sdk/getting-started naming Next.js and Vue support, with a Next.js App Router example and a Vue mount example alongside the React one.

HedgesTechnical · medium+2 pts est.

When I use the CLI with coding agents, does it run locally, and does my source code ever leave my machine or get stored on AstralBeam's servers?

  1. Found on
  2. Pages say

    Mentioned, not specified.

    Yes, the CLI runs locally: the docs at /docs/cli/getting-started describe installing it with npm, Bun, or a standalone binary, running it in your terminal, and signing short-lived tokens with your API key. Its documented scope is managing tenants, users, and chat through the management API, and the docs never describe it reading or uploading your source code. The site does not explicitly state whether the CLI sends telemetry or whether any of your data is stored on AstralBeam's servers.

Fix

Add a data handling section to /docs/cli/coding-agents stating the CLI runs locally, never reads or uploads source code, and exactly what it sends to the management API.

HedgesTechnical · medium+2 pts est.

What can the agent sandbox actually execute — arbitrary code, shell commands, network access — and what are its timeout and resource caps?

  1. Found on
  2. Pages say

    Mentioned, not specified.

    AstralBeam's sandbox lets an agent run commands and code through a third-party code-execution provider: it can analyze uploaded spreadsheets with real code, write and read files, and publish downloadable results, in temporary workspaces scoped to one agent, conversation, and tenant user (/docs/sdk/sandbox, /docs/dashboard/sandboxes). The site does not say whether the sandbox has network access. It also states no timeout or CPU, memory, or storage caps on its sandbox pages; the Sandbox doc lists a Limits section and links to /docs/sdk/limits, but no actual numbers are given.

Fix

Publish the sandbox limits on /docs/sdk/sandbox or /docs/sdk/limits: state the command timeout, CPU and memory caps, and whether network access is allowed.

HedgesIntegration · low+2 pts est.

Can I build my own chat UI with the headless SDK, and does it expose streaming token events or only complete responses?

  1. Found on
  2. Pages say

    Mentioned, not specified.

    Yes: the Headless docs page (astralbeam.ai/docs/sdk/headless) says you can build your own chat UI on the SDK's authentication, transport, tools, and transcript state, and shows a useAstralBeamChat hook exposing messages and sendMessage. On streaming, the API client page (astralbeam.ai/docs/sdk/api) says new runs stream SSE and the headless SDK handles SSE event parsing automatically, while the headless docs expose live state with in-progress flags like lastPartInProgress and hasPendingToolRun, so replies are not limited to complete responses. The docs never explicitly document token-level delta events, so the exact event granularity a buyer would code against is not stated.

Fix

Add a Streaming section to /docs/sdk/headless stating whether token-level delta events are exposed and show the state field or callback for rendering partial replies.

Answered5Integration, Pricing, Security and 1 moreShowHide
  • Which LLM providers can I connect through the dashboard, and can I bring my own API keys instead of paying AstralBeam's token rates?

    Yes. You can bring your own API keys for OpenAI, Anthropic, Google Gemini, xAI (Grok), and OpenRouter, and those model providers bill you directly for tokens; AstralBeam charges only its own usage-based platform fee plus conversation and file storage. The homepage stack section also lists Vercel AI Gateway, though the site notes it is still in progress. This is covered in the homepage FAQ, the Works With Your Stack section, and the Models docs at /docs/dashboard/models.

    Found on / › ADD AN AGENT<br>TO YOUR APP<br>IN MINUTES › FREQUENTLY ASKED QUESTIONS

  • What does AstralBeam actually cost per month, and is there a free tier I can use while prototyping before committing?

    AstralBeam has no fixed monthly plan: AstralBeam Cloud charges $0.20 per million tokens (same rate for input and output) plus $0.50 per GB per month for conversation and file storage, with model and sandbox providers billing you directly. For prototyping you get $20 in free credits every month, which cover AstralBeam fees only, and self-hosting is free of platform and storage fees if you run it on your own infrastructure. Managed hosting on your infrastructure adds a custom hosting fee on top of the same usage rates; these figures appear in the pricing section and FAQ on astralbeam.ai.

    Found on / › ADD AN AGENT TO YOUR APP IN MINUTES › PAY FOR WHAT YOU USE › Cloud

  • How do I register custom tools or widgets the agent can call, and can those tools hit my private backend APIs on the user's behalf?

    Yes. You register tools by adding actions to the chat's `tools` prop and widgets via the `widgets` prop, each with a description, a parameter schema, and an execute or render function, as documented on /docs/sdk/tools-and-widgets and demonstrated in the Connect tools & widgets section of the homepage. Those tools run in your page and can call your private backend APIs using the user's session, behind your own permission checks, per the security model at /docs/sdk/security and the FAQ. The Todos tutorial at /docs/start/todos-tutorial walks through a complete working example with shared state and two-way updates.

    Found on /docs/sdk/tools-and-widgets › Tools and widgets › Tools

  • How does SDK authentication work for my end users — do they get their own tokens, how are sessions validated, and how are tokens refreshed or revoked?

    Yes. Each end user gets their own short-lived tenant JWT, valid 60 to 600 seconds with a 300 second default, which your server mints from your organization API key at POST /api/astralbeam/token using user and tenant IDs taken from your authenticated server session; the browser never sees the API key (see /docs/sdk/authentication and /docs/sdk/security). Sessions are validated by sending the in-memory token as an Authorization: Bearer header with no cookies, and the SDK synchronizes the signed tenant and current user through /me after every token acquisition. Tokens renew automatically before expiry, and the docs state that deleting a TenantUser does not revoke its token, so the short expiry is what bounds a token's life rather than any revocation endpoint.

    Found on /docs/sdk/security › Security model › Tokens

  • Can I run multiple agents with different system prompts and tool access from one account, and how do I route conversations to the right one?

    Yes: the Agents docs (/docs/dashboard/agents) say owners and developers can create and edit multiple agents, each with its own system prompt set in the dashboard (browser-supplied prompts are rejected) plus its own model, web access, and sandbox provider. Route conversations by passing the agent's public ID, agent_<organizationId>_<id>, as agentId; conversations that omit agentId fall back to the organization's default agent, and existing conversations keep their assigned agent. The API reference (/api/openapi.json) confirms each request uses the conversation's selected agent and rejects client-supplied systemPrompt values.

    Found on /docs/dashboard/agents › Agents › The system prompt

Agent access

4 of 16 fail · 12 pass

Files and settings agents look for

FailsContent · Essential+2 pts est.

Markdown on request

Observed

Accept: text/markdown → 200 text/html; Vary: Accept-Encoding, Cookie, Accept-Encoding

Fix

Return a markdown version of a page when a request asks for markdown.

None for this check; it must come from your own server or CDN (Cloudflare’s Markdown for Agents on plans that have it). Separately, agents using your Sitedex endpoint (mcp.sitedex.dev/s/astralbeam-ai/mcp) already get your pages as markdown. That doesn’t pass this check.

RFC 9110 + 7763 ↗
FailsAgent interfaces · Recommended+2 pts est.

MCP server card

Observed

no MCP server card (JSON) at /.well-known/mcp/server-card.json, /.well-known/mcp, /.well-known/mcp.json

Fix

Publish an MCP server card at /.well-known/mcp/server-card.json that tells agents where to connect.

Download server-card.json from this audit and host it at that path. It points agents at Sitedex’s hosted endpoint for your site, so there’s no server to run. If you run your own MCP server, point the card there instead.

MCP SEP-2127 ↗
FailsAgent interfaces · Recommended+2 pts est.

WebMCP

Observed

/.well-known/webmcp.json found but lists no tools; no WebMCP markers in homepage HTML

Fix

Register your site’s actions for in-browser agents and publish /.well-known/webmcp.json.

Add the one-line Sitedex widget script from your report, and host webmcp.json from this audit.

Page head
<script async src="https://sitedex.dev/widget.js"></script>
WebMCP draft ↗
FailsDiscovery · Recommended+2 pts est.

Sitemap dates

Observed

1 of 5 sitemap entries have <lastmod> (20.0%; needs at least 80%)

Fix

Add a last-changed date to each page in your sitemap.

sitemaps.org ↗
Passing12robots.txt, sitemap.xml, llms.txt and 9 moreShowHide
  • robots.txt

    GET /robots.txt → 200 text/plain (214 characters)

  • sitemap.xml

    sitemap found at /sitemap.xml

  • llms.txt

    /llms.txt has an H1 and 2,867 characters of text; first link https://astralbeam.ai/ → 200 text/html

  • AI crawler access

    robots.txt names no AI crawlers and does not block all crawlers from /

  • Content signal

    robots.txt has Content-Signal: search=yes, ai-input=yes, ai-train=yes

  • Pages load cleanly

    45 of 47 crawled pages returned content (95.8%; needs over 95%)

  • Server-rendered text

    raw homepage HTML has 11,160 visible characters before JavaScript runs (needs 500)

  • OpenAPI spec

    found /api/openapi.json → 200 application/json

  • Canonical URL

    homepage canonical: https://astralbeam.ai/

  • Meta description

    meta description is 151 characters

  • Page language

    <html lang="en">

  • Organization schema

    homepage JSON-LD includes an Organization with a name

Not applicable3Payment docs, Webhook docs, Auth docsShowHide
  • Payment docs

    site category is not commerce

  • Webhook docs

    site category is not commerce

  • Auth docs

    site category is not commerce

Observed, not scored95 fail · not in the score yetShowHide
  • AI agent accessPass

    robots.txt allows all 10 search and user AI bots on /. training and mixed-use tokens (0 points): all 6 allowed

  • Reachable by agentsPass

    SitedexBot homepage fetch (/) → 200 text/html; no challenge

  • Real 404sFails

    GET /sitedex-probe-404/e8b1c4d2/missing (a page that does not exist) → 200 text/html: a soft 404 (success status for a missing page)

    Return a real 404 status for pages that do not exist, not a 200 page that says “not found” or a redirect to your homepage. Agents read the status code to tell a missing page from a real one.

  • Open Graph tagsPass

    homepage has all four required Open Graph tags (og:title, og:type, og:image, og:url)

  • Organization contact detailsFails

    Organization JSON-LD has neither contactPoint nor address

    Add contactPoint and address to your Organization JSON-LD if you want agents to find how to reach you. Both are optional in schema.org; leave out an address you keep private.

  • JSON-LD parsesPass

    2 of 2 JSON-LD blocks on the homepage parse as JSON

  • About, contact and privacy pagesPartly passes

    no about page crawled; no contact page crawled; privacy /privacy (11,004 bytes) (needs 500+ bytes of text each)

    Publish an about page, a contact page and a privacy page with real text (about 500 characters of text or more each), and link them from your site so a crawl finds them.

  • Agent guidance in llms.txtFails

    /llms.txt has no section that says when to use the site or gives agent instructions (heuristic: an H2-H6 heading such as “When to use” or “Instructions for agents”, with text under it)

    Add a section to /llms.txt that tells an agent when to use your site, for example a “## When to use” heading with a few lines on what the site is for and what it is not for.

Claim astralbeam.ai

Free · full crawl · score history

Score your site

Free · results in minutes

Scoring v2 · checks v2 · Oct 28, 2026

How this is scored

Score

  • Buyer questions70%
  • Agent access30%

Buyer questions

  • Answeredanswered from your pages
  • Hedgesmentioned, not specified
  • Contradictspages disagree
  • Goes silentno page answers it

Agent access

16 checks count toward the score. Checks marked not scored are recorded and shown, and do not move the score yet.

Estimates

+N pts est. is the gain to this score if that one item is fixed alone. Estimates do not add up.

Tiers

  • Agent-Native80 to 100
  • Agent-Ready60 to 79
  • Agent-Accessible40 to 59
  • Basic Presence20 to 39
  • Agent-Unreadable0 to 19

Scoring v2 · checks v2