JSON is a very common data type used for storing data or transmitting it between applications or servers. It features a collection of key-value pair; the key labels the data and serves as its name, the value represents the raw data.
The entire JSON (be it a stream of data or file) will be encrypted. The encrypted result will be fully unreadable.
Instead, of encrypting the entire JSON. There is the possibility of:
With this, part of the JSON is still readable while the sensitive parts are protected. Additionally, this optimizes the encryption process of the JSON, leading to much faster encryptions and decryptions.
PQVault provides you options to encrypt specific key-value pairs in a JSON depending on the:
You can specify one or more fields to encrypt by inputting the exact field name or name patterns with wildcards (represented as *). For example, giving in private
will encrypt any field with private
as its name.
On the other hand, inputting personal*
will encrypt any field with the name prefixed as personal
.
Data in a JSON is typically categorized into sub-groups by using nested objects. To simplify the encryption of these groups, PQVault also offers to encrypt JSON based on the field path. You can specify an exact pointer to the path or a pattern (regex) for multiple paths.
For example, inputting the pointer private/address
will only encrypt the value of address
in the object private
.
On the other hand, inputting the regex private/contact_number_\d+
will encrypt the value of the matched path e.g. contact_number_1
, contact_number_2
, etc. under the object private
.
To start encrypting JSONs, just follow the steps below:
With specific confidential fields in a JSON encrypted, you do not need to worry about sharing your JSON. You can give authorized parties access to those confidential fields, while others can have access to the unencrypted parts. Compared to encrypting an entire JSON, you do not need to decrypt the complete JSON at a trusted node viewing all data. You further avoid complex mechanisms of permission handling such that different groups can access different parts of your JSON data.
{
"id" : 112233
"name": "Max Thomas",
"personal_details": {
"date_of_birth": "01/01/1998",
"address": "Maxstr. 1, 12345 City",
"contact_number": "+4911223344"
},
"billing_details": {
"plan": "Premium",
"iban": "DE1002123450000"
}
}
Field name iban
is being specified for encryption
{
"id" : 112233
"name": "Max Thomas",
"personal_details": {
"date_of_birth": "01/01/1998",
"address": "Maxstr. 1, 12345 City",
"contact_number": "+4911223344"
},
"billing_details": {
"plan": "Premium",
"iban": "{ENCRYPTED}"
}
}
Fields within personal_details
is matched by using regex e.g. personal_details/\w+
.
{
"id" : 112233
"name": "Max Thomas",
"personal_details": {
"date_of_birth": "{ENCRYPTED},
"address": "{ENCRYPTED},
"contact_number": "{ENCRYPTED}"
},
"billing_details": {
"plan": "Premium",
"iban": "{ENCRYPTED}"
}
}
All fields within “personal_details” are also encrypted.
PQVault's secure and quantum-resistant encryption will ensure that no unauthorized person may have access to your data in plain text. Even if a malicious actors get their hands on your encrypted data, they will find it extremely hard to crack our cryptographic algorithms.
PQVault's does not need any of your private documents and data to perform any encryptions. All encryptions on your confidential data will be carried out on your machines. Therefore, your data will always stay within your network at all times.
We offer you plans that either provide you with a Software-Development-Kit (SDK) for developing automated scripts to fulfill your cryptographic needs or a desktop client to manually encrypt or sign your JSON. If you wish for extra custom features, feel free to contact us.