UseThatApp Documentation
Add software licensing to your web application in minutes. UseThatApp lets you gate content behind license tiers so you can ship free, Pro, and Enterprise experiences from a single codebase.
How It Works
UseThatApp uses a two-phase server-to-server webhook handoff. No iframes, no client-side JavaScript, no shared secrets — just two backend calls:
- Launch. When a user clicks Launch app on usethatapp.com, the marketplace POSTs an encrypted, signed envelope to your app's launch URL. Your backend calls
get_user(Python) orgetUser(JavaScript) to verify and decrypt it, and gets back an opaqueuser_keyto persist against its own session. - Query. Whenever your app needs the user's current tier, it calls
get_version/getVersion. The SDK signs the request with your private key, hitshttps://usethatapp.com/licensing/getversion/, and returns the product name (e.g."Pro") ornull.
Quick Example
Two server-side calls — verify the launch envelope, then look up the live tier whenever you need it:
Python
from usethatapp import get_user, get_version
# In your launch route — your framework's request shape may vary:
uta_user = get_user(request.form["uta_payload"])
session["uta_user_key"] = uta_user.user_key
# Anywhere else:
version = get_version(session["uta_user_key"])
if version == "Pro":
... # serve paid contentJavaScript
import { getUser, getVersion } from "usethatapp";
// In your launch route:
const user = getUser(req.body.uta_payload);
req.session.utaUserKey = user.user_key;
// Anywhere else:
const version = await getVersion(req.session.utaUserKey);
if (version === "Pro") {
// serve paid content
}Why UseThatApp?
Two Calls to Integrate
Verify the launch envelope, then call get_version when you need the tier. No client-side SDK to wire up.
Secure by Design
Hybrid envelope crypto (RSA-OAEP + AES-GCM + RSA-PSS) and signed server-to-server queries. Your private key never leaves your backend.
Any Framework
Tested examples for Flask, Django, FastAPI, Dash, Streamlit, Express, Fastify, Next.js, Nuxt, and plain Node.
Supported Frameworks
Choose your language to see the full list of framework guides, or jump straight to the Quick Start.
