Features How It Works Pricing FAQ Start Protecting Free → Login
Now in Public Beta · Free to Start

Protect Your Python Apps. Ship Confidently. Earn What You're Worth.

PyLocket is the modern, developer-first platform that wraps your Python desktop applications in strong anti-reverse-engineering protection and seamless license enforcement, all without changing a single line of your code.

Stop losing 30–40% of your revenue to crackers and script kiddies. Ship protected builds in minutes, not weeks.

Start Protecting Free → One-time verification fee · No subscription required to start · Grandfathered pricing for early subscribers
See How It Works ↓
Zero Code Changes
Cross-Platform
Python 3.x
Lock in early-subscriber pricing
⚠ Without PyLocket — uncompyle6 output
# Recovered source from your_app.pyc
# uncompyle6 version 3.9.0

import stripe
from licensing import validate

def check_license(key):
    """Your proprietary license logic, fully exposed."""
    secret = "sk_live_abc123..."
    return stripe.Subscription.retrieve(key)

def main():
    # All your trade secrets, right here
    api_key = "AIzaSyD..."
    model = load_proprietary_model()
    return model.run()
🔒 With PyLocket — pylocket protect output
# Attempting decompilation...

Error: Unable to decompile. Bytecode format
not recognized.

SyntaxError: encrypted payload detected
  File: <encrypted_module_7f3a>
  Cannot reconstruct source.
  Anti-tamper signature mismatch.

# All methods JIT-decrypted at runtime.
# No plaintext bytecode on disk. Ever.
500+ Python Developers in Beta
12,000+ Protection Jobs Run
99.7% Uptime
6 Platforms Supported
No Percentage Fees
$0 to Start
500+ Python Developers in Beta
12,000+ Protection Jobs Run
99.7% Uptime
6 Platforms Supported
No Percentage Fees
$0 to Start

Your Python App Has a Piracy Problem

The Problem: Unprotected Python

Decompiled in seconds.

Tools like uncompyle6 and pycdc recover near-perfect source code from .pyc files instantly.

PyInstaller bundles crack in minutes.

Auto-py-to-exe crackers and script kiddies strip your packaging in a coffee break.

License checks patched out.

Simple binary patches bypass your carefully coded license validation in minutes.

Revenue bleeds away silently.

You see download numbers climbing on pirate sites while your sales plateau or decline.

Old obfuscators are theater.

Variable renaming and base64 encoding fool no one. They add friction for you, not for crackers.

The Solution: PyLocket

Whole-app encryption.

Ship only a tiny cleartext bootstrap. The real payload stays encrypted on disk. Always.

Method-level JIT decryption.

Functions decrypt in memory only at call time, then re-encrypt or zero out. No plaintext lingers.

Native runtime hardening.

Anti-debug, anti-VM, dynamic API resolution, memory protections, compiled with full obfuscation by default.

Zero-code licensing.

Automatic license checks, device binding, offline grace periods, revocation. No source edits needed.

Cross-platform from day one.

Windows, Linux, macOS (including Apple Silicon). Python 3.x supported.

5
Layers of Protection
6
Platform Targets
0
Lines of Code to Change
Flat
Subscription Pricing

Multi-Layer Security Architecture

Built for Real Developers, Not DRM Fantasy

We don't promise 'unbreakable' protection. Nothing is. We deliver real deterrence that makes piracy expensive, without killing your build workflow or crashing your users.

1

Whole-App Encryption

Encrypted payload on disk. Only a tiny cleartext bootstrap is visible.

2

JIT Decryption

Functions decrypt at call time, then re-encrypt or zero out immediately.

3

Runtime Hardening

Anti-debug, anti-VM, dynamic API resolution, memory protections.

4

Bytecode Transform

Transformed bytecode breaks all standard decompilers and unpackers.

5

Signed Manifests

Tamper detection via cryptographic signatures on every component.

🛡️

Casual Pirates: Blocked Instantly

Script kiddies hit encrypted wall, move on.

Effectiveness: Maximum
⚔️

Script Unpackers: Rendered Useless

Automated tools become useless.

Effectiveness: Maximum
🔬

Expert Reversers: Months, Not Hours

Weeks/months of painful dynamic analysis.

Effectiveness: Very High

That's the PyLocket difference: enough protection to make piracy expensive, without killing your build workflow or crashing your users.

Everything You Need to Protect & Monetize

Not just protection: a complete infrastructure for securing, licensing, and delivering your Python desktop apps.

🔐

Whole-App Encryption

Your entire application is encrypted at rest. Only a minimal cleartext bootstrap loader is shipped. The real code stays locked until runtime, making static analysis useless.

Method-Level JIT Decryption

Individual functions are decrypted in memory only when called, then immediately re-encrypted or zeroed out. No complete plaintext ever exists in memory at once.

🏗️

Native Runtime Hardening

The runtime loader is a compiled native binary with anti-debug, anti-VM, dynamic API resolution, and memory protections. Compiled with full obfuscation by default.

🎫

Zero-Code Licensing

License validation, device binding, offline grace periods, and revocation are handled automatically. No changes to your source code required. Ever.

