{
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-14",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "tool": {
    "slug": "town",
    "name": "Town",
    "vendor": "Town.com, Inc.",
    "vendorUrl": "https://www.town.com",
    "kind": "platform",
    "category": "personal-assistants",
    "summary": "Town is a hosted AI assistant, called a Townie, with its own email address. It works across the owner's email, calendar and connected work apps, runs scheduled routines, and answers by email, text, WhatsApp, Telegram, the web or iOS.",
    "url": "https://www.anchorterminal.com/tools/town",
    "markdownUrl": "https://www.anchorterminal.com/tools/town.md",
    "slimMarkdownUrl": "https://www.anchorterminal.com/tools/town.min.md",
    "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/town.json",
    "license": "Closed service under Town's Terms of Service (Town.com, Inc., updated 21 July 2026).",
    "transports": [
      "http"
    ],
    "packages": [],
    "auth": "mixed",
    "authNotes": "People sign up at town.com with account credentials or a linked Google or single sign-on account (https://www.town.com/terms-of-service). A routine can expose its own webhook URL, called with a bearer secret that is shown once and can be rotated. Town answers a wrong secret, a disabled endpoint and a missing one with the same 404 (https://www.town.com/docs/routines/stock-routines/webhooks).",
    "pricing": "freemium",
    "pricingNotes": "Free at $0 with no credit card, 30 chat messages a month, the weekly briefing and a 7-day Pro trial on signup. Starter is $15 a month billed monthly with 1,250 credits. Pro ($49), Power ($99) and Power Plus ($199) are monthly prices at the billed-annually rate, and monthly billing is \"available at a slightly higher rate\". Team is $59 and Team Plus $149 a seat a month. Credits past the allotment bill at $0.044 (Pro), $0.038 (Power, Team), $0.032 (Power Plus) and $0.030 (Team Plus), with an optional monthly spend cap (https://www.town.com/pricing and https://www.town.com/docs/billing/plans, checked 14 October 2026).",
    "priceSummary": "$15 / mo",
    "where": "local",
    "x402": {
      "level": "no",
      "evidence": "No x402, MPP or L402 found on town.com's pricing, docs and terms, checked 14 October 2026.",
      "endpoints": []
    },
    "toolCount": null,
    "popularity": {
      "githubStars": null,
      "npmWeekly": null,
      "pypiWeekly": null,
      "asOf": "2026-10-14"
    },
    "docsUrl": "https://www.town.com/docs",
    "capabilities": [
      "assistant.proactive",
      "assistant.messaging",
      "assistant.accounts",
      "assistant.memory",
      "mailbox.read",
      "mailbox.send",
      "calendar.write",
      "messaging.whatsapp",
      "messaging.rcs",
      "messaging.inbound",
      "email.inbound",
      "voice.calls",
      "memory.user",
      "tasks.create",
      "notify.push",
      "agent.multi-agent",
      "agent.mcp-client"
    ],
    "tags": [
      "hosted",
      "official",
      "closed-source",
      "freemium",
      "free-tier",
      "no-card",
      "ios",
      "soc2",
      "webhooks"
    ],
    "lastRelease": "2026-10-10",
    "graded": true,
    "disclosure": "Town competes with LocalGhost, which Anchor Terminal's founder builds. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default.",
    "competesWith": "localghost",
    "anchor": {
      "graded": true,
      "score": 48.7,
      "grade": "D",
      "agentReady": false,
      "rank": 834,
      "ranked": true,
      "rankOf": 1010,
      "categoryRank": 12,
      "methodology": "0.4",
      "run": "2026-10-01",
      "scores": {
        "ergonomics": 49,
        "maintenance": 60,
        "payments": 30,
        "reliability": 35,
        "schema": 33,
        "security": 79,
        "transparency": 63
      },
      "pending": [
        "performance",
        "tasks"
      ],
      "breakdown": [
        {
          "key": "reliability",
          "name": "Reliability",
          "weight": 16,
          "effectiveWeight": 20,
          "score": 35,
          "points": 7,
          "reason": "Read with the hosted lines, on the routine webhooks. No status page was found on the pages town.com's robots.txt lets ClaudeBot read, and status.town.com doesn't resolve (0). No readable incident history (5). The Free plan's allowance is published as 30 chat messages a month and each paid plan's monthly credits are numbered, while the webhook docs say requests are rate limited with no figure. The Wajo dossier got 10 for numbered plan limits without per-endpoint numbers, and we took that reading (10 of 15). The webhook docs list 429 among the responses and document an X-Town-Idempotency-Key header that stops duplicate runs when a sender retries, with no Retry-After or backoff guidance (10 of 15). No SLA found (0). Nothing labels Town or its webhooks beta (10)."
        },
        {
          "key": "performance",
          "name": "Performance",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
        },
        {
          "key": "schema",
          "name": "Schema \u0026 documentation",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 33,
          "points": 5.36,
          "reason": "Graded on the routine webhooks, the one documented route by which an outside system can start Town's work, as the Poke listing was graded on its inbound API. No OpenAPI file or other machine-readable contract (0). llms.txt isn't on the ClaudeBot allow list in town.com's robots.txt, so it is unchecked, and no Markdown docs for agents were found on the allowed pages (0, unchecked). The webhook page says what a webhook is for (Zapier, your own backend, structured events), how the trigger account is chosen, that payloads are treated as untrusted, and advises approval-required mode for routines that act, with no guidance on when not to use it. Poke's purpose and use cases got 12 (12 of 20). The body is application/json or text/plain, with an optional account_email field and a free-form data object. Poke's any-JSON body got 2, and the named field and the content-type check add one (3 of 15). A JSON body example, a curl example, Zapier steps and six documented responses (202, 400, 404, 413, 415, 429), against Poke's 9 for three-language examples and one error (12 of 15). The webhook URL carries no version and the page was last updated on 13 October 2026. The updates page is a public dated changelog for the product as a whole (6 of 15)."
        },
        {
          "key": "ergonomics",
          "name": "Agent ergonomics",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 49,
          "points": 7.96,
          "reason": "Graded on the routine webhooks. A call returns 202 and the run's result goes to the owner, not to the caller, so a calling agent can't read the outcome, the Poke dossier's 10 (10 of 25). Nothing to page or filter (3 of 20). Six status codes with their meanings, including a deliberate shared 404 for a wrong secret, a disabled endpoint and a missing one (12 of 20). An X-Town-Idempotency-Key header de-duplicates retried deliveries, and the page recommends it whenever a sender can retry. It isn't an MCP server, so there are no annotations to read (16 of 20). One URL, one bearer header and no required field, with the trigger account falling back to the webhook's default, and Zapier works with its stock webhook step. No SDK (8 of 15)."
        },
        {
          "key": "security",
          "name": "Security \u0026 auth",
          "weight": 14,
          "effectiveWeight": 17.5,
          "score": 79,
          "points": 13.83,
          "reason": "Graded on the routine webhooks. Each routine gets its own whsec_ bearer secret, shown once, rotatable, and sent only in the Authorization header. A secret starts one routine, inside that routine's account scope, and account_email can't widen it. No expiry and no statement on how secrets are stored (26 of 30). Routines run read-only, approval-required or autonomous, with per-tool overrides, and the webhook page advises approval-required for routines that act. Town can block a webhook whose routine combines untrusted input with autonomous sending, but an owner can still set a webhook routine to act without approval (15 of 20). Webhook payloads are framed as untrusted data inside a fixed Town message, routines that read private data, take untrusted input and send externally are flagged, and routine prompts are checked for injection patterns. The Screenpipe dossier got 8 for guidance in its skills only (12 of 15). Every action is logged with what, when, why, trigger and result, and security events are visible to the owner, per the security docs, more than Pally's activity feed (12 of 15). The trust page names security@corp.town.com for vulnerability reports and says Town is SOC 2 Type 2 audited with a penetration test report under NDA. security.txt isn't on the ClaudeBot allow list and is unchecked, and no bug bounty was found. The Screenpipe dossier got 14 for a disclosure route and SOC 2 Type 2 without a bounty (14 of 20)."
        },
        {
          "key": "payments",
          "name": "Payments \u0026 pricing",
          "weight": 10,
          "effectiveWeight": 12.5,
          "score": 30,
          "points": 3.75,
          "reason": "Read with the hosted rule. No x402, MPP or L402 (0). Plan prices are public (Starter $15, Pro $49, Power $99 and Power Plus $199 a month, Team $59 and Team Plus $149 a seat), and so are overage prices per credit ($0.030 to $0.044). The credits docs say work draws credits down by how much it reads, reasons and acts, with no cost per action, so nothing is priced per call. Poke's priced credits with unnumbered usage got 10 (10). The pricing page lists Free at $0 forever with no credit card required and a 7-day Pro trial on signup (20). A person signs up in a browser, and a webhook secret is created by the owner in Routine Settings (0)."
        },
        {
          "key": "tasks",
          "name": "Task success",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
        },
        {
          "key": "maintenance",
          "name": "Maintenance \u0026 community",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 60,
          "points": 5.25,
          "reason": "Read for a closed service. iOS Town Assistant 1.27 on 10 October 2026 (30). The updates page has dated entries on 24 days between 16 July and 30 September 2026, and the App Store lists eight iOS versions from 1.20 on 29 July to 1.27 (20). A public changelog dated entry by entry and support at support@corp.town.com, which we didn't test, the Pally dossier's 10 (10 of 15). Not an MCP server and no official SDK (0). No package or CI to judge (0)."
        },
        {
          "key": "transparency",
          "name": "Transparency \u0026 trust",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 63,
          "points": 5.51,
          "note": "editorial 50, provenance 76",
          "reason": "Closed service under terms updated on 21 July 2026 naming Town.com, Inc. (15). The trust page says training on customer data is off by default and applies only after an opt-in, while the privacy policy of 21 July 2026 says Town may use personal information to train its AI models with an opt-out toggle in account settings. Both exclude Google data, deletion completes within 30 days, a public DPA carries Standard Contractual Clauses, and retention otherwise follows stated criteria with no periods. The two training statements disagree (15 of 30). The privacy policy takes effect on posting, and no deprecation policy or dated notices were found (2 of 20). A public subprocessor list of 24 August 2026 names each vendor, an AI model providers page names the model hosts, and the trust page says data is hosted only in the United States on Convex and AWS (18 of 20)."
        }
      ],
      "assessment": {
        "date": "2026-10-14",
        "basis": "public evidence",
        "confidence": "medium",
        "notes": {
          "ergonomics": "Graded on the routine webhooks. A call returns 202 and the run's result goes to the owner, not to the caller, so a calling agent can't read the outcome, the Poke dossier's 10 (10 of 25). Nothing to page or filter (3 of 20). Six status codes with their meanings, including a deliberate shared 404 for a wrong secret, a disabled endpoint and a missing one (12 of 20). An X-Town-Idempotency-Key header de-duplicates retried deliveries, and the page recommends it whenever a sender can retry. It isn't an MCP server, so there are no annotations to read (16 of 20). One URL, one bearer header and no required field, with the trigger account falling back to the webhook's default, and Zapier works with its stock webhook step. No SDK (8 of 15).",
          "maintenance": "Read for a closed service. iOS Town Assistant 1.27 on 10 October 2026 (30). The updates page has dated entries on 24 days between 16 July and 30 September 2026, and the App Store lists eight iOS versions from 1.20 on 29 July to 1.27 (20). A public changelog dated entry by entry and support at support@corp.town.com, which we didn't test, the Pally dossier's 10 (10 of 15). Not an MCP server and no official SDK (0). No package or CI to judge (0).",
          "payments": "Read with the hosted rule. No x402, MPP or L402 (0). Plan prices are public (Starter $15, Pro $49, Power $99 and Power Plus $199 a month, Team $59 and Team Plus $149 a seat), and so are overage prices per credit ($0.030 to $0.044). The credits docs say work draws credits down by how much it reads, reasons and acts, with no cost per action, so nothing is priced per call. Poke's priced credits with unnumbered usage got 10 (10). The pricing page lists Free at $0 forever with no credit card required and a 7-day Pro trial on signup (20). A person signs up in a browser, and a webhook secret is created by the owner in Routine Settings (0).",
          "reliability": "Read with the hosted lines, on the routine webhooks. No status page was found on the pages town.com's robots.txt lets ClaudeBot read, and status.town.com doesn't resolve (0). No readable incident history (5). The Free plan's allowance is published as 30 chat messages a month and each paid plan's monthly credits are numbered, while the webhook docs say requests are rate limited with no figure. The Wajo dossier got 10 for numbered plan limits without per-endpoint numbers, and we took that reading (10 of 15). The webhook docs list 429 among the responses and document an X-Town-Idempotency-Key header that stops duplicate runs when a sender retries, with no Retry-After or backoff guidance (10 of 15). No SLA found (0). Nothing labels Town or its webhooks beta (10).",
          "schema": "Graded on the routine webhooks, the one documented route by which an outside system can start Town's work, as the Poke listing was graded on its inbound API. No OpenAPI file or other machine-readable contract (0). llms.txt isn't on the ClaudeBot allow list in town.com's robots.txt, so it is unchecked, and no Markdown docs for agents were found on the allowed pages (0, unchecked). The webhook page says what a webhook is for (Zapier, your own backend, structured events), how the trigger account is chosen, that payloads are treated as untrusted, and advises approval-required mode for routines that act, with no guidance on when not to use it. Poke's purpose and use cases got 12 (12 of 20). The body is application/json or text/plain, with an optional account_email field and a free-form data object. Poke's any-JSON body got 2, and the named field and the content-type check add one (3 of 15). A JSON body example, a curl example, Zapier steps and six documented responses (202, 400, 404, 413, 415, 429), against Poke's 9 for three-language examples and one error (12 of 15). The webhook URL carries no version and the page was last updated on 13 October 2026. The updates page is a public dated changelog for the product as a whole (6 of 15).",
          "security": "Graded on the routine webhooks. Each routine gets its own whsec_ bearer secret, shown once, rotatable, and sent only in the Authorization header. A secret starts one routine, inside that routine's account scope, and account_email can't widen it. No expiry and no statement on how secrets are stored (26 of 30). Routines run read-only, approval-required or autonomous, with per-tool overrides, and the webhook page advises approval-required for routines that act. Town can block a webhook whose routine combines untrusted input with autonomous sending, but an owner can still set a webhook routine to act without approval (15 of 20). Webhook payloads are framed as untrusted data inside a fixed Town message, routines that read private data, take untrusted input and send externally are flagged, and routine prompts are checked for injection patterns. The Screenpipe dossier got 8 for guidance in its skills only (12 of 15). Every action is logged with what, when, why, trigger and result, and security events are visible to the owner, per the security docs, more than Pally's activity feed (12 of 15). The trust page names security@corp.town.com for vulnerability reports and says Town is SOC 2 Type 2 audited with a penetration test report under NDA. security.txt isn't on the ClaudeBot allow list and is unchecked, and no bug bounty was found. The Screenpipe dossier got 14 for a disclosure route and SOC 2 Type 2 without a bounty (14 of 20).",
          "transparency": "Closed service under terms updated on 21 July 2026 naming Town.com, Inc. (15). The trust page says training on customer data is off by default and applies only after an opt-in, while the privacy policy of 21 July 2026 says Town may use personal information to train its AI models with an opt-out toggle in account settings. Both exclude Google data, deletion completes within 30 days, a public DPA carries Standard Contractual Clauses, and retention otherwise follows stated criteria with no periods. The two training statements disagree (15 of 30). The privacy policy takes effect on posting, and no deprecation policy or dated notices were found (2 of 20). A public subprocessor list of 24 August 2026 names each vendor, an AI model providers page names the model hosts, and the trust page says data is hosted only in the United States on Convex and AWS (18 of 20)."
        },
        "sources": [
          {
            "what": "routine webhook docs, last updated 13 October 2026",
            "url": "https://www.town.com/docs/routines/stock-routines/webhooks",
            "seen": "2026-10-14"
          },
          {
            "what": "modes and approvals docs",
            "url": "https://www.town.com/docs/safety/modes-approvals",
            "seen": "2026-10-14"
          },
          {
            "what": "security docs",
            "url": "https://www.town.com/docs/safety/security",
            "seen": "2026-10-14"
          },
          {
            "what": "credits and usage docs",
            "url": "https://www.town.com/docs/billing/credits",
            "seen": "2026-10-14"
          },
          {
            "what": "pricing",
            "url": "https://www.town.com/pricing",
            "seen": "2026-10-14"
          },
          {
            "what": "trust page",
            "url": "https://www.town.com/trust",
            "seen": "2026-10-14"
          },
          {
            "what": "security practices (DPA security annex)",
            "url": "https://www.town.com/security-practices",
            "seen": "2026-10-14"
          },
          {
            "what": "updates (changelog)",
            "url": "https://www.town.com/updates",
            "seen": "2026-10-14"
          },
          {
            "what": "App Store listing, Town Assistant",
            "url": "https://apps.apple.com/us/app/town-assistant/id6759411716",
            "seen": "2026-10-14"
          },
          {
            "what": "privacy policy",
            "url": "https://www.town.com/privacy-policy",
            "seen": "2026-10-14"
          },
          {
            "what": "subprocessors",
            "url": "https://www.town.com/subprocessors",
            "seen": "2026-10-14"
          },
          {
            "what": "robots.txt (ClaudeBot allow list)",
            "url": "https://www.town.com/robots.txt",
            "seen": "2026-10-14"
          },
          {
            "what": "plans and pricing docs",
            "url": "https://www.town.com/docs/billing/plans",
            "seen": "2026-10-14"
          },
          {
            "what": "free trial docs",
            "url": "https://www.town.com/docs/billing/trials",
            "seen": "2026-10-14"
          },
          {
            "what": "routines docs",
            "url": "https://www.town.com/docs/features/routines",
            "seen": "2026-10-14"
          },
          {
            "what": "status subdomain DNS lookup",
            "url": "https://dns.google/resolve?name=status.town.com\u0026type=A",
            "seen": "2026-10-14"
          }
        ],
        "openQuestions": [
          "unchecked: town.com's llms.txt and security.txt, which aren't on the ClaudeBot allow list in its robots.txt.",
          "The webhook host isn't shown in the docs (the example uses your-town-url), so whether endpoints sit on town.com is unknown.",
          "No numeric webhook rate limit is published.",
          "Which of the privacy policy (opt-out) and the trust page (opt-in) governs the training default."
        ]
      },
      "negative": 0,
      "verdict": "Town is a hosted assistant that works across the owner's mail, calendar and work apps, and other systems can start its routines through per-routine webhooks with rotatable secrets, idempotency keys and documented errors. A caller can't read a run's result. The privacy policy and trust page disagree on whether training is on by default.",
      "bestFor": "An owner who wants a mail and calendar assistant whose routines other systems can trigger.",
      "disclosure": "Town competes with LocalGhost, which Anchor Terminal's founder builds. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default.",
      "strengths": [
        "Per-routine webhook secrets, shown once and rotatable, with an X-Town-Idempotency-Key header and six documented responses.",
        "Routines run in autonomous, approval-required or read-only mode, with per-tool overrides and account scope defaulting to the trigger account.",
        "Webhook payloads are framed as untrusted data, and Town can block a webhook routine that combines untrusted input with autonomous sending.",
        "SOC 2 Type 2 audited per the trust page, with a security@corp.town.com reporting address.",
        "Free plan at $0 with no credit card, and a dated subprocessor list naming model providers."
      ],
      "weaknesses": [
        "The privacy policy describes training with an opt-out and the trust page says training is opt-in.",
        "The trust page says Town never sends without the owner's OK, while the docs describe autonomous routines and an Allow all actions session mode.",
        "A webhook call returns only 202, so the caller can't read what the routine did.",
        "No status page, published webhook rate limit or SLA found."
      ],
      "agentNotes": [
        "Start a Town routine with POST to its webhook URL, Authorization Bearer whsec_ secret, and application/json or text/plain. Expect 202 only.",
        "Send X-Town-Idempotency-Key with a stable event id on every retry so Town doesn't start a second run.",
        "Treat 404 as wrong secret, disabled endpoint or missing endpoint alike, and ask the owner to check Routine Settings rather than retrying.",
        "Send account_email only if the owner allowed the override. It must match a connected account in full and can't widen the routine's scope.",
        "Ask the owner to keep routines that act on webhook input in approval-required mode, as Town's own docs advise."
      ],
      "metrics": {
        "kind": "remote",
        "measured": false
      },
      "reviewCount": 0,
      "avgRating": 0,
      "history": [
        {
          "basis": "public evidence",
          "confidence": "medium",
          "grade": "D",
          "methodology": "0.4",
          "pending": [
            "performance",
            "tasks"
          ],
          "run": "2026-10-01",
          "runLabel": "October 2026 research run",
          "score": 48.7
        }
      ],
      "editorialScores": {
        "ergonomics": 49,
        "maintenance": 60,
        "payments": 30,
        "reliability": 35,
        "schema": 33,
        "security": 79,
        "transparency": 50
      },
      "provenanceScore": 76
    },
    "connect": {},
    "letme": {
      "capability": "https://letme.dev/assistant.proactive",
      "tool": "https://letme.dev/town"
    },
    "notable": [
      "Each Townie has its own @town.com email address. People reach it by email, the web app, the iOS app, WhatsApp, Telegram and text messages (iMessage, RCS or SMS from a verified number). The docs say the messaging apps are for asking, not for briefings or alerts, because of platform messaging windows (https://www.town.com/docs/integrations/messaging-channels)",
      "The docs list built-in integrations including Gmail, Outlook, Google Calendar, Drive, Slack, Notion, HubSpot, Salesforce, QuickBooks, Ramp, Brex, Stripe, GitHub, LinkedIn and X, and owners can add their own MCP servers, with Town running the OAuth flow (https://www.town.com/docs/integrations/mcp-servers)",
      "A chat session defaults to \"Ask before any changes\". Owners can switch a session to \"Always allow safe actions\" or \"Allow all actions\", set routines to autonomous, approval-required or read-only, and override each tool to ask each time or always allow (https://www.town.com/docs/safety/modes-approvals)",
      "The trust page says \"Town never sends an email or calendar invite without your OK\" (https://www.town.com/trust). The approvals docs describe autonomous routines and an \"Allow all actions\" session mode in which no approval is asked (https://www.town.com/docs/safety/modes-approvals)",
      "Town flags routines that can read private data, take in untrusted input and send externally, which it calls the lethal trifecta, and says it validates routine prompts against prompt injection (https://www.town.com/docs/safety/security)",
      "The privacy policy (21 July 2026) says Town may use personal information to train its AI models, with an opt-out toggle in account settings. The trust page says training is off by default and applies only after the owner opts in, and that Gmail, Calendar and Drive data is never used (https://www.town.com/privacy-policy and https://www.town.com/trust)",
      "The subprocessor list (24 August 2026) names Convex, Vercel, Sentry, Statsig, Anthropic, Resend, SendGrid, Apple and Axiom for the core product, and OpenAI, OpenRouter, Amazon Bedrock, ElevenLabs, Reducto, Vapi, Meta, Telegram, Linq, Pipedream and E2B for specific functions (https://www.town.com/subprocessors)",
      "The trust page says Town is SOC 2 Type 2 audited, with reports and the latest penetration test released under a self-serve NDA, and that it is US-hosted on Convex and AWS (https://www.town.com/trust)",
      "The updates page has dated entries from 29 July to 30 September 2026. The iOS app Town Assistant, sold by Town.com, Inc., lists versions from 1.2 on 5 March 2026 to 1.27 (https://www.town.com/updates and https://apps.apple.com/us/app/town-assistant/id6759411716)"
    ],
    "area": "frameworks",
    "details": [
      {
        "label": "Surface listed",
        "value": "The Town assistant on the web, iOS, email and messaging channels, and its routine webhooks. Read on 14 October 2026 from the pages town.com's robots.txt allows ClaudeBot to read (home, pricing, docs, terms, privacy policy, trust, subprocessors, updates) and the App Store listing. No account was created."
      },
      {
        "label": "Where it runs",
        "value": "A cloud service, US-hosted on Convex and AWS according to the trust page (https://www.town.com/trust)."
      },
      {
        "label": "What it acts on",
        "value": "Email (drafts, sends, triage), calendars and scheduling with other people's calendars, work apps through integrations or custom MCP servers, documents and decks, and, when enabled, AI phone calls through Vapi (https://www.town.com/docs and https://www.town.com/subprocessors)."
      },
      {
        "label": "Outside agent access",
        "value": "Per-routine webhook URLs that accept JSON or plain text with a bearer secret and start a routine run (https://www.town.com/docs/routines/stock-routines/webhooks). Anyone can also email a Townie's address. No public API or MCP server for calling a Townie was found."
      },
      {
        "label": "Data handling",
        "value": "Account deletion soft-deletes at once and removes all data within 30 days. The trust page says Town does not copy or index the inbox and pulls what a task needs at the time (https://www.town.com/trust)."
      },
      {
        "label": "Company",
        "value": "Town.com, Inc., 222 Kearny Street, Suite #650, San Francisco, CA 94108. Disputes go to binding arbitration unless the user opts out within 30 days (https://www.town.com/terms-of-service)."
      },
      {
        "label": "Eligibility",
        "value": "Not intended for anyone under 18 (https://www.town.com/privacy-policy)."
      }
    ],
    "unitPrices": [
      {
        "item": "Town Starter",
        "unit": "month",
        "usd": 15,
        "note": "Billed monthly, 1,250 credits. Checked 14 October 2026."
      },
      {
        "item": "Town Pro",
        "unit": "month",
        "usd": 49,
        "note": "Billed annually, 5,000 credits. Monthly billing costs more."
      },
      {
        "item": "Town Power",
        "unit": "month",
        "usd": 99,
        "note": "Billed annually, 12,000 credits."
      },
      {
        "item": "Town Power Plus",
        "unit": "month",
        "usd": 199,
        "note": "40,000 credits."
      },
      {
        "item": "Town Team",
        "unit": "seat-month",
        "usd": 59,
        "note": "6,000 credits a seat, pooled."
      },
      {
        "item": "Town Pro overage",
        "unit": "credit",
        "usd": 0.044,
        "note": "Per credit past the plan allotment."
      }
    ],
    "provenance": {
      "legalEntity": "Town.com, Inc.",
      "domain": "town.com",
      "domainRegistered": "1996-11-13",
      "endpointOnVendorDomain": null,
      "terms": "https://www.town.com/terms-of-service",
      "privacy": "https://www.town.com/privacy-policy",
      "statusPage": "",
      "changelog": "https://www.town.com/updates",
      "securityTxt": "unknown",
      "checked": "2026-10-14",
      "notes": [
        "town.com's robots.txt gives ClaudeBot an allow list of named pages and disallows everything else, so only listed pages were read. security.txt and llms.txt are not on the list and were not requested.",
        "The terms name Town.com, Inc. and were updated on 21 July 2026. Legal contact legal@corp.town.com, support support@corp.town.com.",
        "No status page was found on the pages read.",
        "Webhook URLs are created per routine on Town's own service; their host is not shown in the docs.",
        "RDAP gives a registration date of 1996-11-13 for town.com, which predates the company."
      ],
      "score": 76,
      "checks": [
        {
          "check": "Legal entity named",
          "value": "Town.com, Inc.",
          "points": 20,
          "max": 20,
          "state": "ok"
        },
        {
          "check": "Domain age",
          "value": "town.com, registered 1996-11-13 (29 years)",
          "points": 15,
          "max": 15,
          "state": "ok"
        },
        {
          "check": "Endpoint on the vendor's domain",
          "value": "no hosted endpoint",
          "points": 0,
          "max": 0,
          "state": "na"
        },
        {
          "check": "Terms of service",
          "value": "published",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Privacy policy",
          "value": "published",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Status page",
          "value": "not found",
          "points": 0,
          "max": 10,
          "state": "no"
        },
        {
          "check": "Changelog",
          "value": "published",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "security.txt",
          "value": "could not be fetched",
          "points": 0,
          "max": 10,
          "state": "no"
        }
      ]
    },
    "pageJsonUrl": "https://www.anchorterminal.com/tools/town.json"
  }
}
