> For the complete documentation index, see [llms.txt](https://2sign-co-il.gitbook.io/2sign.co.il-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://2sign-co-il.gitbook.io/2sign.co.il-docs/tasks/security-measures.md).

# Security Measures

### Overview

Green signature allows you to define security requirements at the document level. These parameters are passed as part of the create task request and control what the signer must complete before they can sign (regular task and routine task).

***

### Available Security Parameters

#### OTP Verification

Send a one-time password (OTP) to the signer's phone number before they can access the document.

| Parameter  | Type      | Description                               |
| ---------- | --------- | ----------------------------------------- |
| `ApplyOTP` | `boolean` | Set to `true` to require OTP verification |

json

```json
{
  "ApplyOTP": true
}
```

***

#### Secret Code

Define a secret code that the signer must enter before accessing the document. This code is shared with the signer through an external channel (e.g., phone call, in-person).

| Parameter         | Type      | Description                                          |
| ----------------- | --------- | ---------------------------------------------------- |
| `SecretCode`      | `string`  | The secret code the signer must enter                |
| `ForceSecretCode` | `boolean` | Set to `true` to enforce the secret code requirement |

json

```json
{
  "SecretCode": "1234",
  "ForceSecretCode": true
}
```

> **Note:** `ForceSecretCode` must be `true` for the secret code to be enforced. If set to `false`, the field is ignored.

***

#### ID Photo Upload

Require the signer to upload a photo of their ID card after signing.

| Parameter                | Type      | Description                                        |
| ------------------------ | --------- | -------------------------------------------------- |
| `ForceIdUpload`          | `boolean` | Set to `true` to require ID photo upload           |
| `IsIdCardUploadOptional` | `boolean` | Set to `true` to make the ID card upload optional. |

json

```json
{
  "ForceIdUpload": true,
  "IsIdCardUploadOptional": false
}
```

***

#### ID Issue Date

Require the signer to provide the issue date of their ID card.

| Parameter                | Type      | Description                                |
| ------------------------ | --------- | ------------------------------------------ |
| `ForceIdIssueDateUpload` | `boolean` | Set to `true` to require the ID issue date |

json

```json
{
  "ForceIdIssueDateUpload": true
}
```

***

#### Video Upload

Require the signer to record or upload a video as part of the signing process. You can customize the instruction text shown to the signer.

| Parameter          | Type      | Description                                 |
| ------------------ | --------- | ------------------------------------------- |
| `ForceVideoUpload` | `boolean` | Set to `true` to require a video upload     |
| `VideoUploadText`  | `string`  | Custom instruction text shown to the signer |

json

```json
{
  "ForceVideoUpload": true,
  "VideoUploadText": "Please send video"
}
```

***

#### Additional Documents Upload

Require the signer to upload additional supporting documents after completing the signing process.

| Parameter               | Type      | Description                                          |
| ----------------------- | --------- | ---------------------------------------------------- |
| `ApplyExtraFilesUpload` | `boolean` | Set to `true` to require additional document uploads |

json

```json
{
  "ApplyExtraFilesUpload": true
}
```

***

### Full Example

The following example enables all security measures in a single request:

json

```json
{
  "ApplyOTP": true,
  "SecretCode": "1234",
  "ForceSecretCode": true,
  "ForceIdUpload": true,
  "ForceIdIssueDateUpload": true,
  "ForceVideoUpload": true,
  "VideoUploadText": "Please send video",
  "ApplyExtraFilesUpload": true
}
```

***

### Parameters Summary

| Parameter                | Type      | Description                                  |
| ------------------------ | --------- | -------------------------------------------- |
| `ApplyOTP`               | `boolean` | Send an OTP to the signer's phone            |
| `SecretCode`             | `string`  | A secret code the signer must enter          |
| `ForceSecretCode`        | `boolean` | Enforce the secret code requirement          |
| `ForceIdUpload`          | `boolean` | Require an ID photo upload                   |
| `ForceIdIssueDateUpload` | `boolean` | Require the ID issue date                    |
| `ForceVideoUpload`       | `boolean` | Require a video upload                       |
| `VideoUploadText`        | `string`  | Custom text for the video upload instruction |
| `ApplyExtraFilesUpload`  | `boolean` | Require additional documents upload          |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://2sign-co-il.gitbook.io/2sign.co.il-docs/tasks/security-measures.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
