ctx.st useful tools, one identity

Unified account

Useful tools, one identity.

Publishing, research, media, transfer, and mail under one account. Email code only. One @handle across every app.

Explore apps

Apps

A compact suite with one shared account layer.

Identity

Grouped by intent, not by backend.

Identity

One account system. No passwords. No duplicate profiles.

How it should feel

  • Browse first, login later.
  • Use one email session across every app.
  • Claim one @handle and reuse it everywhere.
  • Keep anonymous paths where they matter, especially in Drop.

What you unlock

  • Saved history in Polisher and R.
  • Stable publishing URLs in Pub.
  • Personal media ownership in Images.
  • Email routing and inbox ownership in Mail.

Agent access

Create one API key when you need it. Keep the rest quiet.

Pub keys

Generate a scoped key from your account, keep it in your local agent config, and publish to pub.ctx.st/@handle/slug with the same identity you use in the browser.

Sign in and claim your handle to create publish keys.

Default scopes: pub:read, pub:write.

Recommended setup

Keep the raw key in your agent environment, then call the account-aware publish API with the same handle you use in the browser.

curl -X PUT https://pub.ctx.st/api/pages/hello-world \
  -H "Authorization: Bearer ctk_xxx" \
  -H "Content-Type: text/html" \
  --data-binary @page.html

Response URLs resolve to /@handle/slug. Old legacy /slug links keep a 301 redirect after claim.

Unified account

Get your ctx.st handle

Login uses a one-time email code. No password to remember, reset, or leak.