All notable changes to UnsecuredAPIKeys Open Source.
This release transforms the project from a full-featured web platform into a streamlined CLI tool for local use.
The original open-source release included the full platform architecture (WebAPI, UI, PostgreSQL, 15+ providers). This created barriers for users who just wanted to:
- Learn about API key security
- Run simple searches locally
- Understand how key discovery works
The lite version removes these barriers while the full platform remains available at www.UnsecuredAPIKeys.com.
- Menu-driven interface using Spectre.Console for rich terminal UI
- ScraperService - Searches GitHub for exposed API keys continuously
- VerifierService - Maintains exactly 50 valid keys with automatic re-verification
- Fallback validation: Tries multiple providers when assigned provider fails
- Auto-reclassification: Updates key's ApiType if different provider validates it
- DatabaseService - Handles SQLite initialization, statistics, and exports
- Constants.cs - Centralized limits (
MAX_VALID_KEYS = 50) and app info - appsettings.example.json - Configuration template for self-hosting
- CHANGELOG.md - This file
- Badges in README (GitHub Stars, .NET 10, License)
- Stars thank you message for community support
- Self-hosting sections: Database management, Search Queries, Rate Limiting, Troubleshooting
- Platform support documented (Windows, macOS, Linux)
- OpenAI:
sk-proj-,sk-or-v1-,OPENAI_API_KEY,openai.api_key - Anthropic:
sk-ant-api,ANTHROPIC_API_KEY,anthropic_api_key - Google:
AIzaSy,GOOGLE_API_KEY,gemini_api_key
- Before: Required PostgreSQL server, connection strings, migrations
- After: Single
unsecuredapikeys.dbfile, auto-created on first run - No migrations needed - uses
EnsureCreated()for simplicity - Package change:
Npgsql.EntityFrameworkCore.PostgreSQL→Microsoft.EntityFrameworkCore.Sqlite
- Kept: OpenAI, Anthropic, Google AI
- Removed: Cohere, DeepSeek, ElevenLabs, Groq, HuggingFace, MistralAI, OpenRouter, PerplexityAI, Replicate, StabilityAI, TogetherAI
- Kept: GitHub (via Octokit)
- Removed: GitLab, SourceGraph
- Before: WebAPI + Next.js UI + Separate Bots + PostgreSQL
- After: Single CLI application + SQLite
- Before: Configurable/unlimited
- After: Hard cap of 50 keys (enforced in
LiteLimits.MAX_VALID_KEYS)
| Project | Description |
|---|---|
UnsecuredAPIKeys.WebAPI/ |
REST API, SignalR hub, controllers |
UnsecuredAPIKeys.UI/ |
Next.js frontend, React components |
UnsecuredAPIKeys.Bots.Scraper/ |
Standalone scraper service |
UnsecuredAPIKeys.Bots.Verifier/ |
Standalone verifier service |
UnsecuredAPIKeys.Common/ |
Shared utilities (was empty) |
- CohereProvider.cs
- DeepSeekProvider.cs
- ElevenLabsProvider.cs
- GroqProvider.cs
- HuggingFaceProvider.cs
- MistralAIProvider.cs
- OpenRouterProvider.cs
- PerplexityAIProvider.cs
- ReplicateProvider.cs
- StabilityAIProvider.cs
- TogetherAIProvider.cs
- GitLabSearchProvider.cs
- SourceGraphSearchProvider.cs
- GitHubIssueService.cs (auto issue creation)
- SnitchLeaderboardService.cs (community leaderboard)
- UserModerationService.cs (user bans)
| Model | Purpose |
|---|---|
| DiscordUser | Discord OAuth integration |
| UserSession | Session management |
| UserBan | User moderation |
| DonationTracking | PayPal donations |
| DonationSupporter | Donor recognition |
| IssueSubmissionTracking | GitHub issue automation |
| IssueVerification | Issue verification flow |
| SnitchLeaderboard | Community rankings |
| VerificationBatch | Batch job tracking |
| VerificationBatchResult | Batch results |
| KeyInvalidation | Key lifecycle tracking |
| KeyRotation | Key rotation events |
| PatternEffectiveness | Search pattern analytics |
| Proxy | Proxy rotation support |
| RateLimitLog | API rate limit tracking |
All PostgreSQL migrations deleted - SQLite uses runtime schema creation.
.dockerignore.vite/directoriesDeploy-VerificationBot.ps1package.json,package-lock.jsonanalyze-unmatched-keys.ps1check-unmatched-keys.ps1- All
appsettings.jsonfiles (kept.exampleversions)
- Web UI dashboard
- Real-time SignalR updates
- Discord OAuth login
- PayPal donation integration
- GitHub issue auto-creation
- Snitch leaderboard
- User bans/moderation
- Proxy rotation
- Rate limit tracking tables
- Multi-search-provider support
- Batch verification locking
- Enforced .gitignore rules for:
*.db,*.sqlite,*.sqlite3(database files).env,.env.*(environment files).claude/(AI assistant files)appsettings.json(local config with tokens)
- Warning comments added throughout code about not publishing results publicly
- Security Warning section prominent in README
The lite version is a complete rewrite. There is no migration path - it's designed for fresh local use.
If you need the original Web UI + WebAPI architecture:
- Check the
legacy_uibranch (no longer maintained)
If you need the full platform features:
- Visit www.UnsecuredAPIKeys.com
Open PRs against the old architecture are now outdated:
- PR #5 (Docker Compose + Postgres) - No longer applicable
- PR #8 (Next.js dependency bump) - UI removed
- PR #9 (start.ps1) - Empty PR
New contributions should target the CLI architecture.
| Feature | Lite (This Repo) | Full Version |
|---|---|---|
| Search Providers | GitHub | GitHub, GitLab, SourceGraph |
| API Providers | 3 (OpenAI, Anthropic, Google) | 15+ |
| Valid Key Cap | 50 | Higher limits |
| Interface | CLI | Web UI + API |
| Database | SQLite (local file) | PostgreSQL |
| Real-time Updates | No | SignalR |
| Community Features | No | Leaderboard, Discord |
| Self-hosted | Yes | Yes (complex) |
| Beginner Friendly | Yes | No |
<PackageReference Include="Spectre.Console" Version="0.49.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="9.0.0" />
<PackageReference Include="Octokit" Version="13.0.1" />| Operation | Delay |
|---|---|
| Between searches | 5,000ms |
| Between verifications | 1,000ms |
| Verification batch size | 10 keys |
UnsecuredAPIKeys-OpenSource/
├── UnsecuredAPIKeys.CLI/
│ ├── Program.cs # Entry point, menu UI
│ ├── Constants.cs # LiteLimits, AppInfo
│ ├── Services/
│ │ ├── ScraperService.cs # GitHub search
│ │ ├── VerifierService.cs # Key validation
│ │ └── DatabaseService.cs # SQLite ops
│ └── appsettings.example.json
├── UnsecuredAPIKeys.Data/
│ ├── DBContext.cs # EF Core context
│ ├── Models/ # 5 essential models
│ └── Common/CommonEnums.cs # Simplified enums
├── UnsecuredAPIKeys.Providers/
│ ├── AI Providers/ # 3 providers
│ ├── Search Providers/ # GitHub only
│ └── _Base/, _Interfaces/ # Framework
├── CHANGELOG.md
├── CLAUDE.md
├── LICENSE
└── README.md
Initial release of the full UnsecuredAPIKeys platform as open source.
- WebAPI with REST endpoints and SignalR
- Next.js frontend with HeroUI components
- PostgreSQL database with EF Core migrations
- 15+ API key validation providers
- 3 search providers (GitHub, GitLab, SourceGraph)
- Discord OAuth integration
- PayPal donation integration
- Automated scraper and verifier bots
- Snitch leaderboard
- User moderation system
Full Version: www.UnsecuredAPIKeys.com