# Security

ngSurvey provides you with a very rich and extensible [security system](https://docs.ngsurvey.com/form-management/security/security-items) that  can customize to restrict access to your surveys or to integrate with third party data stores like SQL Servers or REST APIs .

You can restrict access to each of your surveys using one or multiple [security items](https://docs.ngsurvey.com/form-management/security/security-items), once a security item is activated on the survey only respondents who passed that security item will be able to access your survey.

Out of the box ngSurvey provides following [security items](https://docs.ngsurvey.com/form-management/security/security-items) to restrict access of your surveys.

* [Captcha](https://docs.ngsurvey.com/form-management/form-designer/answers/answer-types/captcha)
* [IP Protection](https://docs.ngsurvey.com/form-management/security/security-items/ip-protection)
* [Password](https://docs.ngsurvey.com/form-management/form-designer/answers/answer-types/password)
* [Tokens](https://docs.ngsurvey.com/form-management/security/security-items/tokens)
* [SQL Security](https://docs.ngsurvey.com/form-management/security/security-items/sql-security)
* [Captcha](https://docs.ngsurvey.com/form-management/form-designer/answers/answer-types/captcha)
* [Panel Security](https://docs.ngsurvey.com/form-management/security/security-items/panel-security)
* [Invitation Code](https://docs.ngsurvey.com/form-management/security/security-items/invitation-code)
* [HTTP Function](https://docs.ngsurvey.com/form-management/security/security-items/http-security-function)
* [Auth0 Security](https://docs.ngsurvey.com/form-management/security/security-items/auth0-security)
* [CAS Authentication](https://docs.ngsurvey.com/form-management/security/security-items/cas-authentication)
* [Active Directory Security](https://docs.ngsurvey.com/form-management/security/security-items/active-directory-security)
* [Azure Active Directory Security](https://docs.ngsurvey.com/form-management/security/security-items/azure-active-directory-security)
* [Auth0](https://docs.ngsurvey.com/form-management/security/security-items/auth0-security)
* [OpenId Connect](https://docs.ngsurvey.com/form-management/security/security-items/openid-connect)
* [Quota Restrictions](https://docs.ngsurvey.com/form-management/security/security-items/quota-restrictions)
* [Referer](https://docs.ngsurvey.com/form-management/security/security-items/referer)
* [Local Users Security](https://docs.ngsurvey.com/form-management/security/security-items/local-users-security)
* [IP Access Control](https://docs.ngsurvey.com/form-management/security/security-items/ip-access-control)

{% hint style="info" %}
By default ngSurvey will send over the API the structure of the survey (questions and answers) to render it to the respondents, if you need more privacy for your survey structure you can enable the "Secured survey loading" option in the [survey properties](https://docs.ngsurvey.com/form-management/form-designer/form-settings) to enable send and use the survey structure (questions, answers) only once all security items have been authenticated or a respondent session restored.
{% endhint %}
