Documentation/Studio
Back
  • Getting started
    • Key concepts
    • Sign in
    • Create and switch organisations
  • Registers
    • Create and change a register
    • Upload and download entries
    • Add, edit and deactivate entries
    • Groups
    • Challenge codes
    • Connect and test an external register
    • Register activity
  • Membership definition
    • Add and order register assignments
    • Filters and outcomes
    • Preview and test before saving
    • Save and version history
  • Communities
    • Create, rename and delete a community
    • Filter by register, status, groups and claims
  • Members directory
    • Find a member
    • Look up the checks of a member code
    • Deactivate a membership
  • Frontends
    • Create a frontend
    • Frontend keys
    • Sign-in settings
    • Sign-in branding
  • Login with appsolut
    • Sign-up and onboarding
    • Sign-in and sign-out
    • Support requests
  • Frontend users
    • Find a frontend user
    • Membership and activations
    • Block a frontend user
    • Export a frontend user's data
    • Disconnect a frontend
  • Membership check
    • Check modes
    • Results and the check log
    • Rate limits
    • Grace rule
  • Organisation settings
    • Organisation profile
    • Studio users and roles
    • Billing
    • Roadmap and feature requests

Rate limits

How the Studio stops people from guessing member codes and facts.

Studio roles: "Owner", "Administrator" and "Community manager" see refused checks in the check lookup. The limits are fixed: there is nothing to set.

Without limits, someone could try member codes, names and birth dates until one fits. The Studio therefore counts failed checks and refuses further checks once a limit is reached.

What counts as a failed check

A failed check is a "Not valid" result in onboarding or eligibility mode, including "Valid, but outside the frontend's community".

These do not count:

  • an "Unavailable" result, when a register could not answer;
  • a login check, as nobody types anything;
  • a check already refused as rate limited.

A check still running counts as failed until it is logged, at most for 2 minutes. That way many checks sent at the same moment cannot all slip through before the first is logged.

The limits

Counted perLimit
Member code5 failed checks in 15 minutes
Applicant IP address a frontend forwarded (eligibility only)20 failed checks in 15 minutes
Frontend500 failed checks in an hour

The windows slide: a failed check stops counting once it is older than the window.

For the member code, the ways one code can be typed count as one code: variants that differ only in a leading plus sign or zeros, in case, in spaces, in invisible characters or in forms such as fullwidth digits. PQ-10017, pq-10017 and PQ-10017 share one budget. A separator still makes another code: PQ10017 is not PQ-10017.

When a limit is reached

The check is refused before any register is asked. The person sees that they should try again later; a frontend's backend gets the answer that it was rate limited. The check lookup shows the check as "Rate limited".

A person who reached the member code's limit can try again after 15 minutes. If someone keeps failing, look up their member code in the check lookup: the reasons of the failed checks usually show what is wrong.