$ show Infisical/infisical
Infisical is an open-source end-to-end encrypted secrets management platform used to centralize, secure, and sync secrets across teams and infrastructure. The codebase is structured as a multi-service application with a primary Node.js/TypeScript backend (REST API using Fastify) and a newer Go backend implementing core platform services (authentication, permission evaluation, KMS, audit logging, secret manager). The frontend is a React SPA built with Vite and TanStack Router. The system supports self-hosted (Docker, Helm) and cloud-deployed modes. It provides a rich set of capabilities including dynamic secrets, secret rotation, approval workflows, machine identity federation (AWS, Azure, GCP, Kubernetes, OIDC), PKI management (internal and external CAs), privileged access management (PAM), secret scanning, audit logging, and extensive integration syncs. The architecture follows a modular service-oriented pattern with clear separation of concerns, extensive use of dependency injection and factory patterns for extensibility.
The LLM identified 4 files worth highlighting for reuse:
Provides a self-contained Go package for encryption/decryption operations (AES-GCM and other ciphers). It implements a clean interface pattern with key management, nonce generation, and authenticated encryption. The library has no hard dependencies on internal project packages and can be extracted into a standalone Go module with minimal changes, making it suitable for any Go project needing high-level cryptographic operations.
Implements a generic permission evaluation engine that parses policy rules (with conditions like glob matching, resource scoping) and evaluates access requests. It is designed with composable operators and can be reused in any Go service requiring fine-grained RBAC or ABAC. The engine is decoupled from the specific domain (secrets, projects) via subject/action abstractions, enabling portability to other authorization use cases.
A TypeScript module for symmetric encryption (AES-256-GCM) and key derivation. It provides a simple async encrypt/decrypt API with properly managed initialization vectors and authentication tags. The module has no internal dependencies from the backend codebase and can be extracted as a standalone npm package for any TypeScript/JavaScript project requiring secure data encryption.
A lightweight, type-safe SQL where-clause builder for PostgreSQL. It composes conditional filters with parameterized queries, supporting operators (EQ, IN, LIKE, JSONB containment) and nested logical groups. The package is fully independent of the rest of the codebase and can be extracted as a reusable Go library for building dynamic database queries safely.