Skip to content

data: add Anchor Browser startup program - #1551

Closed
NidhalxMRR wants to merge 1 commit into
sourcey:mainfrom
NidhalxMRR:data/anchor-browser-startup-program
Closed

NidhalxMRR wants to merge 1 commit into
sourcey:mainfrom
NidhalxMRR:data/anchor-browser-startup-program

Conversation

@NidhalxMRR

Copy link
Copy Markdown

Adds one new Entity record for Anchor Browser with one program and one offer.

Closes #728.

What this adds

entities/an/anchor-browser.yaml — one entity, one program, one offer. Data only; no code, schema, generated output, or evidence objects.

Why this is not a duplicate

PR #733 previously covered this vendor and was closed by the maintainer because it added vendors/an/anchor-browser.yaml before the 2026-08-25 cutover (commit ccf88f6) that removed vendors/ and made entities/ the only public data collection. It was not closed on substance. This contribution is authored fresh against the current sourcey.entity-authoring/v1alpha1 shape. No other open PR covers Anchor Browser.

Source

Single first-party canonical source: https://anchorbrowser.io/startup-program (vendor's own domain, English, currently live, HTTP 200 on a plain fetch without cookies).

Every published fact traces to that page:

Field Source text
24,000 credits, 6 months free "6 months of free credits — 24,000 credits to build and scale your integrations without upfront cost."
Growth tier contents "Full Growth tier access": extra stealth, automatic captcha solving, session persistence and identity management, custom proxy and multi-region support (US, EU, Asia, Australia), up to 200 concurrent browsers, SOC 2 Type II / ISO 27001 / GDPR, dedicated Slack channel
Consideration after 6 months "After 6 months — Growth tier at $24K/year ... You can opt out after the first month."
Eligibility "We work with teams that already have a product in production, active customers, and a clear browser automation use case."
Access route "Get started →" call to action on the same page

anchorbrowser.io/pricing returns 404, so no pricing link is claimed in profile.links.

Modelling notes

  • kind: free-service with duration: {kind: exact, value: P6M} rather than credit, because the 24,000 credits are a unit count bundled into the free Growth tier, not a currency amount. The credit benefit shape in the pinned schema only expresses money (currency + minor_units), so encoding 24,000 credits as a money value would have invented a currency figure the vendor never published.
  • consideration.kind: variable carries the post-trial $24K/year Growth price and the opt-out, since it is a real condition attached to the offer rather than a fee to apply.
  • category: hosting-infra, taken from the taxonomy.json bundled with the lockfile-pinned verifier (24 categories; browser-infra is not one of them).
  • Both role IDs point at Anchor Browser itself: it is the terms authority and the access operator.

Validation performed locally

The documented identity-context preflight could not complete here: POST https://api.sourcey.com/v1/catalog-verifier/identity-contexts returns HTTP 400 invalid_request ("The identity-context request does not satisfy the exact verifier query contract") for the query emitted by the lockfile-pinned verifier itself (@sourcey/catalog-verifier 1.0.0, the latest published version), against release sha256:2fff3dda.... The root-set digest check passes, so this looks like a server-side contract skew rather than anything in this branch. Flagging it in case it affects other contributors; CI is authoritative here.

I therefore validated the record offline against the pinned verifier's own retainedEntityAuthoringSchema:

SCHEMA VALIDATION: PASS

and ran a 26-case hostile-input harness against that same schema to confirm the check is not vacuous — empty strings, missing required fields, unknown keys in strict mode, bad enums, dangling source_id and program_id references, duplicate benefit_id, wrong types, non-ISO datetimes, malformed durations, unicode, whitespace-only and 5000-char summaries. The baseline record passes, every malformed variant is rejected with a specific field error, and 0 of 26 cases mismatched expectations.

One incidental finding worth passing on: setting offers[0].access.url to a non-URL string ("not a url") makes safeParse throw an uncaught TypeError: Invalid URL (ERR_INVALID_URL) from dist/contracts/revisions/src/index.js:26 instead of returning a validation issue. Every other malformed input returns a clean error. A contributor with a typo'd URL would see a stack trace rather than a field message.

DCO signed off.

Signed-off-by: NidhalxMRR <nidhal@users.noreply.github.com>
@auscaster

Copy link
Copy Markdown
Member

Closing: this entity is already in the Catalog through #1258. To change the live record, open a pull request that edits its existing file.

@auscaster auscaster closed this Sep 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Missing: Anchor Browser Startup Program

3 participants