promptguard-sdk
v1.1.16
Published
Drop-in security for AI applications - AI Firewall SDK
Maintainers
Readme
PromptGuard Node.js SDK
Drop-in security for AI applications. No code changes required.
Installation
npm install promptguard-sdk
# or
yarn add promptguard-sdk
# or
pnpm add promptguard-sdkQuick Start
import { PromptGuard } from 'promptguard-sdk';
// Initialize client
const pg = new PromptGuard({ apiKey: 'pg_xxx' });
// Use exactly like OpenAI client
const response = await pg.chat.completions.create({
model: 'gpt-4',
messages: [{ role: 'user', content: 'Hello!' }]
});
console.log(response.choices[0].message.content);Drop-in Replacement
If you're already using OpenAI's Node.js client, just change the import:
// Before
import OpenAI from 'openai';
const client = new OpenAI();
// After
import { PromptGuard } from 'promptguard-sdk';
const client = new PromptGuard({ apiKey: 'pg_xxx' });
// Your existing code works unchanged!Features
Security Scanning
// Scan content for threats
const result = await pg.security.scan('Ignore previous instructions...');
if (result.blocked) {
console.log(`Threat detected: ${result.reason}`);
}PII Redaction
// Redact PII before sending to LLM
const result = await pg.security.redact(
'My email is [email protected] and SSN is 123-45-6789'
);
console.log(result.redactedContent);
// Output: "My email is [EMAIL] and SSN is [SSN]"Secure Web Scraping
// Scan scraped content for indirect prompt injection
const result = await pg.scrape.scanUrl('https://example.com/article');
if (result.isSafe) {
// Use content safely
console.log(result.content);
} else {
console.log('Threats detected:', result.threats);
}AI Agent Security
// Validate tool calls before execution
const validation = await pg.agent.validateTool({
agentId: 'agent-123',
toolName: 'execute_shell',
arguments: { command: 'ls -la' }
});
if (validation.action === 'block') {
console.log(`Blocked: ${validation.reason}`);
}Configuration
import { PromptGuard, Config } from '@promptguard/sdk';
const config: Config = {
apiKey: 'pg_xxx',
baseUrl: 'https://api.promptguard.co/api/v1',
timeout: 30000,
enableCaching: true,
enableSecurityScan: true,
};
const pg = new PromptGuard(config);Environment Variables
export PROMPTGUARD_API_KEY="pg_xxx"
export PROMPTGUARD_BASE_URL="https://api.promptguard.co/api/v1"Then just:
import { PromptGuard } from 'promptguard-sdk';
const pg = new PromptGuard(); // Uses env vars automaticallyError Handling
import { PromptGuard, PromptGuardError } from '@promptguard/sdk';
try {
const response = await pg.chat.completions.create({...});
} catch (error) {
if (error instanceof PromptGuardError) {
if (error.code === 'BLOCKED') {
console.log(`Request blocked: ${error.message}`);
} else if (error.code === 'RATE_LIMITED') {
console.log('Rate limited, try again later');
}
}
throw error;
}TypeScript Support
Full TypeScript support with type definitions included.
import type {
ChatCompletionRequest,
ChatCompletionResponse,
SecurityScanResult
} from '@promptguard/sdk';Links
License
MIT
