Skip to main content
Glama
portel-dev

NCP - Natural Context Provider

by portel-dev
redact-sensitive.ts1.63 kB
/** * Utility for redacting sensitive information from logs and displays */ /** * Patterns that indicate a value should be redacted * Case-insensitive matching */ const SENSITIVE_PATTERNS = [ 'TOKEN', 'KEY', 'SECRET', 'PASSWORD', 'PASS', 'PWD', 'API_KEY', 'APIKEY', 'AUTH', 'CREDENTIAL', 'CRED', 'PRIVATE', 'CERTIFICATE', 'CERT' ]; /** * Check if a key name indicates sensitive data */ export function isSensitiveKey(key: string): boolean { const upperKey = key.toUpperCase(); return SENSITIVE_PATTERNS.some(pattern => upperKey.includes(pattern)); } /** * Redact a value if the key is sensitive * @param key - The environment variable or config key name * @param value - The value to potentially redact * @param redactedText - Text to show instead of the value (default: '********') * @returns Original value if not sensitive, redacted text if sensitive */ export function redactIfSensitive(key: string, value: string, redactedText: string = '********'): string { return isSensitiveKey(key) ? redactedText : value; } /** * Redact sensitive values in an object * @param obj - Object with key-value pairs (e.g., environment variables) * @param redactedText - Text to show instead of sensitive values * @returns New object with sensitive values redacted */ export function redactSensitiveValues( obj: Record<string, string>, redactedText: string = '********' ): Record<string, string> { const result: Record<string, string> = {}; for (const [key, value] of Object.entries(obj)) { result[key] = redactIfSensitive(key, value, redactedText); } return result; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/portel-dev/ncp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server