You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Turn any GitHub repository into a fast, encrypted, zero-knowledge database.
Gitnix is a dual-language SDK (JavaScript/TypeScript + Python) that uses GitHub repos as a database backend. All data is end-to-end encrypted client-side — GitHub never sees your plaintext data.
Who Should Use Gitnix?
✅ Perfect For
User
Why
Solo developers
Free encrypted database — no infrastructure to manage
Side projects & MVPs
Zero setup, just a GitHub repo and you're running
Privacy-focused apps
Zero-knowledge encryption — not even GitHub can read your data
Students & learners
Free tier forever, learn database concepts with real encryption
Note-taking / journal apps
Private encrypted notes stored on your own GitHub
Config & secrets management
Store sensitive configs with full audit trail
Small teams (< 10 people)
Shared encrypted data with Git history
IoT / edge devices
Push encrypted telemetry to GitHub without a server
Hackathons
Ship a working backend in minutes, not hours
❌ Not Ideal For
Scenario
Why
Use Instead
High-traffic production apps (1000+ concurrent users)
GitHub API rate limits (5,000 req/hr)
PostgreSQL, MongoDB
Real-time applications
No WebSocket/live queries
Firebase, Supabase
Apps needing complex SQL joins
Document-based, not relational
PostgreSQL
High-frequency writes (100+/sec sustained)
GitHub secondary rate limits
Redis, DynamoDB
Apps with > 100GB data
GitHub repo size limits
S3 + database
Performance Benchmarks
Tested on the included event registration app (11 encrypted collections, ~50 documents):
Local Operations (encrypted disk cache)
Operation
Avg Latency
P95
Throughput
Create record
1.2ms
1.9ms
813 req/s
Read single record
0.98ms
1.9ms
1,021 req/s
List all (50 docs, decrypt)
1.0ms
2.6ms
995 req/s
Filtered query
0.65ms
0.87ms
1,531 req/s
Update record
1.0ms
1.4ms
1,000 req/s
Delete (+ cascade)
0.66ms
0.81ms
1,526 req/s
10× concurrent reads
3.6ms batch
5.6ms
2,794 reads/s
GitHub Sync (remote encrypted storage)
Operation
Avg Latency
Notes
Push (3 collections)
~3.0s
6 API calls, encrypted upload
Pull (3 collections)
~1.2s
3 API calls, encrypted download
API budget
5,000/hr
Supports ~833 syncs/hour
Authentication (intentionally slow — security)
Operation
Avg Latency
Why
Signup (bcrypt 12 rounds)
406ms
Brute-force resistant
Login (bcrypt compare)
373ms
GPU-resistant hashing
JWT verification
~0ms overhead
Stateless, no DB lookup
Security Audit Results
Automated security audit with 51 tests across 11 categories:
cd js
npm install
npm run typecheck # TypeScript validation
npm run build # Build ESM + CJS + DTS
npm run test# Run tests
Python SDK
cd python
pip install -e ".[dev]"
pytest tests/ -v # Run tests
mypy gitnix/ # Type checking
ruff check gitnix/ # Linting
Example App
cd examples
npm install
npm run dev # Start with auto-reload
node benchmark.mjs # Run performance benchmark
node security-audit.mjs # Run security audit
node e2e-test.mjs # Run Playwright E2E tests
Limitations
Limitation
Impact
Mitigation
5,000 req/hr API limit
~833 syncs/hr max
Local-first + batch sync
No real-time subscriptions
No live queries
Polling or on-demand sync
100MB file size limit
Large files need chunking
Built-in chunked storage
Client-side queries
All filtering is local
Encrypted indexes reduce scans
Write latency ~500ms (to GitHub)
Not for high-frequency remote writes
Local writes are sub-ms
Best for < 10 concurrent writers
Optimistic locking may conflict
Configurable retry strategy
Stateless JWT
Token valid until expiry after logout
Use short expiry + refresh tokens
Contributing
Fork the repository
Create a feature branch
Make your changes
Run tests in both JS and Python
Submit a pull request
License
MIT
Built with 🔐 by the Gitnix team. Your data, your keys, your control.
About
Turn any GitHub repo into a fast, encrypted, zero-knowledge database. JS + Python SDK.