Skip to content
New Our example SDKs are now open-source on GitHub
Built for indie SaaS & desktop devs

Stop building login.
Start shipping features.

PWF Auth is the license-key, user-account, and OTA-update backend you'd build yourself — already built, documented, and behind one simple REST API.

See how it works
curl -X POST https://pwfauth.com/api/auth/check-key.php \
  -H "X-App-Secret: $APP_SECRET" \
  -d '{"license_key":"PWF-XXXX-XXXX-XXXX"}'
# → { "success": true, "valid": true,
#     "key": { "expires_at": "...", ... } }
Drop-in SDKs & REST for every language you ship in
Python SDK
PHP
.NET / VB.NET SDK
JavaScript
TypeScript
Node.js
Go
Rust
Java
Kotlin
Swift
Ruby
C++
cURL
0 Registered developers
0 License keys issued
0 Apps protected
$0 Forever — every feature
Live from the production database — refreshed every 5 minutes.
Features

Everything you need to monetise software.

One backend. Six core systems. Zero boilerplate.

Serving 35 countries

Global reach.
Real customers, worldwide.

Every dot is a country that has actually signed in — drawn from real login history. Green dots have a session running right now.

Drag to spin · Ctrl + scroll to zoom
0 Countries served
0 Sign-ins served

License keys

Generate, validate, revoke, and bulk-issue keys. Hardware-ID binding, expiry, trial mode, and quota built in.

User accounts

Username/password auth with bcrypt, JWT sessions, password reset, 2FA, and brute-force protection.

OTA updates

Push new versions to your installed base. Channel-based rollouts, signed downloads, mandatory-update flag.

Live sessions & heartbeat

See who's online right now. Detect concurrent abuse, kick a session, or limit installs per license.

Feature flags & tiers

Ship one binary, gate features by plan. Toggle remotely without a redeploy. Per-user A/B testing.

Analytics & audit

Geo distribution, daily-active users, revenue charts, and a full audit log of every admin action.

License models

Every way you'd ever sell, one key engine.

Issue keys in any commercial model your app needs — all six below are shipped, working capabilities, not a roadmap.

Perpetual

Buy once, works forever. Keys with no expiry date for classic one-time purchases.

expires_at = null

Subscription

Time-boxed keys with exact expiry dates — monthly, yearly, or any duration you define.

expires_at = <date>

Timed trial

Short-lived evaluation keys that expire on their own — no manual cleanup, no honor system.

duration = 7d

Hardware-locked

Keys bind to a machine fingerprint (HWID) with a device limit you choose — sharing stops working.

hwid + max_devices

Online-checked lease

Sessions renew by heartbeat, and a revoked key dies within minutes — a real kill-switch for leaks.

heartbeat · revoke

Feature-flagged

Toggle individual features per key from the dashboard — sell tiers and add-ons on one binary.

features: { … }

All six models ship in the free tier — there is no other tier.

How it works

From signup to first license in 4 steps.

You'll be calling the API faster than your linter finishes.

1

Create your account

Sign up with an email — every feature unlocked, free forever, no credit card.

2

Register your app

One click in the dashboard creates an app, your API key, and a JWT secret.

3

Generate license keys

bash
curl -X POST https://pwfauth.com/api/admin/keys.php \
  -H "Authorization: Bearer $PWF_ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"app_id":"YOUR_APP_ID","count":50,
       "key_type":"days","duration_value":30}'
# → { "success": true, "count": 50,
#     "keys": [ { "license_key": "..." }, ... ] }
4

Validate from your app

bash
curl -X POST https://pwfauth.com/api/auth/check-key.php \
  -H "X-App-Secret: $APP_SECRET" \
  -H "Content-Type: application/json" \
  -d '{"license_key":"PWF-XXXX-XXXX-XXXX"}'
# → { "success": true, "valid": true,
#     "key": { "expires_at": "...", ... } }
In practice

What you can do with PWF Auth.

Concrete outcomes from the real feature set — for desktop apps, game tools, SaaS, mobile companions, plugins and resellers — in your first week, on the free plan.

Ship a licensed desktop app in a weekend

Drop the SDK into WPF, WinForms or Electron and replace hundreds of lines of homegrown auth — HWID binding included.

net8 SDK included

Kill a leaked key in seconds

Watch every active session live, kick stolen copies in real time, and revoke a leaked license from your phone.

Kill-switch < 5 min

Launch without a licensing bill

Every feature is free — unlimited keys, users and apps. Ship your whole launch without ever hitting a paywall.

$0 — free forever

Run all your apps from one panel

Multi-tenant from day one: separate keys, users and updates per app, behind one dashboard and one account.

Unlimited apps

Verify the security on the wire

