2026-06-03 · Ship Shop
Hello, SourceCop
Native PHP source-code protection and offline licensing for vendors who sell software customers self-host.
PHP is interpreted. The moment a vendor ships a paid plugin, a commercial Laravel extension, or an on-prem PHP product, the customer has the full readable source. They can copy it, resell it, strip the license check, or quietly fork it for their next project. The tools that fix that problem — ionCube, SourceGuardian, Zend Guard — are dated, Windows-first, and lock you into a server-side loader.
We built SourceCop for the place in between.
It’s a modern, cross-platform native desktop app — and a headless CLI — that encodes your PHP source into a tamper-resistant, non-readable form before you ship it. Customers can run your code on their own servers. They can’t read it, copy it, or strip out your license checks.
What you can do today
- Encode your PHP source in the native app on macOS, Windows, or Linux — or in
CI with
scop encode. Pick loaderless, native loader, or hybrid output. - Issue offline licenses bound to a customer’s domain, expiry date, machine, or hardware fingerprint. Signed locally, verified locally — no phone-home required (and optional if you want telemetry).
- Ship anywhere PHP runs. Loaderless output needs no PHP extension on the server, so your protected build drops onto shared hosting, managed PaaS, or the customer’s existing infrastructure without any setup on their end.
Free trial — encode up to five files, generate a basic license, deploy it for real. Pro and Business plans for unlimited encodes, advanced license locks, and team workflows.
What we’re honest about
Protection raises the cost of reverse-engineering. A motivated, well-resourced attacker can still get there given enough time — we don’t pretend otherwise. Loaderless output is harder to read than plain source but is more recoverable than the native-loader tier. Pick the protection level that matches the deal you’re protecting. We’ll tell you the trade-offs in the app, in the docs, and on every comparison page.
Try it on your most-resold plugin and tell us what we got wrong. We’re listening.