stash-encryption

Implement field-level encryption for TypeScript applications using @cipherstash/stack.

156|6|Updated Nov 14, 2024
One-click install
npx skills add https://github.com/cipherstash/stack --skill stash-encryption
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: stash-encryption
Source: https://github.com/cipherstash/stack/tree/main/skills/stash-encryption
Command: npx skills add https://github.com/cipherstash/stack --skill stash-encryption

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill provides robust field-level encryption for TypeScript applications, ensuring data security at rest and in transit with advanced features like searchable encrypted queries and zero-knowledge key management.

Core Features & Use Cases

  • Field-Level Encryption: Encrypts individual data fields using client-side encryption before data leaves your application.
  • Searchable Encryption: Enables encrypted data to be searched using equality, range, and full-text search queries directly in PostgreSQL.
  • Zero-Knowledge Key Management: Integrates with ZeroKMS for secure, end-to-end encrypted key management.
  • Identity-Aware Encryption: Supports locking encryption/decryption to specific users via JWT-based lock contexts.
  • Multi-Tenant Support: Provides cryptographic isolation between tenants using keysets.

Quick Start

Use the stash-encryption skill to encrypt the value '[email protected]' for the 'email' column in the 'users' table.

Frequently Asked Questions about stash-encryption

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement field-level encryption in a TypeScript application?

Field-level encryption in TypeScript uses client-side encryption to secure individual data fields before they leave your application, ensuring data security at rest and in transit. This approach integrates with zero-knowledge key management to protect sensitive information.

Can I run queries against encrypted data in PostgreSQL?

Searchable encryption enables encrypted data to be searched directly in PostgreSQL using equality, range, and full-text search queries. This allows you to maintain data security while still performing standard database operations on sensitive fields.

How does zero-knowledge key management work for encrypted data?

Zero-knowledge key management integrates with ZeroKMS to provide secure, end-to-end encrypted key management. This ensures that encryption keys are managed without exposing them to the service provider, maintaining a true zero-knowledge environment.

Does TypeScript field-level encryption support multi-tenant isolation?

Multi-tenant support provides cryptographic isolation between tenants using distinct keysets. This ensures that data encrypted for one tenant remains inaccessible to others within the same application infrastructure.

What is identity-aware encryption and how do I use it with JWT?

Identity-aware encryption locks encryption and decryption operations to specific users via JWT-based lock contexts. This restricts data access so that only the authenticated identity associated with the token can decrypt the protected fields.

What are the limitations of searchable encryption in PostgreSQL?

Searchable encryption supports equality, range, and full-text search queries directly in PostgreSQL but requires client-side encryption before data leaves your application. Operations are limited to supported query types and depend on ZeroKMS for key management.