pixstore
v3.2.1
Published
Minimalist Node.js & browser image storage/cache library. Fast, reliable, and pluggable.
Maintainers
Readme
Pixstore is a modern, high-performance, and fully secure image storage and caching library for both Node.js backends and browser frontends. It is written in vanilla TypeScript with zero external frameworks or heavy dependencies.
Pixstore enables end-to-end encrypted, reliable, and scalable image serving for any web app — from simple JavaScript projects to full-stack production systems.
🔑 Key Features
- Automatic browser caching: Transparent IndexedDB cache with token-based invalidation and eviction.
- End-to-end encryption: All images are AES-GCM encrypted, with a unique key per image. Keys never leave the backend by default.
- Minimal wire protocol: Efficient, protocol-agnostic binary wire format for image transfer.
- Stateless secure endpoints: All access is protected by a stateless, time-based proof and per-image tokens. Default endpoint is now secure-by-default.
- High performance backend: Uses SQLite for fast, reliable metadata storage and cache.
- Production-ready: Includes comprehensive tests and example apps (Vue+Nest, React+Express).
- Fully extensible: Supports custom endpoints and image fetchers for advanced integrations.
- Minimal dependencies: Lightweight and easy to audit.
- TypeScript native: Full typesafety and strict API design.
- Universal API: The same methods and types for both frontend and backend.
💡 Why Pixstore?
- Unified image solution: One library for both backend image storage and frontend caching.
- Serious security: Images are always encrypted at rest and in transit; only the intended client can decrypt.
- True stateless access: No sessions, cookies, or opaque tokens. All access is cryptographically verifiable.
- Flexible integration: Use with any framework or tech stack. Example projects provided.
- Minimal friction: Start serving and caching secure images in minutes.
- Actively maintained: Frequent updates and new features based on real-world needs.
Pixstore is ideal for any project needing secure, scalable, and high-performance image handling—from indie webapps to enterprise SaaS.
✅ Compatibility
- Node.js: v16+ (tested on all current LTS versions)
- Frameworks: Compatible with React, Vue, Next.js, Express, NestJS, and more
- Browsers: Chrome, Firefox, Safari, Edge (latest 2 major versions)
- Module format: ES Modules (ESM) only
📦 Installation
Install via NPM:
npm install pixstoreOr using Yarn:
yarn add pixstore📄 View on npm
📚 Documentation
Learn how to install, configure and use Pixstore:
👉 View full documentation
🤝 Contributing
Contributions, bug reports, and suggestions are welcome! Please read the Contributing Guide before submitting a pull request.
- Found a bug or have a feature request? Open an issue.
- Want to help? See the guide and existing issues.
