AGPL-3.0 vs MIT: Why We Chose AGPL for Our Open Source Project
A honest look at why PinConsole chose the AGPL-3.0 license over MIT or Apache 2.0 — the strategic reasoning, the trade-offs, and how commercial licensing works for proprietary use.
Technical deep-dives, architecture decisions, and product updates
A honest look at why PinConsole chose the AGPL-3.0 license over MIT or Apache 2.0 — the strategic reasoning, the trade-offs, and how commercial licensing works for proprietary use.
A technical deep-dive into building PinConsole — Go backend, rrweb DOM capture, MinIO storage, and a single-binary deployment model.
Inside PinConsole's bidirectional co-browsing — rrweb node ID selectors, 1:1 operator locking, hub-and-spoke WebSocket routing, and safety by design.
Opt-in consent, selective masking, right-to-be-forgotten, and 30-day retention — building GDPR-first visitor surveillance that's self-hosted and auditable.
Rate limiting, behavioral analysis, SDK fingerprinting, and WebSocket auth — the four-layer anti-bot defense behind PinConsole.
Goroutine-per-connection, non-blocking fan-out, Redis Stream batching, and MinIO flush patterns — the real-time architecture behind PinConsole.
No licensing servers, no sales pipeline, no contributor agreements. A transparent look at the business model behind a self-hosted open source project.