UNPKG

@llm-dev-ops/shield-sdk

Version:

Enterprise-grade SDK for securing Large Language Model applications

100 lines 2.76 kB
import type { Scanner, ScanResult, ScanOptions } from './types.js'; /** * Shield - Main security facade for LLM applications * * @example * ```typescript * // Using presets * const shield = Shield.standard(); * const result = await shield.scanPrompt("User input"); * * // Custom configuration * const shield = Shield.builder() * .addInputScanner(new SecretsScanner()) * .addInputScanner(new PIIScanner()) * .withParallelExecution(true) * .build(); * ``` */ export declare class Shield { private inputScanners; private outputScanners; private config; private constructor(); /** * Create a Shield with strict security settings * Maximum security for regulated industries (banking, healthcare) */ static strict(): Shield; /** * Create a Shield with standard security settings * Balanced security for general-purpose applications (recommended) */ static standard(): Shield; /** * Create a Shield with permissive security settings * Minimal security for development/testing */ static permissive(): Shield; /** * Create a ShieldBuilder for custom configuration */ static builder(): ShieldBuilder; /** * Scan a prompt before sending to LLM */ scanPrompt(text: string, options?: ScanOptions): Promise<ScanResult>; /** * Scan LLM output before returning to user */ scanOutput(text: string, options?: ScanOptions): Promise<ScanResult>; /** * Scan both prompt and output in sequence */ scanPromptAndOutput(prompt: string, output: string, options?: ScanOptions): Promise<{ promptResult: ScanResult; outputResult: ScanResult; }>; /** * Scan multiple texts in batch */ scanBatch(texts: string[], options?: ScanOptions): Promise<ScanResult[]>; private runScanners; private runSequential; private runParallel; private mergeResults; private deduplicateEntities; } /** * Builder for creating custom Shield configurations */ export declare class ShieldBuilder { private inputScanners; private outputScanners; private config; /** * Add an input scanner */ addInputScanner(scanner: Scanner): this; /** * Add an output scanner */ addOutputScanner(scanner: Scanner): this; /** * Set the short-circuit threshold */ withShortCircuit(threshold: number): this; /** * Enable or disable parallel execution */ withParallelExecution(enabled: boolean): this; /** * Set maximum concurrent scanners */ withMaxConcurrent(max: number): this; /** * Build the Shield instance */ build(): Shield; } //# sourceMappingURL=shield.d.ts.map