RefractSurvey Security Notes
RefractSurvey handles a number of security details on its own, without needing any configuration from you. This page is a plain-language rundown of what it does and why, for anyone curious or evaluating it for their team.
Logging in
Repeated failed login attempts are automatically slowed down — both for one specific username, and (separately) from one specific visitor — so guessing at a password isn't a fast or practical way in. A handful of teammates sharing an office connection and occasionally mistyping a password won't accidentally lock each other out, since the two limits are tuned differently on purpose.
Access codes
The same kind of protection applies to guessing access codes: repeated failed attempts from the same visitor are throttled with an increasing wait, no matter which page they're trying codes from.
Who can see and do what
Every action in RefractSurvey is checked against the current user's permissions and project access before it's allowed — by default, a user can't see or touch a project they haven't explicitly been granted access to. See Permissions and Roles for the full picture of how that's organized.
Uploaded images
Anything uploaded to a Media Library is checked to make sure it's a genuine image file, not just something renamed to look like one. Uploaded files are also stored somewhere that can't execute code, even if someone found a way to sneak something else past the upload check.
Backups
Importing a backup file is treated as untrusted input, since a backup could in principle come from somewhere other than your own export. RefractSurvey checks the contents of an imported backup carefully before trusting any of it, rather than assuming a zip file is safe just because it has the right file extension.
Respondent privacy
No IP address is ever stored against a submitted survey response — see Responses for more on what "anonymous by design" means in practice.
Keeping up to date
Security fixes ship the same way any other update does — see Upgrading for how to bring an existing install up to the latest version.