Require scoped, single-use verification for account bindings and password operations. Bind OAuth authorization and email confirmations to the initiating session; preserve the last usable login method and audit operation outcomes. Apply Unicode-aware password length limits, Argon2id writes with bcrypt compatibility, and long-password encryption. Return has_password with the existing profile SELECT without extra queries. Reuse the existing security dialogs and add all seven locale translations. Validation: - Go: go test ./common ./model ./service ./middleware ./controller ./router -count=1 - DB: SQLite 3.50.4, MySQL 8.4.11, PostgreSQL 16.15; separate main/log databases - MySQL/PostgreSQL: TEST_SECURITY_DIALECT=<dialect> with TEST_<DIALECT>_DSN, go test ./controller -run '^(TestSecurityAccount|TestSecurityEnrollment|TestGenerateOAuthCode|TestOAuthBind|TestTelegramOAuth)' -count=1 -v - Web: relevant Vitest suites, bun run typecheck, targeted oxlint/format, bun run i18n:sync, and bun run build Roll out dual-format readers to every instance with ACCOUNT_PASSWORD_HASH_ALGORITHM=bcrypt before enabling Argon2id writes and the new UI. Rollbacks must retain Argon2id and v2 envelope readers. Relevant controls: ASVS 5.0.0 6.2.1-6.2.3, 6.2.5-6.2.9, 6.3.7, 7.4.3, 7.5.1; this change does not assert application-wide ASVS certification.
| Name |
Last commit
|
Last Update |
|---|---|---|
| .. | ||
| authz | Loading commit data... | |
| passkey | Loading commit data... | |
| account_security.go | Loading commit data... | |
| audio.go | Loading commit data... | |
| auth_cleanup.go | Loading commit data... | |
| auth_session.go | Loading commit data... | |
| auth_session_test.go | Loading commit data... | |
| auth_token.go | Loading commit data... | |
| auth_token_test.go | Loading commit data... | |
| billing.go | Loading commit data... | |
| billing_session.go | Loading commit data... | |
| billing_usage.go | Loading commit data... | |
| channel.go | Loading commit data... | |
| channel_affinity.go | Loading commit data... | |
| channel_affinity_template_test.go | Loading commit data... | |
| channel_affinity_usage_cache_test.go | Loading commit data... | |
| channel_select.go | Loading commit data... | |
| channel_select_auto_groups_test.go | Loading commit data... | |
| channel_select_test.go | Loading commit data... | |
| codex_channel_models.go | Loading commit data... | |
| codex_credential_refresh.go | Loading commit data... | |
| codex_credential_refresh_task.go | Loading commit data... | |
| codex_models.go | Loading commit data... | |
| codex_oauth.go | Loading commit data... | |
| codex_wham_usage.go | Loading commit data... | |
| convert.go | Loading commit data... | |
| convert_test.go | Loading commit data... | |
| download.go | Loading commit data... | |
| email_binding.go | Loading commit data... | |
| epay.go | Loading commit data... | |
| error.go | Loading commit data... | |
| error_test.go | Loading commit data... | |
| file_decoder.go | Loading commit data... | |
| file_service.go | Loading commit data... | |
| funding_source.go | Loading commit data... | |
| group.go | Loading commit data... | |
| group_auto_groups_test.go | Loading commit data... | |
| http.go | Loading commit data... | |
| http_client.go | Loading commit data... | |
| http_client_transport_test.go | Loading commit data... | |
| http_transport_policy.go | Loading commit data... | |
| http_transport_sharded.go | Loading commit data... | |
| image.go | Loading commit data... | |
| log_info_generate.go | Loading commit data... | |
| midjourney.go | Loading commit data... | |
| notify-limit.go | Loading commit data... | |
| oauth_verification.go | Loading commit data... | |
| openai_chat_responses_compat.go | Loading commit data... | |
| openai_chat_responses_mode.go | Loading commit data... | |
| protected_fetch_client.go | Loading commit data... | |
| protected_fetch_client_test.go | Loading commit data... | |
| quota.go | Loading commit data... | |
| quota_saturation_test.go | Loading commit data... | |
| rankings.go | Loading commit data... | |
| request_converter.go | Loading commit data... | |
| response_converter.go | Loading commit data... | |
| return_path.go | Loading commit data... | |
| return_path_test.go | Loading commit data... | |
| security_verification.go | Loading commit data... | |
| sensitive.go | Loading commit data... | |
| str.go | Loading commit data... | |
| subscription_reset_task.go | Loading commit data... | |
| system_instance.go | Loading commit data... | |
| system_task.go | Loading commit data... | |
| system_task_test.go | Loading commit data... | |
| task.go | Loading commit data... | |
| task_artifact_access.go | Loading commit data... | |
| task_artifact_access_test.go | Loading commit data... | |
| task_artifact_store.go | Loading commit data... | |
| task_artifact_store_test.go | Loading commit data... | |
| task_billing.go | Loading commit data... | |
| task_billing_test.go | Loading commit data... | |
| task_plugin_audit.go | Loading commit data... | |
| task_plugin_view.go | Loading commit data... | |
| task_plugin_view_test.go | Loading commit data... | |
| task_polling.go | Loading commit data... | |
| task_polling_test.go | Loading commit data... | |
| text_quota.go | Loading commit data... | |
| text_quota_test.go | Loading commit data... | |
| tiered_settle.go | Loading commit data... | |
| tiered_settle_test.go | Loading commit data... | |
| token_counter.go | Loading commit data... | |
| token_estimator.go | Loading commit data... | |
| tokenizer.go | Loading commit data... | |
| twofa.go | Loading commit data... | |
| usage_helpr.go | Loading commit data... | |
| user_notify.go | Loading commit data... | |
| violation_fee.go | Loading commit data... | |
| waffo_pancake.go | Loading commit data... | |
| webhook.go | Loading commit data... |