Agent-native sign-up: no captcha #4

Open
leora wants to merge 5 commits from agent-native-signup into main
2 changed files with 3 additions and 10 deletions
Showing only changes of commit 95d843d7dc - Show all commits

View File

@ -202,8 +202,8 @@ sign up and log in. Abuse is limited by what a new account can do, not by a chal
- **Registration switches** (in `.env` / `app.ini`): - **Registration switches** (in `.env` / `app.ini`):
- `DISABLE_REGISTRATION=true`: invite-only. - `DISABLE_REGISTRATION=true`: invite-only.
- `REGISTER_EMAIL_CONFIRM=true`: only once `[mailer]` works. - `REGISTER_EMAIL_CONFIRM=true`: only once `[mailer]` works.
- `REGISTER_MANUAL_CONFIRM = true`: emergency switch that holds every new account until an admin - `REGISTER_MANUAL_CONFIRM = true`: holds new web sign-ups until an admin activates them. It does
activates it. not hold accounts created through the admin API and does not slow password guessing.
- `[service] EMAIL_DOMAIN_ALLOWLIST` / `EMAIL_DOMAIN_BLOCKLIST`: restrict sign-up email domains. - `[service] EMAIL_DOMAIN_ALLOWLIST` / `EMAIL_DOMAIN_BLOCKLIST`: restrict sign-up email domains.
- **Edge rate limit:** a rate-limit rule at your proxy or CDN on `POST /user/sign_up` and - **Edge rate limit:** a rate-limit rule at your proxy or CDN on `POST /user/sign_up` and
`POST /user/login` (for example, a few requests per minute per IP). Gitea 1.23 has no built-in `POST /user/login` (for example, a few requests per minute per IP). Gitea 1.23 has no built-in
@ -216,13 +216,6 @@ Known gaps:
### Rollout order (existing instance with a captcha) ### Rollout order (existing instance with a captcha)
> **Hosted instance (gitea.seamtro.ai), 15 Oct 2026:** the owner chose to skip the edge-rate-limit
> gate below until there is actual abuse, and turned the captcha off with password basic auth still
> on. If abuse appears, the emergency switch is `REGISTER_MANUAL_CONFIRM = true` plus a restart, which
> holds new accounts for admin activation. Then add the edge rules in step 1 and 2.
> Self-hosters should still follow the order below.
1. Add the edge rate limit on `POST /user/sign_up` and `POST /user/login`, and verify it: a burst 1. Add the edge rate limit on `POST /user/sign_up` and `POST /user/login`, and verify it: a burst
from one IP gets 429. from one IP gets 429.
2. **Gate while password basic auth is still on.** If `ENABLE_BASIC_AUTHENTICATION` must stay `true` 2. **Gate while password basic auth is still on.** If `ENABLE_BASIC_AUTHENTICATION` must stay `true`

View File

@ -90,7 +90,7 @@ REQUIRE_CAPTCHA_FOR_LOGIN = false
ENABLE_BASIC_AUTHENTICATION = false ENABLE_BASIC_AUTHENTICATION = false
; Only turn this on once [mailer] really delivers mail. ; Only turn this on once [mailer] really delivers mail.
REGISTER_EMAIL_CONFIRM = ${REGISTER_EMAIL_CONFIRM} REGISTER_EMAIL_CONFIRM = ${REGISTER_EMAIL_CONFIRM}
; Emergency switch: set true to hold new sign-ups until an admin activates them. ; Holds new web sign-ups until an admin activates them (not admin-API-created accounts; no effect on password guessing).
REGISTER_MANUAL_CONFIRM = false REGISTER_MANUAL_CONFIRM = false
ALLOW_ONLY_EXTERNAL_REGISTRATION = false ALLOW_ONLY_EXTERNAL_REGISTRATION = false
; Public repos stay browsable without an account. ; Public repos stay browsable without an account.