PLUGIN INTERNALS
License key format
CodeOn keys are designed to be copyable by humans and cheap to reject before a database lookup. Format validation catches most paste mistakes immediately.
Shape
SMS-A1B2-C3D4-E5F6-G7H8- Prefix
- 2-4 uppercase letters. The default generated prefix is SMS.
- Body
- Four blocks of four characters.
- Alphabet
- A-Z and 2-9. The generator avoids visually confusing 0/O and 1/I.
- Checksum
- The final block is derived from SHA-256 of the prefix plus the first three blocks.
- Regex
^([A-Z]{2,4})-([A-Z2-9]{4})-([A-Z2-9]{4})-([A-Z2-9]{4})-([A-Z2-9]{4})$
Validation algorithm
- Split the key into prefix and four 4-character blocks.
- Reject if the regex does not match.
- Compute SHA-256 over
prefix-block1-block2-block3. - Map the first four hash bytes into the key alphabet.
- Accept only when that generated checksum equals block 4.