- Migrate from custom HTTP server to VitePress framework - Rename project to Tokenized License Approval System (TLAS) - Add comprehensive documentation for all stakeholders: - Business: Executive summary, value proposition, governance - Operations: Infrastructure, installation, monitoring, backup - Departments: User guide, workflows, verification, issuance - Developers: API reference, authentication, webhooks, SDKs - Compliance: OWASP, DPDP Act, IT Act, audit framework - Add modern theme with dark mode and full-text search - Update Dockerfile for VitePress build process Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2.0 KiB
2.0 KiB
License Issuance
Issuance Process
When an application reaches final approval:
Final Approval
│
▼
┌─────────────────┐
│ System creates │
│ license record │
└────────┬────────┘
│
▼
┌─────────────────┐
│ NFT minted on │
│ blockchain │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Certificate │
│ generated (PDF) │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Applicant │
│ notified │
└─────────────────┘
Certificate Contents
Each issued certificate includes:
| Field | Description |
|---|---|
| License Number | Unique identifier (GOA/DEPT/YEAR/SERIAL) |
| Holder Name | Legal name of licensee |
| License Type | Category of license |
| Issue Date | Date of issuance |
| Valid Until | Expiration date |
| Issuing Authority | Department name and officer |
| QR Code | Verification link |
| Digital Signature | Cryptographic signature |
Blockchain Record
The NFT token contains:
{
"tokenId": "0x123...",
"licenseNumber": "GOA/TRADE/2026/00001",
"documentHash": "SHA256:abc...",
"issuedAt": 1707500000,
"issuedBy": "0xDeptAddress..."
}
Verification
Anyone can verify a certificate:
- Scan QR code on certificate
- Or visit verification portal
- Enter license number
- System queries blockchain
- Displays verification result
Verification shows:
- Valid/Invalid status
- License details
- Issuance history
- Current status (active/expired/revoked)
Revocation
If a license must be revoked:
- Department admin initiates revocation
- Reason documented
- Blockchain record updated (token burned)
- Certificate marked as revoked
- Holder notified