Skip to main content

Using Anonymous Sentinels

Explanation of the Anonymous Sentinel Object

Public Object (Public Key)

  • id: Unique identifier of the sentinel.
  • key_size: Size of the encryption key, which can be "KYBER-512" or "KYBER-1024" depending on the license level.
  • public_key: The public encryption key.
  • sum: The SHA-512 checksum of the encryption key, used to verify the integrity of the key.
{
"id": "string",
"key_size": "string",
"public_key": "string",
"sum": "string"
}

Private Object (Secret Key)

  • id: Unique identifier of the sentinel.
  • key_size: Size of the encryption key, which can be "KYBER-512" or "KYBER-1024" depending on the license level.
  • secret_key: The secret encryption key.
  • sum: The SHA-512 checksum of the encryption key, used to verify the integrity of the key.
{
"id": "string",
"key_size": "string",
"secret_key": "string",
"sum": "string"
}

Creating an Anonymous Sentinel

Creation by ROLE_USER

To create an anonymous sentinel, a user with the ROLE_USER role must send a POST request with the list of clusters.

note

If the list of clusters is empty, the sentinel will only be accessible by the creator.

curl -X POST https://<BASE_URL>:<PORT>/anonymous_sentinels \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <access_token>" \
-H "X-NONCE: <RANDOM_NONCE>" \
-H "X-FINGERPRINT: <UNIQUE_DEVICE_ID> \
-d '{
"clusters": ["<CLUSTER_ID_2>", "<CLUSTER_ID_2>", ...]
}'

Public Creation

A public endpoint allows the creation of anonymous sentinels. In return, the public key will be provided.

curl -X POST https://<BASE_URL>:<PORT>/anonymous_sentinels/public \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <access_token>" \
-H "X-NONCE: <RANDOM_NONCE>" \
-H "X-FINGERPRINT: <UNIQUE_DEVICE_ID> \
-d '{
"application_id": 0
}'

Retrieving an Anonymous Sentinel

Retrieval by ROLE_USER

To retrieve the details of a specific anonymous sentinel, a user with the ROLE_USER role must send a GET request with the sentinel's ID.

curl -X POST https://<BASE_URL>:<PORT>/sentinels/<ID> \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <access_token>" \
-H "X-NONCE: <RANDOM_NONCE>" \
-H "X-FINGERPRINT: <UNIQUE_DEVICE_ID> \

Public Retrieval

A public endpoint allows the retrieval of an anonymous sentinel by providing the sentinel's ID. In return, the public key will be provided.

curl -X POST https://<BASE_URL>:<PORT>/sentinels/<ID>/public \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <access_token>" \
-H "X-NONCE: <RANDOM_NONCE>" \
-H "X-FINGERPRINT: <UNIQUE_DEVICE_ID> \

Deleting an Anonymous Sentinel

To delete a sentinel, a user with the ROLE_USER role must send a DELETE request with the sentinel's ID.

curl -X DELETE https://<BASE_URL>:<PORT>/sentinels/<sentinel_id> \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <access_token>"
-H "X-NONCE: <RANDOM_NONCE>" \
-H "X-FINGERPRINT: <UNIQUE_DEVICE_ID> \