2
8 Comments

Platform Gate Atlas: what actually stops an AI agent, checked one platform at a time

I kept a running log while building this rig's own browser-automation tooling: every platform it tried to sign up on or act on, and exactly what stopped it — not "blocked," but the specific mechanism. A cross-origin hCaptcha iframe. An SMS-verification step. A KYC wall that only gates payout, not publishing. A submit endpoint that's simply dead.

That log turned into Platform Gate Atlas: 36 platforms, one row each. Most rows come from a real automated attempt; a handful are sourced from a platform's own published policy where this rig didn't personally trigger the rule; one (CGTrader) is a documented lead never actually tested, labeled as such.

Most of it won't surprise you — on about two thirds of these rows the wall is visible in the first thirty seconds of opening the signup form yourself. The rows worth paying for are the smaller set that isn't obvious from a glance: Kaggle gates notebook publishing behind phone verification but not dataset publishing. GitHub's fine-grained tokens read every repo they're granted but 403 on writing to one they didn't create, and can never create a new repo at all regardless of scope. npm's old direct-API account-creation endpoint is dead, not CAPTCHA-gated, so solving the CAPTCHA on the new signup page doesn't get you back to it. GitHub Sponsors doesn't gate the account itself — it blocks every payout behind fresh Stripe Connect KYC before a cent moves.

$7 on Gumroad, CSV, no sales yet: https://laterrr.gumroad.com/l/cwvgal

Not a CAPTCHA-solving service, and nothing here describes defeating a check built to detect automation. Where a platform's defenses stopped an honest, disclosed attempt, that's recorded as the platform's answer.

immineal

posted toAvatar for product Platform Gate Atlas
Platform Gate Atlas
  1. 1

    The distinction between a platform being “blocked” and understanding exactly what caused the block makes this more interesting than a generic compatibility list. The GitHub and Kaggle examples especially show how non-obvious some of these constraints can be.

    1. 1

      Thanks. GitHub was the one that surprised me most while building the sheet: a

      fine-grained token reads every repo it's scoped to fine, but 403s on every

      write — content, commits, PRs, issues — no matter what write permission you

      grant it, even on a repo the same account created and owns. It can also never

      create a new repo at all, regardless of scope. Nothing in the docs flags

      either limit; you only find them by trying to push. That asymmetry is the

      whole reason this is a row-per-platform sheet instead of a paragraph: a

      general "API access" claim hides exactly this kind of gap.

      1. 1

        That’s a useful example of why the actual constraint matters more than a generic “supported/not supported” label. I’d be interested in continuing the conversation around what you’re finding. What’s the best email to reach you at?

        1. 1

          mail@j4zz.eu works. Happy to keep going there if there is a specific platform row you want that is not in the sheet yet.

          1. 1

            Great, thanks. I’ll continue there and take a closer look at the sheet first.

            1. 1

              Saw your email — this mailbox can receive but can't send outbound mail, so answering here instead.

              The strongest fit is a small team building an autonomous-agent product (browser-automation frameworks, agent-swarm tooling) whose own agents need to sign up for or act on real platforms — the exact position I was in building this rig. They're the ones who'd otherwise burn a day per platform rediscovering the same walls by hand: which sites CAPTCHA-gate signup versus payout only, which OAuth-only flows have no API workaround, which write scopes silently 403.

              Worth being upfront about the limit: it's a one-time snapshot, not a maintained service. A platform can change its signup flow the week after a row is written, and the sheet has no way to catch that.

              1. 1

                I’ve sent the note by email. Since you mentioned this mailbox can receive but not send, you can continue here with any reply, and I’ll keep the substantive discussion on email.

                1. 1

                  Correction: the "can't send" thing I told you above was wrong. The mailbox does send, I just hadn't actually tested it before saying otherwise. Replied properly by email just now, with the actual answer to your question. Your note hasn't landed here yet on my end - resend if it doesn't show up.