Certificates

SecureCodingHub auto-issues a certificate when you finish every learn scenario and every practice challenge inside a category (Web, API, Mobile, or Client-Side). The certificate is publicly verifiable from a permanent URL and is downloadable as a PDF.

How a certificate is earned

The rule is strict and automatic. You earn the certificate for a category the moment you have:

  • Completed every learn scenario inside that category, and
  • Completed every practice challenge inside that category.

There is no separate "request" step. When the rule fires, a row is created in the database, a permanent certificate number is allocated, and the certificate appears on your profile.

Where to see your certificates

Open your profile and look for the Certificates section. Each issued certificate carries the category, the issue date, the certificate number, and a download button for the PDF version. Categories you have not finished yet are also listed, with a progress indicator showing how much practice and learn content is left for that category.

Public verification

Every certificate number maps to a permanent public URL of the form https://www.securecodinghub.com/verify/<certNumber>. The page is unauthenticated — anyone with the URL can confirm the certificate is real, who it was issued to, which category it covers, and when it was issued. Share it on a CV, a LinkedIn profile, or a hiring conversation.

The verification page does not expose any extra personal data beyond what is needed to confirm the certificate. There is no progress detail, no XP figure, and no leaderboard rank — just the four fields needed to confirm authenticity.

Re-issuing and reset

Certificates are permanent. Re-completing content after the certificate has been issued does not generate a new certificate — the original number stays as your reference. Likewise, if new content is added to a category after you have already earned its certificate, your existing certificate is not invalidated; the new content shows as additional practice you can choose to take, not as a gap.