PapelShip
Get startedSign in
Appearance

qPapel Auth/Licensing and software protection

Licensing and anti-tamper protection for the software you ship.

Issue keys, bind them to hardware and block debuggers, virtual machines and patched builds. Every decision is made on our servers and managed from one dashboard.

app.papelship.com · qPapel

Languages

C, C++ and C#

Validation

On PapelShip's servers

Licenses created

10M+

Free plan

Free

How it works

Your application checks in. PapelShip decides. Keys, sessions and hardware bindings are verified on our servers, never by the binary alone.

DemoApp.exe

Checking in
License key
PAPEL-7F3K-91XA
HWID
9F2C·A41E·07BD
Session key
previous · 88d0…

key + HWID + session

allowed + new session key

PapelShip servers

decides
  • License active
  • Bound to this HWID
  • Session token valid
  1. 01

    Issue

    Keys are generated per product and delivered on purchase, or created by resellers you authorize.

  2. 02

    Bind

    On first activation the key locks to the buyer's hardware ID.

  3. 03

    Validate

    Every check is decided on PapelShip's servers, not by logic inside your binary.

  4. 04

    Refresh

    Session keys roll with every session instead of living as long as the license.

  5. 05

    Revoke

    Expire or ban a key from the dashboard. The app gets the new status on its next check.

Licensing

Keys in your format, on your terms.

Generate keys per product with the duration, amount and prefix you choose, and see every buyer's status at a glance.

  • Lifetime, subscription and trial keys with durations in days, hours or minutes.
  • Saved keymask profiles with a fixed prefix, so every batch follows your format.
  • Generate one key, a batch or a custom amount, with an administrator note on each.
  • Live status for every key: active, expired, banned or HWID mismatch.

Key creation

DemoApp · 371988117

356 keys · 6 products

Keymask profile

PAPEL-XXXX-XXXXSaved profile

Duration

30
DaysHrsMins

Number of keys

1310Custom

Generate license keys

  • PAPEL-····-····Waiting · 30 days
  • PAPEL-····-····Waiting · 30 days
  • PAPEL-····-····Waiting · 30 days

Customer licenses

6 keys
  • CCalistaActive
  • DDavid7 days left
  • SSophieActive
  • KKateExpired
  • JJhonnyActive
  • BBadgerActive

HWID locking

One key, one machine.

A key binds to the hardware that first activates it. Another PC with the same key is refused on the server and logged, and you can ban the key or the device.

Buyers who change machines request a reset from the customer portal. A per-key cooldown keeps honest customers moving without letting one key travel between PCs.

What is HWID locking?
DESKTOP-1NDS9CTBound

License key

PAPEL-7F3K-91XA

LAPTOP-7Q2MDIdle

Bound to the first machine that activated it.

Hardware identification you choose per product

  • Windows GUID

    Registry MachineGuid

  • Disk serial

    HDD or SSD serial number

  • MAC address

    Network adapter, less reliable behind VPNs

Delivery

Sold, delivered, activated.

Connect a PapelShip store and every paid order issues a qPapel Auth key, hands it to the buyer, assigns their Discord role and locks to their hardware on first launch.

Explore PapelShip Commerce

Order #4821

Processing
  1. New order

    12:04:01

    DemoApp Lifetime · €49.00 · Card

  2. License key delivered

    12:04:02

    PAPEL-R5DW-2KQS · shown to the buyer instantly

  3. Discord role assigned

    12:04:02

    DemoApp Users

  4. HWID locked and activated

    12:06:47

    DESKTOP-4KD0PL · first launch

Remote Settings

Change your protection without shipping a build. Eight steps, from hardware binding to qPAnalyzer. Clients pick up the new policy on their next check.

DemoProduct

Remote settings · Step 1 of 8

Security policy

Choose what hardware a license is bound to and how the client reacts to tampering.

Hardware ID

Changing this requires a HWID reset for existing keys.

MAC addressBinds to the network adapter. Less reliable on VPNs.
Disk serialBinds to the HDD/SSD serial number.
Windows GUIDBinds to the Windows registry MachineGuid.

Tamper detection

Detection response

What happens when a blacklisted process or window is found.

close_app

Integrity check

Verifies the client's SHA-256 hash on startup to block patched builds.

CRC32 check

Validates checksums of the client binary and memory sections.

CancelReview & exportNext

Risk engine

Score behaviour, not single events.

Signals add points that decay over time, and your thresholds decide the response. One odd reading never bans a paying customer.

  • Score cap, decay per minute and a cooldown between actions.
  • Warn, restrict, close and ban thresholds, each with its own action.
  • A mask template shows a neutral error instead of the real reason.
  • Auto Rules run your chosen action whenever a condition is met.

Risk engine

DESKTOP-23X9F · PAPEL-N1XY-55JQ
Clean
0/ 100 risk score
Warn30Restrict60Close80Ban95
  • VM detected+25
  • Blacklisted window+50
  • Debugger detected+80

Action

none

What the user sees

nothing

Server-side data

Keep secrets out of the binary. Values and files stay on PapelShip and reach your app only after its session is authenticated.

Client-side protection vs server-side secrets

DemoApp.exe at runtime

No session
  • reports_endpointnot in the build
  • feature_pronot in the build
  • loader.binnot in the build

strings DemoApp.exe | grep api → no match

only to an authenticated session

On PapelShip

  • SS Stringreports_endpoint••••••
  • SS Stringfeature_pro••••••
  • SS Fileloader.bin••••••

