Hệ thống bảo vệ bản quyền cho sản phẩm số
ClavisAuthentication Engine
- An toàn
- Nhanh chóng
- Bảo mật tuyệt đối
Quản lý license, khoá thiết bị, phát hành có ký và giám sát 24/7 trên một nền tảng, mọi phản hồi đều có chữ ký
- Ký số mọi phản hồi
- Giao thức công khai
- Miễn phí để bắt đầu
pnpm add @clavisauh/sdk
Một giao thức mở cho mọi ngôn ngữ
- JavaScript
- TypeScript
- C++
- C#
- Python
01 / Quản lý license
Phát hành có bản quyềnNhanh và tiện
Clavis Authentication Engine ra đời từ một việc cơ bản: quản lý license, để bạn phát hành sản phẩm số có bản quyền một cách nhanh chóng và tiện lợi
1.1Hệ thống key
Mỗi key một vòng đời rõ ràng
Tạo theo lô, gắn gói, theo dõi trạng thái, thiết bị và lịch sử của từng key
- 01Tạo theo lôChọn gói, số lượng, ghi chú và email người mua, key chỉ hiện một lần
- 02Trạng thái rõ ràngChưa dùng, đang dùng, sắp hết hạn, ân hạn, hết hạn, tạm khoá, thu hồi
- 03Thao tác một chạmGia hạn, tạm khoá, thu hồi, gỡ thiết bị, ghi chú, đổi email người mua
1.2Khoa học
Mọi thứ có chỗ của nó
Workspace chứa ứng dụng, ứng dụng có gói license, gói sinh ra key, key gắn với thiết bị
- 01WorkspaceĐội của bạn, gói dịch vụ và thành viên
- 02Ứng dụngMỗi sản phẩm một khoá ký riêng
- 03Gói licenseThời hạn, số máy, quyền tính năng, dùng thử
- 04License keySinh theo lô, chỉ lưu mã băm
- 05Thiết bị và phiênNhận máy theo từng linh kiện
- Chưa dùng
- Đang dùng
- Sắp hết hạn
- Ân hạn
- Hết hạn
Gia hạn đưa một license đã hết hạn quay lại sử dụng
1.3Tích hợp nhanh
Bốn bước, khoảng năm phút
Từ tài khoản mới tới key đầu tiên được kích hoạt và xác minh chữ ký
- 01Tạo ứng dụngNhận khoá công khai để nhúng vào phần mềm
- 02Tạo license keyChọn gói, số lượng, thời hạn
- 03Thêm SDKpnpm add @clavisauh/sdk và vài dòng code
- 04Kích hoạt thửNgay trên trang Bắt đầu nhanh của dashboard
import { ClavisClient } from "@clavisauh/sdk";
const clavis = new ClavisClient({
baseUrl: "https://api.clavisauh.com",
appId: "app_8f2aG91BcE043",
appPublicKey: "Xq3…f1A", // verifies every response
device: await describeThisMachine(),
});
const { license, variables } = await clavis.activate(key);
// Signature checked. Fake servers and replays never get here.
1.4Tiện lợi
Khách tự phục vụ, bạn rảnh tay
Đăng nhập dựng sẵn, cổng khách hàng và phát hành có ký làm thay bạn phần việc lặp lại
Ba chế độ đăng nhập · key, tài khoản, hoặc cả hai
Cổng khách hàng · người mua tự gỡ máy
Phát hành có ký · ép cập nhật, chặn bản lỗi
02 / Bảo vệ bản quyền
Song song với phát hànhBảo vệ từ mọi phía
Bản quyền được giữ ở giao thức, thiết bị, bản build và cả khi vận hành, tự động và luôn có lý do rõ ràng
- Server giả trả lời hợp lệMọi phản hồi ký Ed25519 bằng khoá riêng của appKý response
- Chép phản hồi cũ đem dùng lạiNonce dùng một lần, lệch giờ là bị loạiChống replay
- Một key chia cho nhiều máyKhoá thiết bị theo linh kiện, báo động chia sẻ keyGắn key với máy
- Dò key hàng loạtTối đa 20 lần sai mỗi 15 phút theo IPRate Limiting
- Bản build bị sửaĐối chiếu hash với bản phát hành đã kýKiểm tra toàn vẹn build
- Bản crack lộ ra ngoàiWatermark license truy ra người muaForensic Watermarking
Đừng chỉ đọc, hãy thử sửa một byte trong phản hồi đã ký
2.1Hai chế độ bảo vệ
Một nền vững, một lớp tinh chỉnh
Standard gồm 10 phương pháp luôn bật cho mọi ứng dụng. Advanced thêm các phương pháp bạn chọn
2.2Protect 24/7
Có người thử crack, bạn biết ngay
Tín hiệu bất thường được chấm điểm, gom thành sự cố và báo tới email, Discord, Telegram
Minh hoạ · cảnh báo Discord
Protect 24/7Hôm nay lúc 02:14
Sự cố mức cao · chia sẻ key
PRO-7KQ2M-…-9HTNC chạy trên 4 máy trong 1 giờ, đã buộc đăng nhập lại
Open
Studio Pro · high
03 / Seller API
Bán qua đại lýKhông mất kiểm soát
API phân quyền cho cửa hàng và bot, đại lý trả bằng tín dụng
- 01
Cửa hàng nhận đơn
Website, bot Discord hay hệ thống riêng của bạn
- 02
Gọi API tạo key
Mỗi đơn một Idempotency-Key, không bao giờ bán trùng
- 03
Giao key cho khách
Webhook có ký báo về từng thay đổi của license
curl -X POST https://<api host>/seller/v1/apps/app_…/licenses \
-H "Authorization: Bearer $CLAVIS_KEY" \
-H "Idempotency-Key: order-1042" \
-H "Content-Type: application/json" \
-d '{ "policyId": "pol_…", "count": 1, "email": "buyer@example.com" }'
const res = await fetch(`${host}/seller/v1/apps/${appId}/licenses`, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.CLAVIS_KEY}`,
"Idempotency-Key": "order-1042", // a retry never sells twice
"Content-Type": "application/json",
},
body: JSON.stringify({ policyId, count: 1, email: "buyer@example.com" }),
});
const { data } = await res.json(); // data.keys: shown once
import os, requests
res = requests.post(
f"{host}/seller/v1/apps/{app_id}/licenses",
headers={
"Authorization": f"Bearer {os.environ['CLAVIS_KEY']}",
"Idempotency-Key": "order-1042",
},
json={"policyId": policy_id, "count": 1, "email": "buyer@example.com"},
)
keys = res.json()["data"]["keys"]
- Token phân quyềnMỗi khoá chỉ làm đúng việc được giao
- Sổ tín dụngTạo key là trừ tín dụng trong cùng một bước
- Webhook có kýMọi sự kiện kèm chữ ký HMAC, tự gửi lại
04 / Cộng đồng bảo mật
Học cách giữ appTừ người đã làm
Cộng đồng và thư viện bảo vệ ứng dụng, chỉ nói chuyện phòng thủ
- 01Mô hình mối đe doạ của một ứng dụng desktop có bản quyềnThư viện · chính thức
- 02Vì sao file chạy không bao giờ giữ được bí mật dùng chungThư viện · chính thức
- 03Phát hiện crack ngoài thực tế: tín hiệu và cách chỉnh ngưỡngThư viện · chính thức
- Bài cộng đồngNgười làm phần mềm chia sẻ cách họ giữ app
- Thư viện chính thứcMười hai bài nền tảng, song ngữ
- Chỉ nội dung phòng thủKhông hướng dẫn crack, không công cụ tấn công
05 / Thư viện tài liệu
Mọi chức năngĐều có hướng dẫn
Từ key đầu tiên tới xoay vòng khoá ký, mỗi chức năng có một bài viết từng bước
- hướng dẫn
- 41
- hướng dẫn
- nhóm chủ đề
- 9
- nhóm chủ đề
- ngôn ngữ
- 2
- ngôn ngữ
- Viết từ chính mã nguồn và được kiểm chéo
- Đường dẫn trong dashboard ghi đúng từng mục
- Ví dụ code chạy được với SDK và Seller API thật
- 01Bắt đầu6Bắt đầu nhanh · Khái niệm cốt lõi · Workspace, thành viên và vai trò · Thử trước khi bán · Giao phần mềm cho khách · Câu hỏi thường gặp
- 02Bắt đầu theo ngôn ngữ11Node.js và Electron · Python · C# và .NET · Unity · C++ · Go · Rust · Java và Kotlin · Thư viện C · Dòng lệnh · Tự viết client
- 03Bản quyền7Tạo và quản lý license · Gói license và quyền tính năng · Chế độ đăng nhập và dùng thử · Người dùng cuối · Thiết bị, HWID và chuyển máy · License offline · Cổng khách hàng
- 04Phát hành1Bản phát hành có ký và cập nhật
- 05Bảo mật7Hai chế độ bảo vệ · Protect 24/7 · Cảnh báo và kênh thông báo · Kiểm soát truy cập · Khoá ký và xoay vòng khoá · Nhật ký hoạt động · Bảo mật tài khoản dashboard
- 06Tích hợp5Hệ thống hoạt động thế nào · SDK JavaScript · SDK C++, C# và Python · Biến ứng dụng · Webhook
- 07Bán hàng2Bán hàng qua Seller API · Đại lý và tín dụng
- 08Gói dịch vụ1Gói Basic, Premium và hạn mức
- 09Cộng đồng1Protect Hub
Bảng giá · hai gói
Bắt đầu miễn phíNâng cấp khi cần
Basic
Đủ để phát hành ứng dụng được bảo vệ đầu tiên
- 2 ứng dụng · 3 máy mỗi key
- Ba chế độ đăng nhập, dùng thử và cổng khách hàng
- Protect 24/7 nhìn lại 1 ngày, cảnh báo qua email
- 500 MB cho bản phát hành có ký
- 2 khoá Seller API · 1 webhook
Premium
Mạnh nhấtHạn mức cao hơn, tự chọn thời hạn offline và nhật ký kiểm toán
- 25 ứng dụng · tới 100 máy mỗi key
- Tự chọn thời hạn offline và nhật ký kiểm toán
- Protect nhìn lại 30 ngày, tự xử lý, Discord và Telegram
- 20 GB cho bản phát hành có ký
- Đại lý trả bằng tín dụng · 25 khoá API · 50 webhook
Câu hỏi
Vài điềunên biết trước
ClavisAUH là gì?
Dịch vụ bản quyền và xác thực cho phần mềm desktop: license key, khoá thiết bị, đăng nhập người dùng và phản hồi có chữ ký. Tất cả quản lý trên một dashboard
Vì sao kẻ crack không làm giả được server?
SDK chỉ tin câu trả lời ký bằng khoá bí mật của ứng dụng. Khoá đó không bao giờ rời server của chúng tôi, nên server giả không ký được và bị từ chối
Trong file chạy của tôi có gì?
Mã ứng dụng và khoá công khai. Không có bí mật nào, vì mỗi thiết bị tự tạo cặp khoá riêng ở lần chạy đầu
Có chạy được khi offline không?
Có. Mọi gói đều có token offline có chữ ký dùng được 7 ngày, ứng dụng tự kiểm tra tại máy. Premium cho bạn chọn bao lâu. License đã thu hồi vẫn có thể chạy offline trong khoảng đó, trừ khi Chế độ chỉ online đang bật
Hỗ trợ những ngôn ngữ nào?
Hiện có JavaScript và TypeScript. Tiếp theo là C++, C# và Python, cùng một giao thức công khai
Gói Basic có miễn phí thật không?
Có. Không giới hạn thời gian, không cần thẻ. Cần nhiều hơn thì lên Premium
Phần mềm của bạnChìa khoá của bạn
Tạo ứng dụng đầu tiên chỉ trong vài phút
Mọi minh hoạ trên trang dùng dữ liệu mẫu và chạy ngay trong trình duyệt