🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@declaw/sdk

Package Overview
Dependencies
Maintainers
1
Versions
27
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@declaw/sdk

Secure runtime for AI agents - isolated sandboxes with network isolation, PII scanning, prompt injection defense, and egress filtering.

Source
npmnpm
Version
1.2.1
Version published
Weekly downloads
2.1K
30.38%
Maintainers
1
Weekly downloads
 
Created
Source

@declaw/sdk

Secure runtime for AI agents. Spin up isolated sandboxes in milliseconds with built-in guardrails — PII scanning, prompt injection defense, network isolation, and egress filtering.

Install

npm install @declaw/sdk

Quick Start

import { Sandbox } from '@declaw/sdk';

const sandbox = await Sandbox.create({
  apiKey: 'your-api-key',
  template: 'base',
  timeout: 60,
});

// Run commands
const result = await sandbox.commands.run('echo "Hello from a secure sandbox"');
console.log(result.stdout);

// Read/write files
await sandbox.files.write('/tmp/hello.txt', 'Hello World');
const content = await sandbox.files.read('/tmp/hello.txt');

// Clean up
await sandbox.kill();

Why Declaw?

AI agents need to execute code, call APIs, and interact with the world. Declaw gives them a secure sandbox to do it — with built-in guardrails that protect your users and infrastructure.

  • Sub-10ms sandbox creation — pre-warmed VM pool, no cold starts
  • Network isolation — per-sandbox firewall with domain and CIDR rules
  • Full file system — read, write, upload, download files in the sandbox

Security & Guardrails

Every outbound request from the sandbox passes through a configurable security pipeline.

PII Scanning

Detect and redact sensitive data before it leaves the sandbox.

const sandbox = await Sandbox.create({
  security: SecurityPolicy.from({
    pii: {
      enabled: true,
      types: ['ssn', 'credit_card', 'email', 'phone', 'api_key'],
      action: 'redact',
    },
  }),
});

Prompt Injection Defense

Block prompt injection attempts in agent outputs.

const sandbox = await Sandbox.create({
  security: SecurityPolicy.from({
    injectionDefense: {
      enabled: true,
      action: 'block',
      threshold: 0.85,
    },
  }),
});

Toxicity Filtering

security: SecurityPolicy.from({
  toxicity: { enabled: true, action: 'block', threshold: 0.7 },
})

Code Security & Invisible Text Detection

security: SecurityPolicy.from({
  codeSecurity: { enabled: true, action: 'log' },
  invisibleText: { enabled: true, action: 'block' },
})

Network Policies

// Allow only specific domains
const sandbox = await Sandbox.create({
  network: { allowOut: ['api.openai.com', 'huggingface.co'] },
});

// Block all egress
const isolated = await Sandbox.create({
  network: { denyOut: ['ALL_TRAFFIC'] },
});

Data Transformation

Transform sensitive values in-flight.

security: SecurityPolicy.from({
  transformations: [
    { pattern: 'sk-[a-zA-Z0-9]+', replacement: '[API_KEY]', direction: 'egress' },
  ],
})

Combining Guardrails

All guardrails compose — enable multiple and they run in sequence:

const sandbox = await Sandbox.create({
  template: 'ai-agent',
  timeout: 300,
  network: { allowOut: ['api.openai.com', 'api.anthropic.com'] },
  security: SecurityPolicy.from({
    pii: { enabled: true, action: 'redact', types: ['ssn', 'credit_card'] },
    injectionDefense: { enabled: true, action: 'block' },
    toxicity: { enabled: true, action: 'log' },
    invisibleText: { enabled: true, action: 'block' },
  }),
});

Templates

TemplateDescription
baseMinimal Linux
pythonPython 3.12 with pip
nodeNode.js 22 LTS with npm
code-interpreterPython with data science libraries
ai-agentPython + Node.js + AI/ML tools
mcp-serverMCP server runtime
web-devNode.js + browser testing
devopsDocker, Terraform, kubectl

API

// Create sandbox
const sandbox = await Sandbox.create({ template, apiKey, timeout, network, security });

// Commands
const result = await sandbox.commands.run('ls -la');
const stream = sandbox.commands.stream('python script.py');

// Files — `path` is the literal absolute path inside the sandbox.
// Files appear at exactly that path — no remapping, no bridge directory.
await sandbox.files.write(path, content);
const data = await sandbox.files.read(path);
const entries = await sandbox.files.list('/');

// PTY (interactive terminal)
const pty = await sandbox.pty.create({ cols: 80, rows: 24 });

// Lifecycle
await sandbox.kill();

License

Apache-2.0

Keywords

sandbox

FAQs

Package last updated on 13 Jun 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts