GH GambleHub

Password Policy and MFA

1) Objectives and scope

The goal: to reduce the risk of compromising the accounts of employees/partners and players, to ensure compliance with internal security standards and regulatory requirements.
Coverage: all corporate accounts (SSO/IdP), admin panels, payment and KYC consoles, service/bot accounts, as well as user accounts of players.

2) Basic principles

Phishing-resistant by default: FIDO2/WebAuthn ≥ TOTP ≥ Push ≥ SMS/e-mail OTP (the latter - only as a fallback).
Least Privilege + JIT: Privileges are granted minimally and temporarily, MFA is mandatory upon promotion.
Passwords as last resort: emphasis on passphrases and password managers; prohibition of "memorable" short passwords.
Security by Default: MFA is enabled by default; for critical actions - re-auth.
Observation: all authentication/application/reset events - in audit logs.

3) Password/Passphrase Requirements

3. 1 Employees/admins

Format: pasphrase ≥ 14 characters, spaces are allowed; "complexity" requirements like 'A1!' Are prohibited - instead, leak checking (have-I-been-pwned-style locally/via API hash).
Reuse: prohibition of reuse of the last 10, prohibition of corporate password for external services.
Rotation: only if compromised/at risk; forced periodic change - does not apply (to avoid weak passwords).
Storage: only in the corporate password manager; Prohibit local files/browser autosaves outside MDM profiles.

3. 2 Players

Minimum 10-12 characters or passphrase generator; visual indication of force; block of popular password lists.
Enable "show password" and "insert from manager"; do not impose non-standard restrictions (emoji/characters - you can).

4) Hashing and secrets

Algorithm: Argon2id (memory ≥ 256 MB, iterations ≥ 3, parallelism ≥ 1); let bcrypt (cost ≥ 12) be legal.
Salt: unique 16 + bytes per write. Pepper: A system secret in HSM/KMS.
Update: when logging in, legal hashes are transparently "re-hash" to the current profile.
Service keys/API tokens: not "passwords" - manage through a secret manager, rotation on a schedule and in case of incidents.

5) MFA: Factors and Priorities

FactorPhishing resistanceWhere to apply
FIDO2/WebAuthn (keys, TouchID/Windows Hello platform)highemployees/admins, high-risk operations at players
TOTP (RFC 6238)averageemployees and players (main fallback)
Push (confirmation in the application)averageemployees/players; protect against MFA-fatigue (rate-limit, number-match)
SMS/e-mail OTPlowonly as a reserve for device loss and for low-risk
A must:
  • backup codes (10 pcs., disposable), offline storage;
  • MFA-enforcement: for admin access and payment actions without exceptions;
  • Number-matching in push, one-click agree.

6) Sessions policy and re-auth

Duration: web 12 h (interactive), admin console 8 h, critical panels 4 h.
Idle timeout: 15-30 min for admins.
Re-auth with MFA: when paying/changing details/changing e-mail/MFA/issuing API tokens.
Device binding: MDM/registered device for employees; for players, remembering trusted devices with a risk score.

7) Protection against authentication attacks

Credential stuffing: IP/device/user-based rate-limits, security delays, behavioral analysis, leaked password verification.
Brute force: progressive delays/captcha after N failures; soft locks (temporary), no long lockout for players.
Password spreading: detection by anomalies (many accounts with one password).
MFA-fatigue: push request limit, number-match, user notifications.
Bot/anti-automation: WebAuthn preferably behavioral signals, TLS-fixation, mTLS for admin panels.

8) Procedures (SOP)

8. 1 Employee onboarding

1. SSO account via SCIM;

2. issuance of FIDO2 key (minimum 2: main + standby) and TOTP;

3. Installing a password manager

4. proof of training (phishing, MFA).

8. 2 Device loss/MFA reset

1. Self-report through the portal → temporary blocking of sessions;

2. document verification + confirmation via supervisor;

3. release of new factors;

4. 30-day log audit.

8. 3 Break-glass (emergency access)

Recovery only; factor: HSM-stored master token + second approver; ≤ time 30 min; full recording of the session; post-review Security + DPO.

8. 4 Reset player password

Channel: e-mail/phone, one-time link ≤ 15 minutes; after reset - mandatory MFA setting at next login (soft compulsion with bonus/motivation).

9) Rules for different categories of accounts

9. 1 Employees/Vendors

WebAuthn + TOTP is required; banning SMS-MFA.
Access to admins only from MDM devices/corp VPN; JIT on privilege escalation.
Prohibition of local "shared" accounts; named only.