🌐

Cross-Platform From Day One

Windows (x86, x64), Linux (x86, x64), macOS (x86_64, Apple Silicon). Build once, protect everywhere. Python 3.x supported. Multi-OS publishing guide →

📊

Real-Time Dashboard

Monitor activations, license usage, platform distribution, and protection status from a single dashboard. Know exactly how your app is being used.

🔄

Bytecode Transformation

Custom bytecode transformations break all standard decompilers and unpackers. Not just obfuscation — structural transformation that defeats automated tools.

✍️

Signed Manifests

Every component is cryptographically signed. Tamper with any file and the app refuses to run. Integrity verification happens at every layer.

📬

Automated Fulfillment

Integrate with your payment provider. When a customer pays, their license is generated and delivered automatically. No manual steps, no delays.

Cross-Platform Support

💻Windows x86
💻Windows x64
🐧Linux x86
🐧Linux x64
🍎macOS x86_64
🍎macOS Apple Silicon

Frictionless Workflow

From Code to Protected App in Minutes

1

Write Your App

Develop your Python application normally. No special imports, no SDK, no decorators. Your code stays 100% yours.

2

Run One Command

Point the PyLocket CLI at your project directory. It analyzes, encrypts, transforms, and packages everything automatically.

3

Get Protected Builds

Receive platform-specific protected builds ready to distribute. Each build includes the hardened runtime loader and encrypted payload.

4

Distribute & Earn

Ship your protected app. Licenses are enforced automatically. Customers get a smooth experience. Pirates get nothing.

$ pylocket protect ./my-app/

PyLocket vs. The Alternatives

See how PyLocket stacks up against common Python protection approaches.

Feature PyLocket PyArmor Cython DIY Obfuscation
Whole-app encryption ~
JIT decryption ~
Native runtime hardening
Bytecode transformation ~ ~ ~
Signed manifests
Zero code changes ~
Built-in licensing
Cross-platform (6 targets) ~ ~ ~
No percentage fees
Free tier (first 10 licenses)*

* Free tier includes 10 builds across all your apps. End-user licenses issued on the free tier expire after 30 days. A one-time ID verification fee applies.

Transparent, Developer-Friendly Pricing

A flat platform subscription plus $4 per license activated. No percentage fees. Early subscribers grandfathered for life.

Free Tier

$0 subscription

One-time ID verification fee

  • Full protection pipeline
  • All 5 security layers
  • All 6 platform targets
  • CLI & dashboard access
  • 10 builds across all your apps
  • End-user licenses valid for 30 days
  • Community support

ID verification ensures PyLocket isn't used to protect malware. It protects every developer on the platform.

Get Started Free →

How Billing Works

  • Free tier covers 10 builds across all your apps. Use them for development, testing, or early distribution.
  • A one-time ID verification fee applies to all accounts. This keeps the platform safe from bad actors trying to protect malware.
  • The Pro subscription is a flat platform fee — not per-app, not per-seat, not a percentage of your revenue.
  • Each end-user license you activate is $4. You set your own pricing; you keep everything above that.
  • Grandfathered pricing: as PyLocket grows and the subscription price rises for new sign-ups, your rate stays exactly where you started.
  • Cancel anytime. Active end-user licenses require a current subscription to remain valid.

You control your pricing, your distribution, and your customer relationships. We just make sure your code stays protected.

Why Developers Choose PyLocket

The reasons go beyond just protection.

No Percentage Fees

Keep your revenue. We charge a flat platform subscription plus $4 per license activated — never a percentage of your sales. Sell a license for $50 or $5,000; our cut is the same $4 either way.

Grandfathered for Life

Subscribe at today's rate and you're locked in — forever. As PyLocket grows and our subscription price rises for new customers, early subscribers keep their original price. The earlier you join, the more you save over time.

Zero Friction

One command to protect. No complex configuration, no build system rewrites, no learning curve. If you can run a CLI command, you can use PyLocket.

Code Stays Untouched

No decorators, no imports, no SDK. Your source code remains 100% standard Python. Protection is applied at the build layer, not the code layer.

Honest About What We Do

We don't claim to be unbreakable. We make piracy expensive and inconvenient enough that casual pirates move on and professionals think twice.

Ship Everywhere

Six platform targets from one protect command. Windows, Linux, macOS — including Apple Silicon. Your users get native performance everywhere.

Licensing Respects Users

Offline grace periods, reasonable device limits, no always-online requirements. Your legitimate customers never feel punished by your protection.

The "Zero-Risk Start" Promise

  • Free tier: 10 builds across all your apps. No time limit.
  • One-time ID verification fee applies — no recurring charges on the free tier.
  • Full protection pipeline available on the free tier.
  • Free-tier end-user licenses are valid for 30 days. Upgrade anytime to remove the expiry.
  • Subscribe to lock in early-adopter pricing — grandfathered for life.
  • Cancel anytime. A grace period keeps your customers' licenses active.

The only risk is continuing to ship unprotected.

Built by Developers Who Ship Python

