Backend integration

From first project to runtime plaintext.

All sensitive operations belong in trusted server code. Never place a project key in a browser bundle.

Quick start

  1. Create a project

    Sign in, create a project, and copy the one-time project key into your server environment as SILENTNOX_PROJECT_KEY.

  2. Encrypt before storage

    Call the encrypt endpoint and persist the returned snx_… blob in your own database.

  3. Decrypt at runtime

    Submit the blob and project key from your backend, use the returned value, and discard it immediately.

Encrypt one field

The response contains an authenticated blob. Silentnox retains record metadata, not the plaintext or returned blob.

POST /api/v1/encrypt
curl -sS -X POST "https://silentnox.com/api/v1/encrypt" \
  -H "Content-Type: application/json" \
  -d '{
    "projectId": "<project-id>",
    "key": "<project-key>",
    "plaintext": "https://example.com/private",
    "label": "Destination URL",
    "itemType": "url"
  }'

Decrypt at runtime

Call from backend code only. Failed key verification appears in project audit logs.

POST /api/v1/decrypt
curl -sS -X POST "https://silentnox.com/api/v1/decrypt" \
  -H "Content-Type: application/json" \
  -d '{
    "blob": "<stored-blob>",
    "key": "<project-key>"
  }'

Operational rules

  • Keep the project key in an environment variable or secrets manager.
  • Never log request bodies or plaintext responses.
  • Apply timeouts and handle unavailable-service errors explicitly.
  • Disable the key after suspected compromise.
  • Plan blob re-encryption before rotating a key.

For batch import, response schemas, account operations, and current limits, use the signed-in console documentation.

Open the console →