Skip to content

Accounts, 339-destination catalog, assisted submissions and a real app - #3

Merged
ralyodio merged 1 commit into
mainfrom
feat/accounts-catalog
Oct 15, 2026
Merged

ralyodio merged 1 commit into
mainfrom
feat/accounts-catalog

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

Fixes what was wrong with the first release: no sign-in, nothing to submit to, and a placeholder UI.

What changes

  • Accounts: passkey, email + password, or emailed link (Resend, submitfleet.com verified). Per-user workspaces. Cookie sessions with same-origin checks on writes.
  • CLI sign-in: OAuth 2.1 + PKCE (submitfleet login), rotating refresh tokens with reuse detection; the CLI and mcp --stdio then work against the hosted account.
  • 339 destinations from the CC0 awesome-submitlist catalog, ranked by fit for each product. Paid routes excluded; AI-only / platform-only directories that do not match stay unchecked.
  • Assisted submissions for every destination: prepared copy kit, submit link, mark submitted / live / rejected / skipped, reports. Automatic submission stays limited to proven adapters (0 today, stated plainly).
  • Real UI: landing page with live counts, docs, sign-up/sign-in, products with URL autofill and logo import, launch planner, campaign queue, destinations browser, settings.

Verified

  • 67 vitest tests (auth, enumeration, lockout, CSRF, workspace isolation, OAuth flow incl. refresh reuse, assisted flow, logo signature checks, relevance).
  • Browser e2e with Chrome: sign-up via emailed link, autofill from hdtilt.com, approve, launch (72 good fits preselected), copy kit, mark submitted, add passkey, sign in with passkey, password sign-in, mobile layout without horizontal scroll, submitfleet login + whoami + products list.
  • Found and fixed on the way: Referrer-Policy: no-referrer made browsers send Origin: null on our own consent form; a mail-provider failure returned a bare 500.

🤖 Generated with Claude Code

- Accounts: passkeys (WebAuthn), email + password (scrypt, lockout, no enumeration),
  emailed links via Resend; per-user workspace; cookie sessions with CSRF checks
- OAuth 2.1 + PKCE authorization server for the CLI: submitfleet login/logout/whoami,
  rotating refresh with family revocation; CLI commands and mcp --stdio use the account
- Catalog: the CC0 awesome-submitlist catalog (339 destinations) with price, eligibility,
  audience, link type and traffic; imports never enable automation
- Assisted submissions: copy kit per destination from approved facts, mark submitted /
  live (listing URL) / rejected / skipped; relevance ranking keeps AI-only, platform-only
  and other mismatched directories unchecked
- URL autofill with SSRF guards (DNS checked at connect time), logo upload/import
- Landing page, docs, sign-up/sign-in, app: products, launch planner, campaign queue,
  destinations, settings (passkeys, password, API keys)
- 67 tests; browser e2e incl. passkey sign-in and CLI login

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Added@​simplewebauthn/​server@​13.3.3981008792100
Addedundici@​7.30.09310010098100

View full report

@ralyodio
ralyodio merged commit 488af56 into main Oct 15, 2026
3 checks passed
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.

1 participant