Trusted Verify Registry v14

QR/hash tự mang theo chỉ chứng minh file khớp với thông tin trong link. Registry v14 xác nhận bản ghi có được server đăng ký thật không, chữ ký HMAC có hợp lệ không, có bị thu hồi/tạm khóa/hết hạn không, và PDF hiện tại có bị sửa so với bản gốc không.

✅ THẬT

Verify ID có trong registry, trạng thái active, chưa hết hạn, server signature hợp lệ, và SHA-256 của PDF tải lên khớp bản ghi gốc.

❌ GIẢ / ĐÃ SỬA

Verify ID có trong registry nhưng SHA-256 của PDF tải lên khác bản gốc. Chỉ cần sửa 1 byte là hash sẽ khác.

⚠️ CẦN FILE

ID có thật nhưng chưa upload PDF hoặc chưa cung cấp SHA-256. Trust score sẽ cảnh báo vì chưa đủ dữ liệu để kết luận.

🚫 THU HỒI / TẠM KHÓA / HẾT HẠN

Bản ghi tồn tại nhưng admin đã revoke/suspend hoặc certificate đã expired. Trang verify sẽ chặn kết luận thật.

Cách hoạt động

  1. App xuất PDF và tính SHA-256 cho file kết quả trong trình duyệt.
  2. Verify System đăng ký Verify ID + SHA-256 + metadata vào data/verify-registry.json qua API Vercel/GitHub.
  3. API ký bản ghi bằng PFSP_VERIFY_SIGNING_SECRET để tạo server signature.
  4. Khi người dùng mở verify.html, trang gọi /api/verify, hiển thị verdict, trust score, checks và timeline.
  5. Người dùng upload PDF cần kiểm tra. Trình duyệt tính SHA-256 tại chỗ, không upload file lên server.

Chức năng v12

Trust Score

API trả trustScore 0-100 và trustLevel dựa trên signature, status, expiry, hash và size.

Batch Verify

Verify nhiều ID/link/certificate một lần bằng POST action=batch-verify.

Bulk Register

Admin đăng ký nhiều record, có dry-run để xem trước và tránh ghi nhầm.

Repair + Re-sign

Admin có thể normalize registry, tạo fingerprint/link còn thiếu và ký lại record khi cần.

Cấu hình backend registry trên Vercel

Trong Vercel → Project Settings → Environment Variables, thêm:

PFSP_VERIFY_SIGNING_SECRET=chuoi_ky_hmac_rieng
PFSP_VERIFY_ADMIN_SECRET=mat_khau_admin_manh
PFSP_PUBLIC_BASE_URL=https://your-domain.example
PFSP_VERIFY_ALLOWED_ORIGINS=https://your-domain.example
PFSP_CORS_ORIGIN=https://your-domain.example
PFSP_GITHUB_TOKEN=github_pat_co_quyen_contents_write
PFSP_GITHUB_OWNER=ten_owner
PFSP_GITHUB_REPO=ten_repo
PFSP_GITHUB_BRANCH=main
PFSP_REGISTRY_PATH=data/verify-registry.json

Nếu chưa cấu hình GitHub token, API vẫn kiểm tra được registry tĩnh, nhưng khi đăng ký sẽ trả về JSON patch để bạn tự commit vào data/verify-registry.json.

Endpoint chính

GET /api/verify?id=PFSP-...&sha256=...&size=...
GET /api/verify?action=self-test
GET /api/verify?action=lookup-hash&sha256=...
GET /api/verify?action=certificate&id=PFSP-...
GET /api/verify?action=portal
GET /api/verify?action=public-search&q=...
GET /api/verify?action=badge&id=PFSP-...
GET /api/verify?action=printable-certificate&id=PFSP-...
POST /api/verify { "action":"batch-verify", "items":[...] }
POST /api/verify { "action":"auto-register", "certificate": {...} }
POST /api/verify { "action":"register", "certificate": {...}, "adminSecret":"..." }
POST /api/verify { "action":"bulk-register", "items":[...], "adminSecret":"..." }
POST /api/verify { "action":"revoke|suspend|restore|set-expiry|repair", "id":"PFSP-...", "adminSecret":"..." }
🛠️

Verify System v14 Enterprise Trust Suite

Bản nâng cấp có trust score, timeline, batch verify, bulk register, hash lookup, certificate export, suspend/restore/revoke/expiry, audit log, backup, repair/re-sign và admin diagnostics.

Mở Trust PortalMở Admin Verify DashboardMở trang verify