We've been in your shoes. That's why PyLocket exists.

🔍

Security Research

Deep expertise in reverse engineering, binary analysis, and anti-tamper techniques. We know what attackers do because we've studied their tools and methods.

🐍

Python-Native

We build in Python every day. PyLocket isn't a generic DRM bolted onto Python — it's engineered from the ground up for the Python ecosystem and its unique challenges.

🛠️

Developer-First

We obsess over developer experience. Every feature is designed to be simple, predictable, and respectful of your workflow. If it adds friction, we cut it.

"We built PyLocket because we were tired of watching great Python apps get cracked within hours of release. The tools available were either too weak, too complicated, or too expensive. We wanted something that just works."
Meet the full team →

Frequently Asked Questions

Everything you need to know about protecting your Python apps.

No. PyLocket works at the build layer. You point our CLI at your project directory, and we handle everything. No decorators, no imports, no SDK. Your code stays 100% standard Python.
Python 3.x is supported. We test against all actively maintained Python 3 releases to ensure compatibility.
Six targets: Windows (x86, x64), Linux (x86, x64), and macOS (x86_64, Apple Silicon). All from a single protect command.
No, and we won't insult your intelligence by claiming otherwise. No software protection is unbreakable. What PyLocket does is make reverse engineering expensive and time-consuming enough that the vast majority of pirates move on. Casual pirates are blocked entirely. Automated tools are rendered useless. Even skilled reversers face weeks or months of work instead of hours.
PyLocket includes built-in license enforcement. When a user launches your protected app, the runtime validates their license automatically. Features include device binding, offline grace periods, and remote revocation. You manage licenses through the dashboard or API. No code changes needed on your end.
Legitimate users get offline grace periods. The app continues to work without an internet connection for a configurable period. We believe protection should stop pirates, not punish your paying customers.
The JIT decryption adds minimal overhead — typically single-digit milliseconds per function call. For most desktop applications, the impact is imperceptible. The native runtime loader is compiled and optimized, not interpreted.
Yes. PyLocket works with PyInstaller, cx_Freeze, BeeWare Briefcase, and other packaging tools — it does not replace them. You build your application with your preferred packaging tool first, then upload the output to PyLocket for protection. Supported inputs include PyInstaller onefile executables, PyInstaller onedir archives (zipped), cx_Freeze output (zipped), Python wheels (.whl), and generic archives (.zip, .tar.gz). See the PyInstaller guide for a full walkthrough.
When you cancel, your subscription remains active until the end of the current billing period. After that, a grace period begins during which your customers' existing licenses continue to work normally. Once the grace period expires, end-user licenses become invalid and activation will fail. You cannot create new protected builds or issue new licenses after cancellation. If you resubscribe before the grace period ends, all licenses are restored automatically. Resubscribing forfeits any grandfathered subscription rate — a fresh subscription is billed at the current rate.
Yes. The free tier includes the full protection pipeline, all security layers, and all platform targets. You get 10 builds across all your apps to use however you'd like — development, testing, or early distribution. End-user licenses issued on the free tier are valid for 30 days. A one-time ID verification fee applies to all accounts; this keeps PyLocket from being used to protect malware. When you're ready for production, upgrade to a paid subscription for unlimited builds and licenses with no expiry.
PyLocket protects software from reverse engineering — which means the same tools that protect a legitimate app could, in the wrong hands, protect malware from analysis. The one-time ID verification fee ensures every developer on the platform is who they say they are. It's a small cost that keeps PyLocket safe for everyone using it. You only pay it once, and it covers you for life.
When you subscribe to PyLocket, you lock in your subscription rate for life. As we grow and add features, the subscription price will rise for new sign-ups — but your rate stays exactly where you started. Subscribing today means paying today's price five years from now, no matter how much PyLocket has grown.
Sign up for a free account, install the PyLocket CLI, and run pylocket protect ./your-app/. That's it. No configuration files, no build system changes, no learning curve.
Never. We charge a flat platform subscription plus $4 per license you activate. Your revenue is yours — sell a license for $50 or $5,000 and our cut is the same $4. We don't take a percentage, ever.

Every Day Without Protection Is Revenue Lost

The clock is ticking from the moment you publish.

Day 1

Your App Is Published

Within hours, your .pyc files are decompiled. Source code appears on paste sites and forums. Automated tools strip your PyInstaller bundle instantly.

Week 1

Cracked Copies Spread

Pirated versions with license checks patched out appear on download sites. Your potential customers find free alternatives to paying you.

Month 1

Revenue Plateaus

Sales flatten despite growing interest. You're competing against free copies of your own software. The damage is done and difficult to reverse.

The average Python developer loses 30–40% of potential revenue to piracy. For an app generating $1,000/month, that's $3,600–$4,800 per year — lost to a problem that costs less than a coffee per license to address.

The protection is free to try. The cost of waiting is not.

Ready to Ship Without Fear?

Protect Once. Sell Forever.

Start Protecting Free →

Free tier: 10 builds, no time limit. Subscribe to lock in early-adopter pricing — grandfathered for life. No percentage fees. Ever.