ID Masking
Introduction
The ID masking API provides a simple way to mask the ID number in ID documents. This is achieved by replacing the first 8 digits of the ID number with a white stripe, which effectively hides ID number.
This API enables seamless integration into applications, ensuring the protection of personally identifiable information (PII) while maintaining the utility of ID documents.
The masked ID images generated by the API maintain the structural and visual aspects of the original document, making it suitable for display or storage while ensuring compliance with privacy regulations. The API response includes URLs of the masked images, which can be retrieved and used within applications or systems.
By incorporating the ID Masking API into your applications, you can enhance data protection, privacy, and compliance measures. This is particularly beneficial for applications that handle ID documents and require secure handling of sensitive information.
In addition to ID Masking, it also has the ability to mask the QR Code on the ID card, ensuring heightened security and confidentiality.
Performance metrics:
95% of responses within 2.5 secs.
Accuracy: 96%
API Details
Endpoint:
POST https://api.signzy.app/api/v3/identity/maskersPOST https://api-preproduction.signzy.app/api/v3/identity/maskersRequest body parameters:
Parameter | Data Type | Description | Required |
|---|---|---|---|
urls | Array | URLs where the document to be masked is hosted. You can use Signzy's Persist API to do the same as well. | Yes |
requestType | Boolean | Defines whether the document passed in the request should be checked for masking status. (True/False) | Optional |
maskQR | Boolean | Defines whether the user wants to mask the QR Code present inside the document for QR Masking. (True/False) | Optional |
ttl | String | Defines the time-to-live (TTL) for the masked ID image URL in the response body. This parameter sets how long the generated URL will remain valid. Accepted input formats include n secs/mins/hrs/days/months/years/ Input must follow the format: Example - 1 min/30 secs/2 hrs If no ttl is provided, the default expiry duration is set to 30 secs. | Optional |
{
"urls": [
"https://domain/...hosted_image.../image.jpg"
],
"requestType": true,
"maskVid":true,
"maskQR": false,
"ttl": "30 secs"
}Request headers:
Name | Value | Required | Description |
|---|---|---|---|
Content-Type | application/json | Yes | The type of content that the request body contains. |
Authorization | XXXXXXXXXXX | Yes | An authentication token to authorize the request. Reach out to the Signzy support team to get one created. |
Code samples:
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api-preproduction.signzy.app/api/v3/identity/maskers"
method := "POST"
payload := strings.NewReader(`{
"urls": [
"https://domain/...hosted_image.../image.jpg"
],
"requestType": true
}`)
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Authorization", "<Token>")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}Response body parameters:
Parameter | Data type | Description |
|---|---|---|
result | Object | The response returned by the API. |
result.isMasked | String | The value tells whether Signzy has masked the ID number in the output. Possible response values are "yes" or "no". "no" means Signzy didn't mask the ID number, either because the document was not as intended or it does not contain the ID number to be masked. |
result.maskedImages | Array | Masked document URLs. It'll be empty if result.isMasked: "no" |
result.requestType | String | Defines the masking status of the input document passed in the request and can have one of the following values: M (masked), I (Invalid), P (Partial), U (Unmasked), and E(failed to identify the status of the document passed). |
{
"result": {
"isMasked": "yes",
"maskedImages": [
"https://domain/...hosted_image.../masked_image.jpg"
],
"requestType": "U"
}
}Document(to be masked) related Constraints:
- Our API supports the masking of many types of documents.

- The document being shared as part of the API payload needs to be a single page.
- Size should not exceed 10MB.
- Supported document types:
- Image - JPEG, JPG, PNG and TIFF.
- For best results, make sure that the image you use fits tightly in the camera view and is horizontally aligned.
API Performance
Latency | Defines the time it takes for a request to travel from one place to another and get a response back. | Approx 3 seconds |
|---|---|---|
Success rate | Defines how often the API performs its intended function without any errors or problems. | 99.9%(Processing valid ID documents) |
Contact Us for Any Assistance
If you have any questions or need assistance, please reach out to our customer support team. You can contact us via email at [email protected]. We strive to provide prompt and reliable assistance, ensuring your queries are addressed effectively.
We value your feedback and are committed to making your experience smooth and enjoyable. Our team is dedicated to assisting you with any needs you may have. Thank you for choosing our services. We look forward to helping you!