Served to verified clients only

Publish a value in seconds.

Server Variables and Server Files hold what your app needs at runtime. Change a value in the dashboard and every client reads the new one on its next request.

  • Strings, offsets and functions, each published under a 12-digit access ID.
  • Target one product, several or all of them from the same value.
  • Force Key Check serves a value only to a session with a valid license.
  • Files upload directly or proxy from your own URL, with download counts per file.

Anti-tamper and leak tools

Catch the leak, stop the patch, keep the evidence. Trace shared builds, refuse modified files and see what a suspicious machine was doing.

qPAnalyzer

AI analysis on the end user's machine that recognizes debuggers and cracking tools, including renamed and custom ones a blacklist misses. Included with PapelShip+.

Explore qPAnalyzer

Binary Trace

Leak and build tracking that shows which license a shared build came from.

Build Control

Stops your file being modified, patched or opened by unauthorized tools.

Suspicious Screenshot

Captures the screen when suspicious activity is detected, for review before you act.

qPapelPacker+

Packs your binary with an extra protection layer on top of the SDK.

Map Files

Works like a PE loader, mapping your files into memory instead of onto disk.

Auto Rules

Set a rule once and it runs on its own, applying your action whenever its condition is met.

Integrity checks in code

Call the checks at startup and again before the features that matter most, so a mid-session patch is caught where it counts.

Customers, resellers and team

Fewer tickets, more people selling. Buyers help themselves, resellers sell under your rules, and your team works without the owner password.

Let buyers answer their own questions.

Branded portals where customers look up their key and see exactly the details you choose. HWID reset requests and downloadable loaders live in the same place.

  • HWID lock, time remaining, activation date, total days and browser details.
  • HWID reset requests reviewed from one tab.
  • Loader downloads for verified keys.
  • Runs on your store address or your own domain, with free SSL.

Releases

Ship updates to every licensed user.

Host builds as SS Files, raise the minimum version and older clients are asked to update when they connect.

See the qPapel Auth changelog

Version check

Minimum client version on connect

2.0.0
  • DESKTOP-1NDS9CTv2.1.0Allowed
  • WIN-K29XQ4v2.0.0Allowed
  • LAPTOP-7Q2MDv1.9.4Update required
myloader.protected.exe · v2.1.0SS File

SDKs

Integrate in C, C++ or C#.

Link the SDK, pack your build and validate keys against PapelShip. Everything else is managed from the dashboard.

C++
qPapelLib.h and qPapelLib.lib linked into your Visual Studio project, with qPapelAuth64.dll from your dashboard.
C#
Supported through the EasyAuth library.
Packing
qPapelPacker embeds and secures the auth DLL inside your EXE or DLL after each build.
Requirements
Windows 10 or 11 (x64), Visual Studio 2019 or later, C++17.
main.cpp
1#include "qPapelLib.h"
2#pragma comment(lib, "qPapelLib.lib")
3#pragma comment(lib, "libsodium.lib")
4
5int main() {
6 if (!qpapel::Init()) return 1; // map qPapelAuth in memory
7
8 QPCTX ctx = qpapel::CreateContext();
9 qpapel::SetConfig(ctx, "pk_your_api_key", "", 0, "1.0.0");
10 qpapel::CheckIntegrity(ctx); // local integrity checks
11
12 if (qpapel::Connect(ctx)) {
13 std::string key = ReadLicenseKey(); // your own input
14 char* token = qpapel::Authenticate(ctx, key.c_str());
15 if (token) {
16 qpapel::FreeString(token);
17 RunProtectedApp(); // your application
18 }
19 }
20 qpapel::DestroyContext(ctx);
21}

Trimmed from the Quick Start in the qPapel Auth documentation.

Dashboard

Everything in one place. Keys, devices, protection, files, portals and resellers sit in the same dashboard as your store and its payments.

app.papelship.com · Active devices

Plans

Plans that grow with your product. Remote Settings are included on every plan.

Compare all plans

Free

Free

One protected product to start with.

  • 1 product
  • 50 keys per product
  • 3 SS strings and 3 SS files
  • Remote Settings

Vaultie

Most popular

€5.99/ month

More products, resellers and staff panels.

  • 12,500 keys per product
  • 50 staff and 50 resellers
  • The full qPapel suite
  • Lower crypto and POS fees

PapelShip+

€14.99/ month

High limits and qPAnalyzer.

  • 95,000 keys per product
  • qPAnalyzer included
  • 750 staff and 250 resellers
  • 0% crypto and card fees

Questions, answered

More about licensing and protection in the help center.

Visit the help center

C and C++ through native SDKs, and C# through the EasyAuth library. Both use the same dashboard, keys and Remote Settings.

On the server. PapelShip decides whether a key is valid, active and bound to the right hardware, and session keys refresh with every session. Your binary is also hardened against debugging and memory dumping.

Yes. Remote Settings changes detection logic, behaviour and variables from the dashboard, and Session Token Enforcement can cap session length or lock a session to an IP address.

They request an HWID reset from the customer portal. A per-key cooldown lets honest buyers change machines without letting one key move between PCs every day.

No. qPapel Auth works on its own. Connect it to a PapelShip store and every paid order delivers a key automatically.

Both are supported. EasyAuth is the newer library and adds C# support; the Default Library remains fully usable. Release notes for each are in the changelog.

Yes. The KeyAuth migration guide covers mapping products, keys and SDK calls, and the comparison sets out the differences.