Prerequisites
Before you begin, ensure you have:- Docker and Docker Compose installed
curlandjqfor API testing- A terminal with bash or zsh
Launch QIMEM with Docker
Start the platform
Clone the repository and launch all services:This starts:
postgres- PostgreSQL database on port 5432qimem-api- Encryption API on port 8080 (stateful mode)- Health checks run automatically
Example 1: Encrypt and Decrypt Data
Create an encryption key
Keys are generated with AES-256-GCM by default. The UUID is used to reference the key in subsequent operations.
Encrypt data
input field accepts plaintext strings. The response contains a base64-encoded envelope with:- Version identifier
- Algorithm metadata
- Key ID reference
- Nonce (IV)
- Ciphertext
- Authentication tag
Example 2: QAuth Identity and JWT Tokens
Create a client
Clients represent applications that authenticate users:
Save the
client_secret securely - it’s only returned once during creation.Introspect the access token
Key Rotation Example
Next Steps
Installation Guide
Detailed setup for production environments
API Reference
Complete API documentation and request/response schemas