9. 2 Players

MFA soft-forced: motivational banners, inclusion bonuses; hard - at high-risk (payments/change of details).
Accessibility support: key phrases/screen readers, fallback channels.

9. 3 Service Accounts/APIs

No passwords; mutual authentication only (mTLS, OIDC client-creds, signature of webhooks).
Keys in the secret manager; rotation and audit.

10) Integration with IdP/SSO

Central IdP (OIDC/SAML); RBAC as code.
Adaptive MFA: amplify factors by risk signals (geo/new device/anomalies).
SCIM-provisioning/de-provisioning; offboarding ≤ 15 min after dismissal.

11) Logging and auditing

События (аудит-обязательные): `LOGIN_SUCCESS/FAIL`, `MFA_ENROLL/VERIFY/FAIL`, `PASSWORD_RESET_REQUEST/COMPLETE`, `MFA_RESET`, `DEVICE_TRUST_ADD/REMOVE`, `BREAK_GLASS_START/END`, `ADMIN_LOGIN`, `RISK_UPGRADE`, `TOKEN_ISSUE/REVOKE`.

Copy in WORM, signature/hash chain; binding to 'trace _ id', 'actor _ id', 'purpose'.

12) Metrics and KPI/KRI

MFA adoption (employees): 100% WebAuthn, 100% TOTP as reserve.
MFA adoption (players): ≥ 30-50% in 6 months (depending on the market).
Compromised logins: 0; the share of attempts with leaked passwords blocked on the perimeter is 100%.
Avg time to offboard: ≤ 15 мин.
Push fatigue alerts/1000 MAU: ↓ MoM.
Password reset success rate: ≥ 98% without contacting support.
Re-auth coverage: 100% for high-risk operations.

13) Policy examples (snippets)

13. 1 Length and leak checking policy (pseudo-YAML)

yaml password:
min_length: 14 allow_spaces: true banned_lists:
- top100k_common
- organization_keywords breach_check: enabled  # k-anonymity lookup rotation: on_compromise_only

13. 2 MFA-enforcement

yaml mfa:
required_roles:
- admin
- payments
- aml
- kyc required_factors:
- webauthn fallback:
- totp disallowed:
- sms

13. 3 Re-auth for sensitive actions

yaml reauth:
actions:
- change_payout_details
- approve_withdrawal
- change_email
- manage_mfa ttl_minutes: 5

14) Relationship with other controls

RBAC/ABAC/SoD: MFA is mandatory for role assignment/change, JIT lifts and'APPROVE _ 'operations.

Logs and log storage: see "Audit logs and access traces," "Log storage policy."

Incidents: if a compromise is suspected - immediate password + token reset, session recall, forensics (see "Procedures for data leakage").

15) Checklists

Before you release authentication

  • WebAuthn is enabled, TOTP as backup, backup codes are issued.
  • Checks for leaked passwords and lexical lists.
  • Rate-limits and credential stuffing protection.
  • Re-auth for sensitive operations.
  • Logs/audits and alerts in SIEM.

Quarterly

  • MFA acceptance analytics; A/B motivators for players.
  • A review of push-fatigue policies.
  • Service key rotation, pepper/KMS check.
  • Exercises: FIDO2 key loss, TOTP failure, break-glass.

16) Implementation Roadmap

Weeks 1-2: authentication audit, enable WebAuthn and TOTP, configure breach-check, update password policy (passphrase).
Weeks 3-4: implement re-auth for high-risk, number-matching in push, SIEM alerts; distribute FIDO2 keys to employees.
Month 2: adaptive MFA (risk signals), full-featured password manager, self-service reset portal, backup codes.
Month 3 +: A/B MFA promotion to players, periodic drills, UX optimization and MFA-fatigue reduction, KPI reporting automation.

TL; DR

Strong authentication = pasphrases + WebAuthn (required) + TOTP (reserve) + re-auth for risky actions, stuffing/brute protection, strong hashing (Argon2id), password manager and auditing of each step. This reduces account compromises, simplifies compliance and hardly rubs UX if done correctly.

Contact

Get in Touch

Reach out with any questions or support needs.We are always ready to help!

Telegram
@Gamble_GC
Start Integration

Email is required. Telegram or WhatsApp — optional.

Your Name optional
Email optional
Subject optional
Message optional
Telegram optional
@
If you include Telegram — we will reply there as well, in addition to Email.
WhatsApp optional
Format: +country code and number (e.g., +380XXXXXXXXX).

By clicking this button, you agree to data processing.