{
  "built": "2026-10-27",
  "count": 24,
  "entries": [
    {
      "id": "amazon",
      "platform": "Amazon (US Conditions of Use)",
      "url": "https://www.amazon.com",
      "checked": "2026-10-27",
      "policies": [
        {
          "topic": "automation",
          "status": "allowed_with_conditions",
          "conditions": "'Agent Terms' apply to any software that takes autonomous or semi-autonomous action on someone's behalf. Agents may access Amazon Services only if they identify themselves at all times and follow section 3 of the Agent Terms; Amazon may ask an agent to stop and may limit agents by technical measures.",
          "quote": "No Agent may access, use, or interact with Amazon Services unless, at all times, it identifies itself and operates in strict accordance with the requirements in section 3 of these Agent Terms.",
          "source": "https://www.amazon.com/gp/help/customer/display.html?nodeId=GLSBYFE9MGKKQXXM",
          "source_updated": "2026-08-14"
        },
        {
          "topic": "disclosure",
          "status": "allowed_with_conditions",
          "conditions": "Machine-actionable: every HTTP/HTTPS request must carry 'Agent/[agent name]' in the user agent string.",
          "quote": "In all HTTP/HTTPS requests, identify that the request is from an Agent and disclose the name of the Agent by including the following in the request's user agent string: \"Agent/[agent name]\"",
          "source": "https://www.amazon.com/gp/help/customer/display.html?nodeId=GLSBYFE9MGKKQXXM",
          "source_updated": "2026-08-14"
        },
        {
          "topic": "account_rules",
          "status": "prohibited",
          "conditions": "Agents must not disguise themselves as humans: no mimicking human keystroke speed or navigation patterns, no completing or circumventing CAPTCHAs, no circumventing measures that block or limit agents.",
          "quote": "Not conceal or obfuscate that any access, use, or interactions are from an Agent, such as by (a) mimicking the speed or pattern of human keystrokes, page navigation, or other interactions or (b) completing or circumventing CAPTCHAs",
          "source": "https://www.amazon.com/gp/help/customer/display.html?nodeId=GLSBYFE9MGKKQXXM",
          "source_updated": "2026-08-14"
        },
        {
          "topic": "other",
          "status": "prohibited",
          "conditions": "The general licence excludes data mining, robots and similar extraction tools, and collecting product listings, descriptions or prices.",
          "quote": "any use of data mining, robots, or similar data gathering and extraction tools",
          "source": "https://www.amazon.com/gp/help/customer/display.html?nodeId=GLSBYFE9MGKKQXXM",
          "source_updated": "2026-08-14"
        }
      ],
      "context": [
        {
          "date": "2026-08",
          "note": "Amazon v. Perplexity (Comet): the Ninth Circuit vacated a March 2026 preliminary injunction against Perplexity's shopping agent; the court said it did not establish a new legal regime for agentic AI. (Secondary, multiple outlets.) The Agent Terms above are dated 2026-08-14, days later."
        }
      ],
      "observed": [
        {
          "date": "2026-10-27",
          "note": "A plain HTTP fetch (WebFetch) got HTTP 503; the page rendered normally in a real browser pane."
        }
      ],
      "domains": [
        "amazon.com"
      ],
      "browser_agent": {
        "status": "allowed_with_conditions",
        "reason": "Agent Terms: identify as Agent/[name] in the user agent; no human imitation, no CAPTCHA solving; Amazon may ask an agent to stop."
      },
      "ai_posting": {
        "status": "unclear",
        "reason": "Not a publishing platform for this purpose."
      },
      "boundaries": [
        {
          "action": "buy",
          "decision": "confirm",
          "requires": [
            "identify_as_agent_user_agent",
            "no_captcha_solving",
            "no_human_imitation"
          ],
          "evidence": [
            "request logs showing Agent/[name] user agent"
          ],
          "policy_ref": 0,
          "checked": "2026-10-27"
        },
        {
          "action": "automate_browser",
          "decision": "confirm",
          "requires": [
            "identify_as_agent_user_agent",
            "no_captcha_solving",
            "no_human_imitation"
          ],
          "evidence": [
            "request logs showing Agent/[name] user agent"
          ],
          "policy_ref": 1,
          "checked": "2026-10-27"
        }
      ],
      "legit_route": {
        "summary": "Agents are allowed if they identify themselves and follow the Agent Terms.",
        "steps": [
          "Send \"Agent/[your agent name]\" in the user-agent string of every HTTP/HTTPS request.",
          "Do not imitate human keystrokes, speed or navigation patterns.",
          "Do not solve or circumvent CAPTCHAs or other human-verification measures.",
          "Stop if Amazon asks your agent to refrain; respect technical limits."
        ],
        "sources": [
          "https://www.amazon.com/gp/help/customer/display.html?nodeId=GLSBYFE9MGKKQXXM"
        ]
      }
    },
    {
      "id": "bluesky",
      "platform": "Bluesky",
      "url": "https://bsky.app",
      "checked": "2026-10-27",
      "domains": [
        "bsky.app",
        "bsky.social"
      ],
      "browser_agent": {
        "status": "unclear",
        "reason": "No rule specific to browser automation; the guidelines prohibit bypassing or abusing systems, APIs and rate limits."
      },
      "ai_posting": {
        "status": "unclear",
        "reason": "The Community Guidelines don't address AI-generated content or require labelling automated accounts."
      },
      "policies": [
        {
          "topic": "automation",
          "status": "prohibited",
          "conditions": "Spam, artificial manipulation of features/social signals, automated harassment, and bypassing or abusing APIs and rate limits are prohibited. Non-abusive automation isn't banned as such.",
          "quote": "Do not artificially manipulate features or social signals to gain unearned reach",
          "source": "https://bsky.social/about/support/community-guidelines",
          "source_updated": "2025-09-19"
        },
        {
          "topic": "account_rules",
          "status": "prohibited",
          "conditions": "No impersonation or fake accounts that deceive about who you are; clearly labelled parody/fan accounts are an exception; no ban evasion.",
          "quote": "Do not impersonate others or official groups in ways that could mislead users",
          "source": "https://bsky.social/about/support/community-guidelines",
          "source_updated": "2025-09-19"
        },
        {
          "topic": "disclosure",
          "status": "unclear",
          "conditions": "No requirement to label automated accounts or AI content in the guidelines read.",
          "quote": "Do not send spam or repeatedly post content in ways that disrupt normal conversations or service use.",
          "source": "https://bsky.social/about/support/community-guidelines",
          "source_updated": "2025-09-19"
        }
      ],
      "observed": [
        {
          "date": "2026-10-27",
          "note": "Guidelines readable by plain HTTP fetch. Posting via the AT Protocol needs account credentials or an app password, which an agent that won't hold secrets can't use."
        }
      ]
    },
    {
      "id": "cloudflare",
      "platform": "Cloudflare (network defaults affecting any site behind it)",
      "url": "https://www.cloudflare.com",
      "checked": "2026-10-27",
      "policies": [
        {
          "topic": "automation",
          "status": "allowed_with_conditions",
          "conditions": "From 2026-09-15, new defaults for new domains: bots classified as Training or Agent are blocked on pages that display ads; Search stays allowed. Owners can set each category to Block / Block on pages with ads / Allow. Behaviour for existing zones isn't stated on the page. Agents should expect blocks on ad-bearing pages of Cloudflare-fronted sites unless the owner allows them.",
          "quote": "bots classified as Training or as Agent will be blocked on pages that display ads, and Search will remain allowed.",
          "source": "https://developers.cloudflare.com/bots/additional-configurations/block-ai-bots/",
          "source_updated": "2026-07-01"
        },
        {
          "topic": "other",
          "status": "allowed_with_conditions",
          "conditions": "Definition used for the Agent category.",
          "quote": "automated activity acting in real time on a person's behalf, such as chat fetch bots and browser-use agents",
          "source": "https://developers.cloudflare.com/bots/additional-configurations/block-ai-bots/",
          "source_updated": "2026-07-01"
        },
        {
          "topic": "disclosure",
          "status": "unclear",
          "conditions": "Blocking options also block *verified* bots in the selected category; the page gives no exception for signed agents (Web Bot Auth). Signing identifies an agent, it doesn't exempt it.",
          "quote": "Each blocking option blocks Verified bots in the selected category",
          "source": "https://developers.cloudflare.com/bots/additional-configurations/block-ai-bots/",
          "source_updated": "2026-07-01"
        },
        {
          "topic": "disclosure",
          "status": "allowed_with_conditions",
          "conditions": "Verified-bot / signed-agent status requires honest self-identification (Web Bot Auth signature, published IPs or reverse DNS) and non-abusive behaviour (obey robots.txt, reasonable rates, no evasion). Breaches remove a service from the global allowlist. Since 2026-07-01, BotBase metadata marks Direct vs Intermediary (signed agent) operation.",
          "quote": "declares who it is deterministically, through a cryptographic Web Bot Auth signature",
          "source": "https://developers.cloudflare.com/bots/concepts/bot/signed-agents/",
          "source_updated": "2026-10-08"
        }
      ],
      "observed": [
        {
          "date": "2026-10-26",
          "note": "Ko-fi pages (Cloudflare-fronted) returned full HTML to a script with a browser user agent; a Cloudflare challenge appeared for plain curl in earlier sessions (2026-10-15/16). Payhip and Etsy returned 403 to scripts."
        }
      ],
      "domains": [],
      "legit_route": {
        "summary": "Identify your agent cryptographically and apply to Cloudflare's verified bots / signed agents list; then each site's AI-bot policy still decides block vs allow.",
        "steps": [
          "Sign requests with Web Bot Auth (or publish IP ranges / reverse DNS).",
          "Behave non-abusively: obey robots.txt and crawl directives, keep reasonable request rates, never evade site preferences.",
          "Submit through the BotBase submission form in the Cloudflare dashboard; status shows under BotBase > Submission history (rejections come without a reason).",
          "Expect site owners' AI-bot settings to still apply: verified status identifies you, it does not override a block."
        ],
        "sources": [
          "https://developers.cloudflare.com/bots/concepts/bot/signed-agents/",
          "https://developers.cloudflare.com/bots/additional-configurations/block-ai-bots/"
        ]
      }
    },
    {
      "id": "dev-to",
      "platform": "DEV (dev.to)",
      "url": "https://dev.to",
      "checked": "2026-10-26",
      "policies": [
        {
          "topic": "ai_content",
          "status": "allowed_with_conditions",
          "conditions": "Disclose AI involvement (#ABotWroteThis tag or in the text); publish in good faith; fact-check before publishing.",
          "quote": "AI-assisted and -generated articles are allowed on DEV Community, so long as they follow these guidelines",
          "source": "https://dev.to/guidelines-for-ai-assisted-articles-on-dev",
          "source_updated": "2024-04-08"
        },
        {
          "topic": "ai_comments",
          "status": "prohibited",
          "conditions": "Exceptions: translation and grammar tools, assistive technology.",
          "quote": "not use bots or AI to generate comments on posts",
          "source": "https://dev.to/guidelines-for-ai-assisted-articles-on-dev",
          "source_updated": "2024-04-08"
        },
        {
          "topic": "promotion",
          "status": "prohibited",
          "conditions": "AI-assisted articles should not promote any business, program or course, including the author's own; articles mainly soliciting money or built for backlinks may lead to suspension or a ban.",
          "quote": "Articles published mainly to solicit money may lead to suspension or a ban",
          "source": "https://dev.to/guidelines-for-ai-assisted-articles-on-dev",
          "source_updated": "2024-04-08"
        },
        {
          "topic": "automation",
          "status": "unclear",
          "conditions": "The AI guidelines restrict bots for comments only; no specific rule on automated or scheduled posting on this page.",
          "quote": "not use bots or AI to generate comments on posts",
          "source": "https://dev.to/guidelines-for-ai-assisted-articles-on-dev",
          "source_updated": "2024-04-08"
        }
      ],
      "observed": [
        {
          "date": "2026-10-18",
          "note": "The editor has an AI-disclosure option (No AI / AI-assisted / Fully Autonomous)."
        },
        {
          "date": "2026-10-18",
          "note": "The tag field commits a tag only when a suggestion is clicked; comma or Enter does not."
        },
        {
          "date": "2026-10-20",
          "note": "An editor page loaded before sign-in fails on submit with 'Invalid authenticity token'; reload after sign-in."
        },
        {
          "date": "2026-10-24",
          "note": "Sign-in in an embedded browser pane and in Chrome had expired about a day after sign-in."
        },
        {
          "date": "2026-10-26",
          "note": "'Continue with GitHub' signs in without a password when the browser already has a GitHub session and the OAuth app was previously authorized."
        },
        {
          "date": "2026-10-26",
          "note": "A new account with disclosed-AI posts: 4 posts, each under 25 views, 0 reactions."
        }
      ],
      "domains": [
        "dev.to"
      ],
      "browser_agent": {
        "status": "unclear",
        "reason": "No rule on automated posting; AI comments prohibited."
      },
      "ai_posting": {
        "status": "allowed_with_conditions",
        "reason": "Disclose AI involvement; no promotion or soliciting money."
      },
      "boundaries": [
        {
          "action": "post_ai_content",
          "decision": "confirm",
          "requires": [
            "disclose_ai",
            "no_promotion"
          ],
          "evidence": [
            "disclosure in the article or #abotwrotethis tag"
          ],
          "policy_ref": 0,
          "checked": "2026-10-27"
        }
      ]
    },
    {
      "id": "discord",
      "platform": "Discord",
      "url": "https://discord.com",
      "checked": "2026-10-27",
      "policies": [
        {
          "topic": "automation",
          "status": "allowed_with_conditions",
          "conditions": "Automation must use a dedicated bot account created on the developer applications page and authenticated with a token. Note for agents that won't hold tokens: the sanctioned route needs one.",
          "quote": "Discord's API provides a separate type of user account dedicated to automation, called a bot account.",
          "source": "https://support.discord.com/hc/en-us/articles/115002192352-Automated-User-Accounts-Self-Bots",
          "source_updated": "about 2 years before check (page shows '2 years ago Updated')"
        },
        {
          "topic": "account_rules",
          "status": "prohibited",
          "conditions": "Driving a normal user account automatically (a 'self-bot', including a browser agent operating a person's account) is forbidden and can end the account.",
          "quote": "Automating normal user accounts (generally called \"self-bots\") outside of the OAuth2/bot API is forbidden, and can result in an account termination if found.",
          "source": "https://support.discord.com/hc/en-us/articles/115002192352-Automated-User-Accounts-Self-Bots",
          "source_updated": "about 2 years before check"
        }
      ],
      "observed": [
        {
          "date": "2026-10-27",
          "note": "Help page returned HTTP 403 to a plain fetch (WebFetch) but rendered in the browser pane."
        }
      ],
      "domains": [
        "discord.com"
      ],
      "browser_agent": {
        "status": "prohibited",
        "reason": "Automating normal user accounts (self-bots) is forbidden; use a bot account via the API."
      },
      "ai_posting": {
        "status": "allowed_with_conditions",
        "reason": "Through a bot account only."
      },
      "boundaries": [
        {
          "action": "automate_browser",
          "decision": "deny",
          "requires": [
            "bot_account_token"
          ],
          "evidence": [],
          "policy_ref": 1,
          "checked": "2026-10-27"
        }
      ],
      "legit_route": {
        "summary": "Use a bot account created through the developer portal; never automate a normal user account.",
        "steps": [
          "Create an application and a bot account on the Discord developer applications page.",
          "Authenticate the bot with its token through the API/Gateway.",
          "Do not run a \"self-bot\" (automating a user account, including via a browser agent)."
        ],
        "sources": [
          "https://support.discord.com/hc/en-us/articles/115002192352-Automated-User-Accounts-Self-Bots"
        ]
      }
    },
    {
      "id": "ebay",
      "platform": "eBay (US User Agreement)",
      "url": "https://www.ebay.com",
      "checked": "2026-10-27",
      "policies": [
        {
          "topic": "agents_buying",
          "status": "prohibited",
          "conditions": "Section 3 (Using eBay) prohibits automated means including buy-for-me agents, LLM-driven bots and any end-to-end flow that places orders without human review. Read as: an agent may not complete purchases on eBay on its own.",
          "quote": "(including, without limitation buy-for-me agents, LLM-driven bots, ... or any end-to-end flow that attempts to place orders without human review)",
          "source": "https://www.ebay.com/help/policies/member-behavior-policies/user-agreement?id=4259",
          "source_updated": "2026-06-28 (current version effective for prior users); previous amendment effective 2026-02-20"
        },
        {
          "topic": "automation",
          "status": "prohibited",
          "conditions": "Robots, spiders, scrapers, data mining and other automated means are prohibited (Section 3).",
          "quote": "use any robot, spider, scraper, data mining tools, data gathering and extraction tools, or other automated means",
          "source": "https://www.ebay.com/help/policies/member-behavior-policies/user-agreement?id=4259",
          "source_updated": "2026-06-28"
        },
        {
          "topic": "ai_content",
          "status": "allowed_with_conditions",
          "conditions": "Section 7 contemplates listing content created with eBay or third-party tools, including generative AI; the seller remains responsible for listing content.",
          "quote": "including listing content created using tools offered by eBay or third parties such as translation ... generative artificial intelligence tools",
          "source": "https://www.ebay.com/help/policies/member-behavior-policies/user-agreement?id=4259",
          "source_updated": "2026-06-28"
        },
        {
          "topic": "account_rules",
          "status": "allowed_with_conditions",
          "conditions": "Authorized third parties (employees, agents) may access an account under the account holder's arrangements; exact conditions in Section 3 (to read in full).",
          "quote": "If you require that authorized third parties (employees, agents, etc.) have access to your account",
          "source": "https://www.ebay.com/help/policies/member-behavior-policies/user-agreement?id=4259",
          "source_updated": "2026-06-28"
        }
      ],
      "observed": [
        {
          "date": "2026-10-27",
          "note": "The User Agreement page is readable by a plain HTTP fetch (WebFetch); it is ~158K characters, so automated readers must page through it."
        }
      ],
      "domains": [
        "ebay.com"
      ],
      "browser_agent": {
        "status": "prohibited",
        "reason": "User Agreement s.3: robots and other automated means, buy-for-me agents and LLM-driven bots prohibited (US terms; other eBay country sites have their own)."
      },
      "ai_posting": {
        "status": "allowed_with_conditions",
        "reason": "AI-assisted listing content contemplated; seller remains responsible."
      },
      "boundaries": [
        {
          "action": "buy",
          "decision": "deny",
          "requires": [],
          "evidence": [],
          "policy_ref": 0,
          "checked": "2026-10-27"
        },
        {
          "action": "automate_browser",
          "decision": "deny",
          "requires": [],
          "evidence": [],
          "policy_ref": 1,
          "checked": "2026-10-27"
        }
      ],
      "legit_route": {
        "summary": "No sanctioned route for browser agents found in eBay's terms read here; automated access is prohibited. Any legitimate agent access would go through eBay's official API or partner programmes, which this atlas has not verified.",
        "steps": [
          "Do not drive the website with a browser agent or scripts.",
          "Check the platform's official developer/API programme and its own terms before building anything.",
          "If no official route covers your use case, treat the action as not allowed."
        ],
        "sources": [
          "https://www.ebay.com/help/policies/member-behavior-policies/user-agreement?id=4259"
        ]
      }
    },
    {
      "id": "etsy",
      "platform": "Etsy",
      "url": "https://www.etsy.com",
      "checked": "2026-10-27",
      "policies": [
        {
          "topic": "ai_content",
          "status": "allowed_with_conditions",
          "conditions": "'Seller-prompted AI creations' (generated from the seller's own original prompts) qualify as 'designed by a seller' and may be sold.",
          "quote": "Seller-prompted AI creations: Creations that were generated using AI tools (e.g., AI image generators such as Dall-E) based on a seller's original prompts.",
          "source": "https://www.etsy.com/legal/creativity",
          "source_updated": "2025-06-10"
        },
        {
          "topic": "disclosure",
          "status": "allowed_with_conditions",
          "conditions": "AI use must be disclosed in the listing description.",
          "quote": "Sellers must disclose within their listing description if an item is created with the use of AI.",
          "source": "https://www.etsy.com/legal/creativity",
          "source_updated": "2025-06-10"
        },
        {
          "topic": "other",
          "status": "prohibited",
          "conditions": "AI prompt bundles don't qualify as 'designed by a seller' (listed alongside bundles/PDFs of someone else's work).",
          "quote": "Examples of items that do not qualify as 'designed by a seller': AI prompt bundles; A PDF file of a book that the seller did not personally create or design",
          "source": "https://www.etsy.com/legal/creativity",
          "source_updated": "2025-06-10"
        }
      ],
      "observed": [
        {
          "date": "2026-10-26",
          "note": "etsy.com returned HTTP 403 to a scripted fetch."
        },
        {
          "date": "2026-10-27",
          "note": "The Creativity Standards page rendered in the browser pane after a cookie banner (declined non-essential cookies)."
        },
        {
          "date": "2026-10-27",
          "note": "Listing fees ($0.20 per listing, per Etsy's general fee schedule, not verified here) mean a €0-budget agent can't list without spending."
        }
      ],
      "domains": [
        "etsy.com"
      ],
      "browser_agent": {
        "status": "unclear",
        "reason": "Automation rules not yet read."
      },
      "ai_posting": {
        "status": "allowed_with_conditions",
        "reason": "Seller-prompted AI creations allowed with disclosure in the listing."
      }
    },
    {
      "id": "fiverr",
      "platform": "Fiverr",
      "url": "https://www.fiverr.com",
      "checked": "2026-10-27",
      "policies": [
        {
          "topic": "ai_content",
          "status": "allowed_with_conditions",
          "conditions": "AI is permitted in all categories as a tool supporting the freelancer's own skill and effort, not replacing it; work must be high-quality, original and customised; generic or unmodified AI output doesn't meet the standard. An autonomous agent doing the whole job sits badly with 'not a substitute'.",
          "quote": "AI tools may be used to assist freelancers in completing their work, but they are not a substitute for freelancers' own skill and effort.",
          "source": "https://help.fiverr.com/hc/en-us/articles/37333301560593-Using-AI-on-Fiverr-Guidelines-for-freelancers-and-clients",
          "source_updated": null
        },
        {
          "topic": "disclosure",
          "status": "allowed_with_conditions",
          "conditions": "Freelancers needn't list every tool, but must honour a client's explicit request for non-AI work and disclose their workflow when asked. Deception about how work was delivered can lead to cancellation, refund and permanent suspension.",
          "quote": "Freelancers must also honor a client's explicit request for non-AI work.",
          "source": "https://help.fiverr.com/hc/en-us/articles/37333301560593-Using-AI-on-Fiverr-Guidelines-for-freelancers-and-clients",
          "source_updated": null
        },
        {
          "topic": "account_rules",
          "status": "prohibited",
          "conditions": "Trust breaches include misrepresenting AI usage; consequences include permanent suspension.",
          "quote": "If we identify a trust breach, including deception about how work was delivered, misrepresentation of AI usage, or failure to meet the platform's quality standards, the order may be cancelled, the client may receive a full refund, and the freelancer's account may be permanently suspended.",
          "source": "https://help.fiverr.com/hc/en-us/articles/37333301560593-Using-AI-on-Fiverr-Guidelines-for-freelancers-and-clients",
          "source_updated": null
        },
        {
          "topic": "other",
          "status": "prohibited",
          "conditions": "Prohibited AI uses: deepfakes without consent, unauthorised voice/likeness, falsified documents or identities, misleading avatars, harmful content, manipulating public perception.",
          "quote": "Misuse of AI that infringes on privacy, deceives others, or manipulates reality, regardless of intent, is not tolerated on the platform.",
          "source": "https://help.fiverr.com/hc/en-us/articles/37333301560593-Using-AI-on-Fiverr-Guidelines-for-freelancers-and-clients",
          "source_updated": null
        }
      ],
      "observed": [
        {
          "date": "2026-10-27",
          "note": "Help page rendered in the browser pane."
        },
        {
          "date": "2026-10-26",
          "note": "Third-party sources report a 14-day clearing period for new sellers' earnings (not verified on Fiverr's pages)."
        }
      ],
      "domains": [
        "fiverr.com"
      ],
      "browser_agent": {
        "status": "unclear",
        "reason": "Automation rules not yet read."
      },
      "ai_posting": {
        "status": "allowed_with_conditions",
        "reason": "AI as a tool supporting the freelancer, not a substitute; honour non-AI requests."
      }
    },
    {
      "id": "github",
      "platform": "GitHub",
      "url": "https://github.com",
      "checked": "2026-10-27",
      "policies": [
        {
          "topic": "account_rules",
          "status": "prohibited",
          "conditions": "Accounts must be created by a human; agents must not register accounts.",
          "quote": "Accounts registered by \"bots\" or other automated methods are not permitted.",
          "source": "https://docs.github.com/en/site-policy/github-terms/github-terms-of-service",
          "source_updated": "2026-04-27"
        },
        {
          "topic": "automation",
          "status": "allowed_with_conditions",
          "conditions": "Automation runs on a machine account set up by a human who accepts the Terms and is responsible for it; at most one free machine account in addition to one free personal account.",
          "quote": "the owner of the Account is ultimately responsible for the machine's actions.",
          "source": "https://docs.github.com/en/site-policy/github-terms/github-terms-of-service",
          "source_updated": "2026-04-27"
        },
        {
          "topic": "automation",
          "status": "prohibited",
          "conditions": "Excessive automated bulk activity, automated inauthentic activity, and rank abuse (automated starring/following) are prohibited.",
          "quote": "using our servers for any form of excessive automated bulk activity",
          "source": "https://docs.github.com/en/site-policy/acceptable-use-policies/github-acceptable-use-policies",
          "source_updated": null
        },
        {
          "topic": "promotion",
          "status": "prohibited",
          "conditions": "No advertising in other users' accounts, e.g. monetized or excessive bulk content in issues; no unsolicited emails to users.",
          "quote": "You may not advertise in other Users' Accounts, such as by posting monetized or excessive bulk content in issues.",
          "source": "https://docs.github.com/en/site-policy/acceptable-use-policies/github-acceptable-use-policies",
          "source_updated": null
        },
        {
          "topic": "ai_content",
          "status": "unclear",
          "conditions": "The Terms and Acceptable Use Policies don't address AI-generated content or contributions; individual repositories set their own AI-contribution rules (many ban AI PRs).",
          "quote": "Scraping refers to extracting information from our Service via an automated process, such as a bot or webcrawler.",
          "source": "https://docs.github.com/en/site-policy/acceptable-use-policies/github-acceptable-use-policies",
          "source_updated": null
        }
      ],
      "observed": [
        {
          "date": "2026-10-14",
          "note": "An SSH key can push to existing repos but cannot create repositories, change settings or enable Pages; those need the web UI or an API token."
        },
        {
          "date": "2026-10-18",
          "note": "Agent environments may block history rewrites (force pushes) on safety grounds; plan for non-destructive git workflows."
        },
        {
          "date": "2026-10-26",
          "note": "Developers report GitHub accounts banned after cloud coding agents ran tasks on newly created accounts; the cited cause is GitHub's rule against multiple accounts for automation (Cursor forum, secondary)."
        }
      ],
      "domains": [
        "github.com"
      ],
      "browser_agent": {
        "status": "allowed_with_conditions",
        "reason": "Automation on a human-owned machine account; no bot-registered accounts; no excessive automated bulk activity."
      },
      "ai_posting": {
        "status": "unclear",
        "reason": "Terms silent on AI content; repositories set their own contribution rules."
      },
      "boundaries": [
        {
          "action": "create_account",
          "decision": "deny",
          "requires": [],
          "evidence": [],
          "policy_ref": 0,
          "checked": "2026-10-27"
        },
        {
          "action": "automate_api",
          "decision": "confirm",
          "requires": [
            "machine_account_owned_by_human"
          ],
          "evidence": [
            "machine account owner on record"
          ],
          "policy_ref": 1,
          "checked": "2026-10-27"
        }
      ],
      "legit_route": {
        "summary": "Run automation on a machine account that a human set up and is responsible for.",
        "steps": [
          "A human creates the machine account and accepts the Terms on its behalf (accounts registered by bots are not permitted).",
          "Keep to at most one free machine account in addition to the human's free personal account.",
          "Avoid excessive automated bulk activity and automated starring/following."
        ],
        "sources": [
          "https://docs.github.com/en/site-policy/github-terms/github-terms-of-service",
          "https://docs.github.com/en/site-policy/acceptable-use-policies/github-acceptable-use-policies"
        ]
      }
    },
    {
      "id": "google-search",
      "platform": "Google Search (spam policies, affects visibility of anything an agent publishes)",
      "url": "https://www.google.com",
      "checked": "2026-10-27",
      "policies": [
        {
          "topic": "ai_content",
          "status": "allowed_with_conditions",
          "conditions": "How content is made isn't the test; mass-producing pages mainly to manipulate rankings is. Generative AI used to churn out many pages without adding user value is a named example of scaled content abuse.",
          "quote": "Using generative AI tools or other similar tools to generate many pages without adding value for users",
          "source": "https://developers.google.com/search/docs/essentials/spam-policies",
          "source_updated": "2026-08-28"
        },
        {
          "topic": "automation",
          "status": "prohibited",
          "conditions": "Scaled content abuse applies 'no matter how it's created', including scraped feeds turned into pages via automated transformations (synonymizing, translating).",
          "quote": "Scaled content abuse is when many pages are generated for the primary purpose of manipulating search rankings",
          "source": "https://developers.google.com/search/docs/essentials/spam-policies",
          "source_updated": "2026-08-28"
        }
      ],
      "observed": [
        {
          "date": "2026-10-27",
          "note": "Readable by plain HTTP fetch."
        },
        {
          "date": "2026-10-26",
          "note": "A disclosed-AI DEV post from this project appeared in web search results within about a week, so ordinary single articles are indexed."
        }
      ],
      "domains": [],
      "ai_posting": {
        "status": "allowed_with_conditions",
        "reason": "No scaled AI content without user value."
      }
    },
    {
      "id": "hacker-news",
      "platform": "Hacker News",
      "url": "https://news.ycombinator.com",
      "checked": "2026-10-26",
      "policies": [
        {
          "topic": "ai_content",
          "status": "prohibited",
          "conditions": "Covers posts and comments, including AI-edited text.",
          "quote": "Don't post generated text or AI-edited text.",
          "source": "https://news.ycombinator.com/newsguidelines.html",
          "source_updated": null
        },
        {
          "topic": "automation",
          "status": "prohibited",
          "quote": "please don't automate posting.",
          "source": "https://news.ycombinator.com/newsguidelines.html",
          "source_updated": null
        },
        {
          "topic": "promotion",
          "status": "allowed_with_conditions",
          "conditions": "Own work is fine part of the time; no soliciting upvotes, comments or submissions.",
          "quote": "It's ok to post your own stuff part of the time, but the primary use of the site should be for curiosity.",
          "source": "https://news.ycombinator.com/newsguidelines.html",
          "source_updated": null
        },
        {
          "topic": "other",
          "status": "prohibited",
          "conditions": "Stated purpose of the site.",
          "quote": "HN is for conversation between humans.",
          "source": "https://news.ycombinator.com/newsguidelines.html",
          "source_updated": null
        }
      ],
      "observed": [
        {
          "date": "2026-10-14",
          "note": "Effectively closed to disclosed-AI authors: both AI-written text and automated posting are excluded by the guidelines, so a rule-bound agent should not post here at all, even through a human relay."
        }
      ],
      "domains": [
        "news.ycombinator.com"
      ],
      "browser_agent": {
        "status": "allowed_with_conditions",
        "reason": "Reading is fine; automated posting is not."
      },
      "ai_posting": {
        "status": "prohibited",
        "reason": "No generated or AI-edited text."
      },
      "boundaries": [
        {
          "action": "post_ai_content",
          "decision": "deny",
          "requires": [],
          "evidence": [],
          "policy_ref": 0,
          "checked": "2026-10-27"
        }
      ]
    },
    {
      "id": "instagram",
      "platform": "Instagram (Meta) — Terms of Use",
      "url": "https://www.instagram.com",
      "checked": "2026-10-27",
      "domains": [
        "instagram.com"
      ],
      "browser_agent": {
        "status": "prohibited",
        "reason": "Accessing or collecting information in an automated way without Instagram's express permission is prohibited, logged in or not."
      },
      "ai_posting": {
        "status": "unclear",
        "reason": "The Terms of Use don't address AI-generated posts; Meta's separate AI-labelling policy not yet read."
      },
      "policies": [
        {
          "topic": "automation",
          "status": "prohibited",
          "conditions": "Covers automated account creation and automated access or collection, whether or not logged in, unless Instagram gives express permission.",
          "quote": "This includes creating accounts or accessing or collecting information in an automated way without our express permission, regardless of whether such automated access or collection is undertaken while logged-in to an Instagram account.",
          "source": "https://help.instagram.com/581066165581870",
          "source_updated": "2025-01-01 (effective date shown)"
        },
        {
          "topic": "account_rules",
          "status": "prohibited",
          "conditions": "No impersonating someone or something you aren't; no accounts for others without their express permission.",
          "quote": "you may not impersonate someone or something you aren't, and you can't create an account for someone else unless you have their express permission.",
          "source": "https://help.instagram.com/581066165581870",
          "source_updated": "2025-01-01"
        }
      ],
      "observed": [
        {
          "date": "2026-10-27",
          "note": "A plain HTTP fetch returned only the 'Help Center' heading; the Terms rendered fully in the browser pane after JavaScript ran."
        }
      ],
      "legit_route": {
        "summary": "No sanctioned route for browser agents found in Instagram's terms read here; automated access is prohibited. Any legitimate agent access would go through Instagram's official API or partner programmes, which this atlas has not verified.",
        "steps": [
          "Do not drive the website with a browser agent or scripts.",
          "Check the platform's official developer/API programme and its own terms before building anything.",
          "If no official route covers your use case, treat the action as not allowed."
        ],
        "sources": [
          "https://help.instagram.com/581066165581870"
        ]
      }
    },
    {
      "id": "ko-fi",
      "platform": "Ko-fi",
      "url": "https://ko-fi.com",
      "checked": "2026-10-27",
      "policies": [
        {
          "topic": "ai_content",
          "status": "allowed_with_conditions",
          "conditions": "AI content isn't banned; it must meet copyright law and the content guidelines. Presenting AI-generated work as human-made is prohibited as misleading (e.g., AI writing sold as your own writing).",
          "quote": "Presenting AI-generated content as your own human-made work to potential buyers goes against Ko-fi's Terms and Conditions",
          "source": "https://help.ko-fi.com/hc/en-us/articles/19789627403293-Ko-fi-s-stance-on-AI",
          "source_updated": null
        },
        {
          "topic": "automation",
          "status": "prohibited",
          "conditions": "Scraping is prohibited for AI bots and other automated tools; major AI training bots are blocked by software.",
          "quote": "AI bots and other automated tools are not allowed to collect content from our service.",
          "source": "https://help.ko-fi.com/hc/en-us/articles/19789627403293-Ko-fi-s-stance-on-AI",
          "source_updated": null
        },
        {
          "topic": "other",
          "status": "prohibited",
          "conditions": "AI-generated work is ineligible for Ko-fi giveaways, challenges and contests (including on its socials and Discord); the community Discord doesn't allow AI content.",
          "quote": "AI-generated work is not eligible for giveaways, challenges, or contests on Ko-fi",
          "source": "https://help.ko-fi.com/hc/en-us/articles/19789627403293-Ko-fi-s-stance-on-AI",
          "source_updated": null
        }
      ],
      "observed": [
        {
          "date": "2026-10-15",
          "note": "The login CAPTCHA failed in an embedded agent browser pane; an agent that does not solve CAPTCHAs cannot sign in there."
        },
        {
          "date": "2026-10-18",
          "note": "A creator page can look live to visitors while unable to accept payments because of incomplete payment setup; the warning is visible only in the owner's view."
        },
        {
          "date": "2026-10-26",
          "note": "The help article returned HTTP 403 to a plain fetch (WebFetch) but rendered in the browser pane."
        },
        {
          "date": "2026-10-27",
          "note": "Because scraping by automated tools is prohibited, an external script that monitors Ko-fi pages (e.g., a payment-health monitor) would conflict with Ko-fi's rules even for public pages."
        }
      ],
      "domains": [
        "ko-fi.com"
      ],
      "browser_agent": {
        "status": "prohibited",
        "reason": "AI bots and other automated tools may not collect content from the service."
      },
      "ai_posting": {
        "status": "allowed_with_conditions",
        "reason": "AI content allowed if not presented as human-made."
      }
    },
    {
      "id": "linkedin",
      "platform": "LinkedIn",
      "url": "https://www.linkedin.com",
      "checked": "2026-10-27",
      "policies": [
        {
          "topic": "automation",
          "status": "prohibited",
          "conditions": "Don't 8.2.13: unauthorised bots or automated methods to access the Services are prohibited (covers browser-driving agents acting on an account).",
          "quote": "Use bots or other unauthorized automated methods to access the Services",
          "source": "https://www.linkedin.com/legal/user-agreement",
          "source_updated": "2025-11-03"
        },
        {
          "topic": "other",
          "status": "prohibited",
          "conditions": "Don't 8.2.2: scraping or copying the Services, including profiles, by scripts, robots, crawlers, browser plugins or add-ons.",
          "quote": "Develop, support or use software, devices, scripts, robots or any other means or processes (such as crawlers, browser plugins and add-ons or any other technology) to scrape or copy the Services",
          "source": "https://www.linkedin.com/legal/user-agreement",
          "source_updated": "2025-11-03"
        },
        {
          "topic": "account_rules",
          "status": "prohibited",
          "conditions": "Profiles are for real people using their real names; no profile for anyone other than yourself. An agent can't have its own member profile.",
          "quote": "create a Member profile for anyone other than yourself (a real person)",
          "source": "https://www.linkedin.com/legal/user-agreement",
          "source_updated": "2025-11-03"
        },
        {
          "topic": "ai_content",
          "status": "allowed_with_conditions",
          "conditions": "Section 3.6 (about LinkedIn's own generative AI features): review and edit AI output before sharing; the member is responsible regardless of AI labels. No separate ban on AI-written posts in the Dos and Don'ts.",
          "quote": "Please review and edit such content before sharing with others.",
          "source": "https://www.linkedin.com/legal/user-agreement",
          "source_updated": "2025-11-03"
        }
      ],
      "observed": [
        {
          "date": "2026-10-27",
          "note": "User Agreement readable by plain HTTP fetch."
        }
      ],
      "domains": [
        "linkedin.com"
      ],
      "browser_agent": {
        "status": "prohibited",
        "reason": "Unauthorised bots/automated methods to access the Services prohibited; scraping incl. browser plugins prohibited."
      },
      "ai_posting": {
        "status": "allowed_with_conditions",
        "reason": "Member reviews and is responsible for AI-assisted content."
      },
      "legit_route": {
        "summary": "No sanctioned route for browser agents found in LinkedIn's terms read here; automated access is prohibited. Any legitimate agent access would go through LinkedIn's official API or partner programmes, which this atlas has not verified.",
        "steps": [
          "Do not drive the website with a browser agent or scripts.",
          "Check the platform's official developer/API programme and its own terms before building anything.",
          "If no official route covers your use case, treat the action as not allowed."
        ],
        "sources": [
          "https://www.linkedin.com/legal/user-agreement"
        ]
      }
    },
    {
      "id": "medium",
      "platform": "Medium",
      "url": "https://medium.com",
      "checked": "2026-10-27",
      "policies": [
        {
          "topic": "ai_content",
          "status": "allowed_with_conditions",
          "conditions": "Allowed to publish, but Medium's stated position is 'for human storytelling, not AI generated writing'. Disclosed AI writing gets ordinary distribution rules; undisclosed AI-generated or AI-assisted text is limited to the author's own network.",
          "quote": "Medium is for human storytelling, not AI generated writing.",
          "source": "https://help.medium.com/hc/en-us/articles/22576852947223-Artificial-Intelligence-AI-content-policy",
          "source_updated": null
        },
        {
          "topic": "promotion",
          "status": "prohibited",
          "conditions": "Monetisation: AI-generated writing can't be paywalled in the Partner Program, disclosed or not; violations can mean removal from the paywall or loss of Partner Program enrollment. AI content made mainly for SEO/affiliate links is not allowed.",
          "quote": "AI-generated writing (disclosed as such or not) is not allowed to be paywalled as part of our Partner Program.",
          "source": "https://help.medium.com/hc/en-us/articles/22576852947223-Artificial-Intelligence-AI-content-policy",
          "source_updated": null
        },
        {
          "topic": "disclosure",
          "status": "allowed_with_conditions",
          "conditions": "Any story incorporating AI-generated text or images must be labelled; AI images need captions. Grammar/spell checkers, outlining and fact-verification tools need no disclosure.",
          "quote": "We require that any story incorporating AI assistance be clearly labeled as such.",
          "source": "https://help.medium.com/hc/en-us/articles/22576852947223-Artificial-Intelligence-AI-content-policy",
          "source_updated": null
        },
        {
          "topic": "other",
          "status": "prohibited",
          "conditions": "AI rephrasing/summarising that yields close derivatives (plagiarism) and easily disprovable hallucinated facts are not allowed.",
          "quote": "We do not allow articles that contain easily disprovable AI-hallucinated stories, statistics, events, or otherwise incorrect or nonfactual information.",
          "source": "https://help.medium.com/hc/en-us/articles/22576852947223-Artificial-Intelligence-AI-content-policy",
          "source_updated": null
        }
      ],
      "observed": [
        {
          "date": "2026-10-27",
          "note": "Help page returned HTTP 403 to a plain fetch (WebFetch) but rendered in the browser pane."
        },
        {
          "date": "2026-10-27",
          "note": "For an agent trying to earn: Medium can't be monetised with AI-written stories (no paywall), so it's a distribution channel at most."
        }
      ],
      "domains": [
        "medium.com"
      ],
      "browser_agent": {
        "status": "unclear",
        "reason": "Automation rules not yet read."
      },
      "ai_posting": {
        "status": "allowed_with_conditions",
        "reason": "Disclose; AI writing cannot be paywalled."
      },
      "boundaries": [
        {
          "action": "post_ai_content",
          "decision": "confirm",
          "requires": [
            "disclose_ai",
            "no_paywall"
          ],
          "evidence": [
            "AI label on the story; not behind the paywall"
          ],
          "policy_ref": 0,
          "checked": "2026-10-27"
        }
      ]
    },
    {
      "id": "reddit",
      "platform": "Reddit",
      "url": "https://www.reddit.com",
      "checked": "2026-10-27",
      "verification_note": "Primary pages could not be read: reddit.com and redditinc.com are blocked for this agent (WebFetch, the Claude desktop browser pane and Claude in Chrome all refuse them). Every policy line below is SECONDARY and must be confirmed by a human reading the primary page.",
      "policies": [
        {
          "topic": "automation",
          "status": "allowed_with_conditions",
          "conditions": "SECONDARY. Since the Responsible Builder Policy (announced 2025-11-11 in r/redditdev), self-service API access is closed; developers, researchers and moderators must request approval; Devvit is the route for developers; existing compliant access was kept.",
          "quote": "SECONDARY (mirror of r/redditdev announcement): developers, researchers and moderators must request approval before gaining access to build with Reddit data",
          "source": "https://r.datuan.dev/r/redditdev/comments/1oug31u/introducing_the_responsible_builder_policy_new/",
          "source_updated": "2025-11-11"
        },
        {
          "topic": "ai_content",
          "status": "unclear",
          "conditions": "Set per subreddit; no platform-wide AI-content rule confirmed. Example (secondary, April 2026 mod post): r/ClaudeAI sends showcase posts from accounts under 50 karma to a megathread.",
          "quote": "SECONDARY: not verified",
          "source": "https://www.reddit.com/r/ClaudeAI/about/rules",
          "source_updated": null
        },
        {
          "topic": "disclosure",
          "status": "unclear",
          "conditions": "Whether the Responsible Builder Policy requires bots to disclose AI use is unverified.",
          "quote": "SECONDARY: not verified",
          "source": "https://redditinc.com/policies/responsible-builder-policy",
          "source_updated": null
        }
      ],
      "observed": [
        {
          "date": "2026-10-15",
          "note": "reddit.com refused by the Claude desktop browser pane ('not allowed due to safety restrictions'); WebFetch can't read reddit.com; Reddit's rules.json returns a bot wall to curl."
        },
        {
          "date": "2026-10-26",
          "note": "Claude in Chrome also refuses reddit.com."
        },
        {
          "date": "2026-10-27",
          "note": "redditinc.com (company policies) is also blocked for WebFetch and the browser pane. For this agent setup, Reddit's rules are entirely unreadable; any Reddit activity needs a human to read and relay the relevant rules first."
        }
      ],
      "domains": [
        "reddit.com"
      ],
      "browser_agent": {
        "status": "unclear",
        "reason": "Primary rules unreadable for this agent; API access needs approval (secondary)."
      },
      "ai_posting": {
        "status": "unclear",
        "reason": "Set per subreddit; unverified."
      }
    },
    {
      "id": "shopify-stores",
      "platform": "Shopify-hosted stores (storefront level)",
      "url": "https://www.shopify.com",
      "checked": "2026-10-27",
      "verification_note": "Buyer-side rules are set by each merchant's own terms; no platform-wide Shopify rule for buying agents was read. Entry records observed storefront signals only.",
      "domains": [],
      "browser_agent": {
        "status": "unclear",
        "reason": "Merchant-specific. Default robots.txt disallows cart and checkout paths for all user agents (observed)."
      },
      "policies": [
        {
          "topic": "agents_buying",
          "status": "unclear",
          "conditions": "Per-merchant terms govern purchases; check the store's own terms page.",
          "quote": "No platform-wide buyer-agent rule verified (2026-10-27).",
          "source": "https://www.shopify.com/legal",
          "source_updated": null
        }
      ],
      "observed": [
        {
          "date": "2026-10-27",
          "note": "robots.txt on four large Shopify stores (allbirds.com, gymshark.com, and others) contains 'User-agent: *' with 'Disallow: /cart', '/checkout' and '/checkouts': automated clients are told not to use cart and checkout paths. robots.txt is advisory, but it states the site's intent."
        },
        {
          "date": "2026-10-27",
          "note": "A reported Shopify-wide robots.txt comment addressed to AI agents was not present in the four stores checked; not recorded as fact."
        }
      ]
    },
    {
      "id": "stack-overflow",
      "platform": "Stack Overflow",
      "url": "https://stackoverflow.com",
      "checked": "2026-10-27",
      "policies": [
        {
          "topic": "ai_content",
          "status": "prohibited",
          "conditions": "Covers content crafted 'in part or in whole' with generative AI, including drafting. Disclosure doesn't make it acceptable. Detected content is likely deleted with its reputation; repeated infractions may lead to suspension.",
          "quote": "Generative artificial intelligence (a.k.a. GPT, LLM, generative AI, genAI) tools may not be used to generate content for Stack Overflow.",
          "source": "https://stackoverflow.com/help/gen-ai-policy",
          "source_updated": null
        },
        {
          "topic": "disclosure",
          "status": "prohibited",
          "conditions": "Citing the AI tool as author doesn't fix it.",
          "quote": "the content may not honestly or fairly represent the sources of knowledge used, even if someone explicitly cites the generative artificial intelligence tool as an author in their content.",
          "source": "https://stackoverflow.com/help/gen-ai-policy",
          "source_updated": null
        }
      ],
      "observed": [
        {
          "date": "2026-10-27",
          "note": "stackoverflow.com is blocked for WebFetch ('unable to fetch') but the help page rendered in the Claude desktop browser pane."
        },
        {
          "date": "2026-10-27",
          "note": "Effectively closed to AI agents as authors, even with disclosure: a rule-bound agent should not post questions or answers here."
        }
      ],
      "domains": [
        "stackoverflow.com"
      ],
      "browser_agent": {
        "status": "unclear",
        "reason": "Automation rules not yet read."
      },
      "ai_posting": {
        "status": "prohibited",
        "reason": "Generative AI may not be used to generate content, even with attribution."
      },
      "boundaries": [
        {
          "action": "post_ai_content",
          "decision": "deny",
          "requires": [],
          "evidence": [],
          "policy_ref": 0,
          "checked": "2026-10-27"
        }
      ]
    },
    {
      "id": "substack",
      "platform": "Substack",
      "url": "https://substack.com",
      "checked": "2026-10-27",
      "domains": [
        "substack.com"
      ],
      "browser_agent": {
        "status": "unclear",
        "reason": "No explicit automation rule; accounts engaged in 'artificial or inauthentic activity on community surfaces' may be removed."
      },
      "ai_posting": {
        "status": "unclear",
        "reason": "Content guidelines don't regulate AI-written posts in general (only AI-generated intimate images and depictions of minors, both prohibited); no disclosure rule found."
      },
      "policies": [
        {
          "topic": "ai_content",
          "status": "unclear",
          "conditions": "No general rule on AI-written publications; AI-generated non-consensual intimate images and sexual depictions of minors are prohibited.",
          "quote": "AI-generated or otherwise synthetic",
          "source": "https://substack.com/content",
          "source_updated": "2026-09-29"
        },
        {
          "topic": "promotion",
          "status": "prohibited",
          "conditions": "Spam in comments, threads and email replies, and publications created for spamming or phishing, are prohibited.",
          "quote": "you may not create publications for spamming or phishing purposes.",
          "source": "https://substack.com/content",
          "source_updated": "2026-09-29"
        },
        {
          "topic": "automation",
          "status": "unclear",
          "conditions": "No explicit bot/automation rule; inauthentic activity on community surfaces can lead to removal.",
          "quote": "accounts engaged in artificial or inauthentic activity on community surfaces",
          "source": "https://substack.com/content",
          "source_updated": "2026-09-29"
        },
        {
          "topic": "account_rules",
          "status": "prohibited",
          "conditions": "No impersonation of a person, brand or organisation.",
          "quote": "We don't allow impersonation, which includes posing as another person, brand, or organization.",
          "source": "https://substack.com/content",
          "source_updated": "2026-09-29"
        }
      ],
      "observed": [
        {
          "date": "2026-10-27",
          "note": "Content guidelines readable by plain HTTP fetch."
        }
      ]
    },
    {
      "id": "tiktok",
      "platform": "TikTok",
      "url": "https://www.tiktok.com",
      "checked": "2026-10-27",
      "domains": [
        "tiktok.com"
      ],
      "browser_agent": {
        "status": "prohibited",
        "reason": "Automation tools, scripts or other tricks designed to bypass TikTok's systems are strictly prohibited."
      },
      "ai_posting": {
        "status": "allowed_with_conditions",
        "reason": "Label realistic AI-generated or significantly edited content; nothing misleading on matters of public importance or harmful to individuals."
      },
      "policies": [
        {
          "topic": "disclosure",
          "status": "allowed_with_conditions",
          "conditions": "Realistic AI-generated or significantly edited scenes or people must be labelled; unlabelled content may be removed, restricted or labelled by TikTok.",
          "quote": "we require creators to label AI-generated or significantly edited content that shows realistic-looking scenes or people",
          "source": "https://www.tiktok.com/community-guidelines/en/integrity-authenticity",
          "source_updated": "2026-09-24 (effective; released 2026-08-25)"
        },
        {
          "topic": "ai_content",
          "status": "prohibited",
          "conditions": "AIGC that misleads on matters of public importance or harms individuals isn't allowed.",
          "quote": "We don't allow content that's misleading about matters of public importance or harmful to individuals",
          "source": "https://www.tiktok.com/community-guidelines/en/integrity-authenticity",
          "source_updated": "2026-09-24"
        },
        {
          "topic": "automation",
          "status": "prohibited",
          "conditions": "Covers automation tools and scripts that bypass TikTok's systems; inauthentic metrics are removed; trading engagement services prohibited.",
          "quote": "We strictly prohibit automation tools, scripts, or other tricks designed to bypass our systems.",
          "source": "https://www.tiktok.com/community-guidelines/en/integrity-authenticity",
          "source_updated": "2026-09-24"
        }
      ],
      "observed": [
        {
          "date": "2026-10-27",
          "note": "The AI-content support article (support.tiktok.com) redirects to a tiktok.com FAQ page that rendered empty in the browser pane; the Community Guidelines page was readable by plain HTTP fetch."
        }
      ],
      "legit_route": {
        "summary": "No sanctioned route for browser agents found in TikTok's terms read here; automated access is prohibited. Any legitimate agent access would go through TikTok's official API or partner programmes, which this atlas has not verified.",
        "steps": [
          "Do not drive the website with a browser agent or scripts.",
          "Check the platform's official developer/API programme and its own terms before building anything.",
          "If no official route covers your use case, treat the action as not allowed."
        ],
        "sources": [
          "https://www.tiktok.com/community-guidelines/en/integrity-authenticity"
        ]
      }
    },
    {
      "id": "upwork",
      "platform": "Upwork",
      "url": "https://www.upwork.com",
      "checked": "2026-10-27",
      "verification_note": "No current primary Upwork page on AI use or automation was found. Upwork's April 2023 'Trust and Safety AI Update' community announcement now redirects to a marketing page (upwork.com/uma). Lines below are SECONDARY (press and third-party summaries) and must be confirmed in Upwork's Legal Center.",
      "policies": [
        {
          "topic": "ai_content",
          "status": "allowed_with_conditions",
          "conditions": "SECONDARY (2023): freelancers may use any tools, including generative AI, unless the client expressly restricts it; clients may ban AI in their contracts.",
          "quote": "SECONDARY: freelancers can use any tools, which includes generative AI tools, unless expressly restricted by the client",
          "source": "https://community.upwork.com/t5/Announcements/Trust-and-Safety-AI-Update-April-2023/ba-p/1294843",
          "source_updated": "2023-04"
        },
        {
          "topic": "automation",
          "status": "unclear",
          "conditions": "SECONDARY (third-party, not confirmed in Upwork's terms): automation is defined broadly (scripts/extensions acting faster than a human); sending proposals without human review is treated as spam.",
          "quote": "SECONDARY: not verified in Upwork's own terms",
          "source": "https://gigradar.io/blog/responsible-automation-on-upwork",
          "source_updated": null
        },
        {
          "topic": "account_rules",
          "status": "unclear",
          "conditions": "The freelancer of record is the account holder; whether an AI agent may do the work under a human's account, with disclosure, is not addressed in any primary source found.",
          "quote": "SECONDARY: not verified",
          "source": "https://www.upwork.com/legal",
          "source_updated": null
        }
      ],
      "observed": [
        {
          "date": "2026-10-27",
          "note": "Upwork's 2023 AI policy announcement URL redirects to a product page about Upwork's own AI assistant; the policy text isn't available there any more."
        },
        {
          "date": "2026-10-26",
          "note": "Bidding on Upwork costs Connects (paid credits), so a zero-budget agent can't bid without spending."
        }
      ],
      "domains": [
        "upwork.com"
      ],
      "browser_agent": {
        "status": "unclear",
        "reason": "No primary source found."
      },
      "ai_posting": {
        "status": "unclear",
        "reason": "Secondary only."
      }
    },
    {
      "id": "wikipedia-en",
      "platform": "Wikipedia (English)",
      "url": "https://en.wikipedia.org",
      "checked": "2026-10-27",
      "verification_note": "Binding rule found: 'Writing articles with large language models' is a content GUIDELINE (shortcuts WP:LLM, WP:NOLLM, WP:NEWLLM), last edited 2026-10-17. The information page 'Wikipedia:Large language models' (edited 2026-10-24) summarises it.",
      "policies": [
        {
          "topic": "ai_content",
          "status": "prohibited",
          "conditions": "Content guideline. Exceptions: copyediting your own writing (spelling, grammar, punctuation) after human review, and translation from other-language Wikipedias under the separate translation guidance. Persistent use outside the exceptions is treated as disruptive and can lead to a block.",
          "quote": "the use of large language models to generate or rewrite article content \"is strictly prohibited\" except for the uses it lists",
          "source": "https://en.wikipedia.org/wiki/Wikipedia:Writing_articles_with_large_language_models",
          "source_updated": "2026-10-17"
        },
        {
          "topic": "automation",
          "status": "prohibited",
          "conditions": "Unapproved bot-like editing is not allowed; bots need approval under the separate Bot policy.",
          "quote": "LLMs should not be used for unapproved bot-like editing.",
          "source": "https://en.wikipedia.org/wiki/Wikipedia:Large_language_models",
          "source_updated": "2026-10-24"
        },
        {
          "topic": "disclosure",
          "status": "allowed_with_conditions",
          "conditions": "Where LLM use is permitted (translation, copyediting), mention it in the edit summary.",
          "quote": "LLMs used to generate or modify text should be mentioned in the edit summary.",
          "source": "https://en.wikipedia.org/wiki/Wikipedia:Large_language_models",
          "source_updated": "2026-10-24"
        },
        {
          "topic": "ai_comments",
          "status": "prohibited",
          "conditions": "Talk-page comments.",
          "quote": "Editors should not use LLMs to write comments generatively.",
          "source": "https://en.wikipedia.org/wiki/Wikipedia:Large_language_models",
          "source_updated": "2026-10-24"
        }
      ],
      "observed": [
        {
          "date": "2026-10-27",
          "note": "Readable by plain HTTP fetch. The page is community-maintained and was edited three days before this check, so it should be re-checked monthly."
        }
      ],
      "domains": [
        "en.wikipedia.org"
      ],
      "browser_agent": {
        "status": "allowed_with_conditions",
        "reason": "Reading is fine; unapproved bot-like editing is not."
      },
      "ai_posting": {
        "status": "prohibited",
        "reason": "LLM-generated or rewritten article content prohibited (information page)."
      }
    },
    {
      "id": "x",
      "platform": "X (formerly Twitter)",
      "url": "https://x.com",
      "checked": "2026-10-26",
      "policies": [
        {
          "topic": "automation",
          "status": "prohibited",
          "conditions": "Scripting the X website (browser automation, non-API) is prohibited and may lead to permanent suspension.",
          "quote": "Use non-API-based forms of automation, such as scripting the >x< website. The use of these techniques may result in the permanent suspension of your account.",
          "source": "https://help.x.com/en/rules-and-policies/x-automation",
          "source_updated": "2026-04"
        },
        {
          "topic": "ai_content",
          "status": "allowed_with_conditions",
          "conditions": "Automated posts for entertainment, informational or novelty purposes are allowed if all other rules are met; no automated posting about trending topics; no duplicative posts across accounts.",
          "quote": "you may post automated posts for entertainment, informational, or novelty purposes",
          "source": "https://help.x.com/en/rules-and-policies/x-automation",
          "source_updated": "2026-04"
        },
        {
          "topic": "ai_comments",
          "status": "allowed_with_conditions",
          "conditions": "AI reply bots need prior written approval from X; automated replies/mentions only to users who opted in, one per interaction, with an easy opt-out.",
          "quote": "the deployment or operation of any AI reply bot requires prior written and explicit approval from >x<",
          "source": "https://help.x.com/en/rules-and-policies/x-automation",
          "source_updated": "2026-04"
        },
        {
          "topic": "account_rules",
          "status": "allowed_with_conditions",
          "conditions": "Acting through another user's account needs a clear description of the automated actions, express consent (OAuth alone is not enough), and immediate opt-out.",
          "quote": "A user authorizing your app or service to access their >x< account through OAuth does not by itself constitute sufficient consent to take automated actions through that user's account.",
          "source": "https://help.x.com/en/rules-and-policies/x-automation",
          "source_updated": "2026-04"
        },
        {
          "topic": "promotion",
          "status": "prohibited",
          "conditions": "No unsolicited automated DMs; no automated replies based on keyword searches alone; no misleading links.",
          "quote": "sending automated replies to posts based on keyword searches alone is not permitted",
          "source": "https://help.x.com/en/rules-and-policies/x-automation",
          "source_updated": "2026-04"
        },
        {
          "topic": "disclosure",
          "status": "allowed_with_conditions",
          "conditions": "Automated accounts must display the 'Automated' label and stay connected to the human-run account that manages them (the label shows who's managing it).",
          "quote": "Our Automation rules require these accounts to display labels and remain connected to a human-run account.",
          "source": "https://help.x.com/en/using-x/automated-account-labels",
          "source_updated": null
        },
        {
          "topic": "automation",
          "status": "allowed_with_conditions",
          "conditions": "Automation is sanctioned through the X API, subject to the automation rules (labels, no spam, no trending-topic auto-posts).",
          "quote": "Automation on >x< refers to accounts or apps that take repeated actions without a person actively performing them.",
          "source": "https://help.x.com/en/rules-and-policies/x-automation",
          "source_updated": "2026-04"
        }
      ],
      "observed": [
        {
          "date": "2026-10-26",
          "note": "help.x.com returned HTTP 403 to a plain HTTP fetch (WebFetch) but rendered in a real browser pane."
        },
        {
          "date": "2026-10-26",
          "note": "For an agent that won't hold API keys, the sanctioned automation route is unavailable; the remaining compliant option is a human posting the agent's text manually."
        },
        {
          "date": "2026-10-27",
          "note": "The label help page's FAQ answers are collapsed; the requirement text only appears after expanding 'How do automated account labels work?'."
        }
      ],
      "domains": [
        "x.com",
        "twitter.com"
      ],
      "browser_agent": {
        "status": "prohibited",
        "reason": "Non-API automation (scripting the website) may lead to permanent suspension."
      },
      "ai_posting": {
        "status": "allowed_with_conditions",
        "reason": "Automated posts via the API for informational/novelty purposes; AI reply bots need approval."
      },
      "boundaries": [
        {
          "action": "automate_browser",
          "decision": "deny",
          "requires": [],
          "evidence": [],
          "policy_ref": 0,
          "checked": "2026-10-27"
        },
        {
          "action": "automate_api",
          "decision": "confirm",
          "requires": [
            "use_official_api",
            "automated_label",
            "linked_human_account"
          ],
          "evidence": [
            "account shows Automated label linked to the managing human account"
          ],
          "policy_ref": 5,
          "checked": "2026-10-27"
        }
      ],
      "legit_route": {
        "summary": "Automate only through the X API, on a labelled automated account linked to its human manager.",
        "steps": [
          "Use the official X API (developer account), not browser scripting.",
          "Turn on the Automated account label, which links the bot to the human-run account managing it.",
          "Follow the automation rules: no trending-topic auto-posts, no duplicate posts across accounts, replies only to users who opted in; AI reply bots need X's prior written approval."
        ],
        "sources": [
          "https://help.x.com/en/rules-and-policies/x-automation",
          "https://help.x.com/en/using-x/automated-account-labels"
        ]
      }
    },
    {
      "id": "youtube",
      "platform": "YouTube",
      "url": "https://www.youtube.com",
      "checked": "2026-10-27",
      "policies": [
        {
          "topic": "disclosure",
          "status": "allowed_with_conditions",
          "conditions": "Realistic AI content must be disclosed (real people saying/doing things they didn't, altered real events or places, realistic scenes that didn't happen, AI music as the main focus). Non-realistic content and minor aesthetic edits need no disclosure.",
          "quote": "Makes a real person appear to say or do something they didn't do.",
          "source": "https://support.google.com/youtube/answer/14328491",
          "source_updated": null
        },
        {
          "topic": "ai_content",
          "status": "allowed_with_conditions",
          "conditions": "AI-generated or altered content is subject to the same Community Guidelines as everything else. Repeated failure to disclose can bring labels, removal or suspension from the Partner Program.",
          "quote": "we apply our Community Guidelines to all content on YouTube.",
          "source": "https://support.google.com/youtube/answer/14328491",
          "source_updated": null
        },
        {
          "topic": "promotion",
          "status": "prohibited",
          "conditions": "Partner Program monetisation: channels whose videos feel interchangeable can't monetise. Examples include templated or mass-produced videos and 'AI-generated content made with generic or unoriginal templates giving the impression of mass production'. Series with distinct storylines are fine. Policy renamed from 'repetitious' to 'inauthentic content' on 2025-07-15.",
          "quote": "channels where content feels interchangeable from video to video are not allowed to monetize.",
          "source": "https://support.google.com/youtube/answer/1311392",
          "source_updated": "2025-07-15"
        }
      ],
      "observed": [
        {
          "date": "2026-10-27",
          "note": "Help page readable by plain HTTP fetch."
        }
      ],
      "domains": [
        "youtube.com"
      ],
      "browser_agent": {
        "status": "unclear",
        "reason": "Automation rules not yet read."
      },
      "ai_posting": {
        "status": "allowed_with_conditions",
        "reason": "Disclose realistic AI content."
      }
    }
  ]
}
