The @centure/node-sdk package provides type-safe TypeScript support for detecting prompt injection attacks in your Node.js applications.
Installation
Install the package
Install the SDK using your preferred package manager:npm install @centure/node-sdk
Get your API key
Obtain your API key from the Centure dashboard. Store it securely in your environment variables.Never commit API keys to version control. Use environment variables or a secrets manager.
Initialize the client
Create a client instance with your API key:import { CentureClient } from "@centure/node-sdk";
// Using environment variable
const client = new CentureClient();
// Or provide API key directly
const client = new CentureClient({
apiKey: "your-api-key",
baseUrl: "https://api.centure.ai", // Optional
});
Set the CENTURE_API_KEY environment variable to avoid passing the API key in code.
Scan Text Content
Detect prompt injection attempts in text messages, user inputs, or prompts:
const result = await client.scanText("Your text content here");
console.log("Is safe:", result.is_safe);
console.log("Detected categories:", result.categories);
console.log("Request ID:", result.request_id);
Response Example
{
"is_safe": false,
"categories": [
{
"code": "role_manipulation",
"confidence": "high"
}
],
"request_id": "req_abc123",
"api_key_id": "key_xyz789",
"request_units": 1,
"service_tier": "standard"
}
Scan Images
Detect text-based prompt injection in images using base64 encoding or Buffer objects:
Base64 String
Buffer (Node.js)
const base64Image = "iVBORw0KGgoAAAANSUhEUgAA...";
const result = await client.scanImage(base64Image);
console.log("Is safe:", result.is_safe);
console.log("Detected threats:", result.categories);
The SDK automatically converts Buffer objects to base64 format for transmission.
Error Handling
Handle specific error scenarios with typed error classes:
import {
CentureClient,
BadRequestError,
UnauthorizedError,
PayloadTooLargeError,
MissingApiKeyError,
} from "@centure/node-sdk";
try {
const result = await client.scanText("content");
} catch (error) {
if (error instanceof UnauthorizedError) {
console.error("Invalid API key");
} else if (error instanceof BadRequestError) {
console.error("Invalid request:", error.message);
} else if (error instanceof PayloadTooLargeError) {
console.error("Image exceeds size limit");
} else if (error instanceof MissingApiKeyError) {
console.error("API key not provided");
}
}
Next Steps