Oxrion Encoder
Self-hosted PHP encoder for maximum privacy
A PHP extension that runs on your own machines. Source files never leave your network. License system, key management, and CI integration are all built in.
Workflow
Install, encrypt locally, deploy
- 01
Install extension
Drop the binary into your PHP extension directory and add it to php.ini. One line, both Linux and Windows.
- 02
Encrypt locally
Call
oxrion_encrypt()from any PHP script. Works in CI, build hooks, release scripts. - 03
Deploy
Ship the encrypted files. Customer servers run them under the free loader — no encoder needed in production.
Built for self-hosting
The features that earn the price tag
Encoder / loader split
The loader is free and minimal — production servers only need that. The encoder lives on developer machines.
License system included
Domain binding, expiry dates, per-customer licenses. Built in. Other tools sell this separately.
Internal and external keys
Override the master key with your own via php.ini. Zero-trust mode for sensitive deployments.
Public vs private files
Visibility is sealed inside the encrypted file itself. Public runs anywhere. Private requires a license.
OPcache compatible
Stream-wrapper architecture cooperates with PHP's caching layer. No surprises in production.
Cross-platform
Linux x86_64, Windows NTS and TS, PHP 7.4 through 8.4. Same encrypted file runs on all of them.
API
Four functions, full pipeline
Generate keys, encrypt files (public or private), and mint per-customer licenses. Array-based options keep call sites clean and self-documenting.
<?php
// One-time: generate RSA key pair (keep private key secure)
$keys = oxrion_generate_key();
// Encrypt a public file (runs anywhere with oxrion_loader)
oxrion_encrypt('app.php');
// Encrypt a private file (requires license to run)
oxrion_encrypt('admin.php', [
'public_key' => $keys['public'],
'visibility' => 'private',
]);
// Generate a customer license
oxrion_generate_license('admin.php', [
'private_key' => $keys['private'],
'output' => 'customer.env',
'data' => [
'domain' => 'customer.com',
'expiry' => '2027-01-01',
],
]); Built for agencies and privacy-conscious teams
When client work has NDAs, when source code can't touch a third-party server, when CI builds need to produce protected releases without a network hop — Encoder is what you reach for.
Pricing
One license, every machine you build on
Pro
Single developer, self-hosted.
- Files / day 200
- All encryption features
- License system
- Self-hosted
- Support Email
Pro Max
Agencies, multi-project teams.
- Files / day 500
- All encryption features
- License system
- Self-hosted
- Support Priority
Enterprise
Custom contracts, on-premise, SLA.
- Files / day Unlimited
- All encryption features
- License system
- Self-hosted
- Support Dedicated + SLA
Encoder FAQ
Frequently asked questions
Can't find what you're looking for? Reach out — we read every message.
-
Do I need to keep the encoder on my production server?
No. Production servers only need the free loader. The encoder is for developer machines and CI runners — that's the point of the split.
-
How do licenses work?
Each license is a small file that binds an encrypted file to a domain and optional expiry date. Generated with your private key. Distribute one per customer.
-
Does this break OPcache?
No. The loader registers a PHP stream wrapper, so OPcache caches the decrypted bytecode like any other file.
-
Can I switch between Cloud and Encoder?
Yes. Both produce the same file format — anything you encrypt with one runs under the same loader, regardless of which product made it.
Get the encoder running today
Same encrypted file format as Cloud. Same free loader. Just self-hosted.