Security
CTP defines security requirements to ensure safe tool execution.Core Principles
Client Privacy
Client-executed tools MUST NOT transmit input data to external servers
Input Validation
All inputs MUST be validated before processing
Safe Defaults
Default configurations MUST be secure
Fail Secure
Errors MUST NOT expose sensitive information
Privacy Requirements
Client-Mode Tools
Tools withexecutionMode: 'client' MUST:
- Execute entirely in the browser
- NOT make network requests with user data
- NOT use tracking or analytics on input
- NOT persist input data beyond the session
Server-Mode Tools
Tools withexecutionMode: 'server':
- MUST document what data is transmitted
- SHOULD use HTTPS for all requests
- MUST handle credentials securely
- SHOULD implement rate limiting
Input Validation
Required Validation
All tools MUST validate:- Required fields - Presence of required parameters
- Type checking - Parameters match expected types
- Constraints - Values within allowed ranges
- Sanitization - Dangerous content neutralized
Validation Constraints
Output Security
Safe Error Messages
Sanitize Output
When generating HTML or code:Embedding Security
Content Security Policy
Recommended CSP for embedded tools:Iframe Sandboxing
Cross-Origin Communication
Rate Limiting
Definition
Runtime Enforcement
Authentication
For tools requiring authentication:Security Checklist
Pre-Launch Security Checklist
Pre-Launch Security Checklist
- All inputs validated before processing
- Required parameters enforced
- Type checking implemented
- Constraint validation (min/max lengths, ranges)
- Error messages don’t expose internals
- Client tools don’t transmit user data
- Rate limiting configured
- Authentication enforced where required
- Output properly escaped/sanitized
- CSP headers configured for embedding
- HTTPS used for all external requests
- Dependencies audited for vulnerabilities