API responses are AES-encrypted and HMAC-signed, and 2FA is mandatory for every admin — the docs show exactly how to verify it.

AES-256 + HMAC

Push updates in three lines of code

Roll out patches over the air by channel — your users get them the next day, with no new-installer emails.

Instant rollout

See everything that's included

Build vs buy

Why not just build it yourself?

You could. Here's what rolling your own license + auth stack really costs — versus one REST call, free.

Your key is on a cracking forum an hour after launch
Leak detection + HWID lock

The anomaly detector flags multi-IP and cross-country use, and hardware binding stops the shared copy from running at all.

Delivering keys by hand, one DM at a time
API issuance + reseller portal

Generate and deliver keys from one API call, or let resellers issue from their own credit-based portal while you sleep.

No idea who is still running an old, vulnerable build
Heartbeat + forced updates

Live sessions phone home, so you see versions in real time — push an OTA update or kill a key and it dies within minutes.

Capability Roll your own PWF Auth
Time to first license Weeks of auth plumbing One REST call — about 5 minutes
License keys, HWID, expiry Design, build & debug it Built in
Accounts, 2FA & sessions Another few weeks of work Included
OTA updates & remote kill-switch You build & maintain it Included
Security patches & uptime Your responsibility, forever We run and patch it
Price Your time — the costly part $0 — free forever
Price Server, SSL, backups, patches — your money and your weekends $0 · forever, every feature included
Pricing

100% Free. No catch.

PWF Auth is completely free — every feature, unlimited forever. No credit card, no trial, no upsell.

PWF AUTH ALL-ACCESS · FREE TIER
$0/ forever
EVERY DEVELOPER
FOREVER
PWF AUTH OFFICIAL RECEIPT DATE: today → forever
License Keys$0.00
Auth & Users$0.00
Delivery$0.00
Security$0.00
Renewal fee$0.00
Hidden upsells$0.00
TOTAL DUE$0.00
NOTHING DUE — EVER
No credit card No trial clock No locked features No seat limits
Everything included:
16 × $0.00
License Keys
  • Unlimited license keys
  • HWID binding & reset
  • Expiry, pause, ban controls
  • Bulk generate & export
Auth & Users
  • User accounts + bcrypt
  • JWT sessions + 2FA
  • Live heartbeat monitor
  • Brute-force protection
Delivery
  • OTA updates & channels
  • Feature flags per plan
  • Webhooks & event log
  • Telegram Bot integration
Security
  • IP blacklist & rate limiting
  • Full audit trail
  • Backup & restore
  • Customer self-service portal
Get started — it's free
Open-source friendly  ·  No lock-in — export anytime  ·  [email protected]
Security

Hardened like a paid platform, priced like a hobby.

No purchased certificates on this wall — every badge below is a real, shipped mechanism you can test yourself.

Encrypted API envelope

SDK requests and responses travel in a signed, AES-encrypted envelope — not plain JSON on the wire.

TOTP two-factor

Panel sign-ins are protected by time-based 2FA codes on top of the password.

Hardware binding

Keys lock to a machine fingerprint (HWID) with a device limit you choose per key.

Brute-force lockout

Repeated failed sign-ins lock out the address and the account automatically.

Leak detection

A detector flags impossible travel, IP spread and abnormal login rates per key.

Instant kill-switch

Revoke a key and its live sessions die on the next heartbeat — within minutes.

GeoIP threat map

Live world map of auth traffic with one-click IP blocking baked into the panel.

Rate limiting

Public endpoints are rate-limited, so scripted abuse hits a wall before your data does.

Self-hosting isn't publicly available yet — it's on our roadmap. If you have a serious self-hosting need, email [email protected] and we'll talk.
Anything that can speak HTTP. We ship one-file SDKs for Python and VB.NET / C#, and the REST API works identically from Node, Go, Rust, PHP, Electron, Unity, you name it.
Each license can be bound to one or more device fingerprints. If a user reinstalls or buys a new machine, they request a HWID reset from your in-app dialog and you approve it from the dashboard.
All traffic is TLS 1.3 (Cloudflare). Passwords are bcrypt with cost 12. Backups are encrypted at rest. We follow OWASP Top 10 practices and keep dependencies patched. See our Privacy Policy for the full breakdown.
We target 99.9% monthly uptime. Live status at pwfauth.com/status.php.
Yes. We have CSV import for bulk license migration, and we're happy to help — just email us.
There isn't one. PWF Auth is in public beta and run by its developers. Everything offered today is free and stays free — if optional paid extras ever appear, nothing that is free today will be taken away. No ads, and we never sell your data.
Yes. Bulk-export your license keys from the dashboard anytime, and CSV import/export makes migration in either direction straightforward. No lock-in.