Skip to main content

Open Kerno Docs

This is the central documentation for the Open Kerno ecosystem.

It covers the engineering standards, technical decisions, and best practices that all teams follow. If you are new to the project, start here.


What is Open Kerno?

Open Kerno is an open-source platform. It is built and maintained by a distributed engineering team. The goal is to keep the codebase consistent, scalable, and easy to work with — no matter who is contributing.


What is in these docs?

SectionWhat it covers
Engineering StandardsRules for data formats, naming, and system boundaries
GuidesStep-by-step instructions for common tasks
BlogTechnical updates and decisions from the team

Where to start

If you are joining the team, read the engineering standards first. These are the non-negotiable rules that keep the system consistent.

A good first stop is the Phone Number Standards guide — it is a practical example of how we document a technical decision end to end.


How to contribute

All documentation lives in this repository. To suggest a change or add a new page, open a pull request against the main branch.

Keep documentation simple and direct. Write for a B1 English level so it is easy to read for everyone on the team, regardless of their native language.


File reference

Use this table to quickly find any standard document in the docs/ folder.

File PathDescription
docs/intro.mdxThis page. Overview of the project and how to navigate the docs.
docs/phone-number-standards.mdxRules for storing phone numbers using the international E.164 format.
docs/encryption-standards.mdxAllowed and disallowed encryption algorithms for data at rest and in transit.
docs/cors-standards.mdxRules for Cross-Origin Resource Sharing, including how to whitelist trusted origins.
docs/datetime-standards.mdxRules for storing and communicating dates and times using UTC and ISO 8601.
docs/api-design-and-versioning.mdxGuidelines for URL structure, pagination, and mandatory API versioning.
docs/secrets-management.mdxRules for managing credentials and secrets using vault managers.
docs/logging-standards.mdxStandards for structured log format, log levels, and masking personal data.
docs/authentication-and-authorization.mdxProtocols for sessions and third-party integrations such as JWT, OAuth 2.0, and SAML.
docs/error-handling-standards.mdxUnified JSON error response format and rules for hiding internal server details.
docs/identifier-strategy.mdxGuidelines for choosing between UUIDs and auto-incrementing integer IDs.
docs/data-deletion-standards.mdxRules for when to physically delete data (hard delete) or only mark it inactive (soft delete).
docs/quality-gates.mdxMinimum test coverage and static analysis requirements before any production deployment.
docs/currency-and-money-standards.mdxRules for storing monetary values as integers in the smallest currency unit to avoid precision errors.
docs/injection-prevention.mdxStandards for preventing SQL, NoSQL, and command injection using parameterized queries and input validation.
docs/rbac-and-permissions.mdxRules for implementing Role-Based Access Control and the Principle of Least Privilege.
docs/secure-token-storage.mdxRules for storing authentication tokens in secure cookies instead of browser storage.
docs/rate-limiting-standards.mdxStandards for rate limiting and retry restrictions on sensitive endpoints like login and payments.
docs/dependency-versioning.mdxRules for pinning third-party dependencies to fixed versions using lockfiles.
docs/country-and-subdivision-standards.mdxMandatory use of ISO 3166-1 alpha-2 for country codes and ISO 3166-2 for regional subdivisions.
docs/location-and-port-identification.mdxStandards for identifying cities and ports using the UN/LOCODE format in logistics data.
docs/cctld-standards.mdxRules for using official country-code top-level domains for localized routing.
docs/mime-type-standards.mdxRequirements for defining and validating file formats using standard MIME types.
docs/card-pan-standards.mdxStructural rules for credit and debit card Primary Account Numbers before processing or masking.
docs/gtin-barcode-standards.mdxStandards for product barcodes using the 13-digit EAN-13 / GTIN international format.
docs/language-code-standards.mdxMandatory two-letter lowercase ISO 639-1 format for identifying application languages.
docs/locale-standards.mdxRules for identifying regional formatting defaults using the BCP 47 hyphenated format.
docs/cldr-locale-standards.mdxStandards for Unicode CLDR locale format used in internal localization libraries.