Skip to content

What is NPL

NPL, the NOUMENA Protocol Language, is a programming language where authorization is a first-class primitive. Unlike traditional languages where access control is an afterthought or handled externally, NPL bakes it directly into the language and compiler.

At its core, NPL introduces parties — an abstract notion representing users, groups of users, and systems. During development, you only worry about parties; you bind them to actual identities at runtime. This allows for fine-grained, programmable access control. The compiler enforces the explicit presence of these parties, so developers can’t accidentally skip or ignore them. If your code compiles, it complies.

The NPL Runtime

The NPL Runtime is the engine that runs NPL programs. It’s responsible for executing your code securely, with strict guarantees around authorization and data integrity.

Here’s what it offers:

  • Enforced Authorization
    Every interaction is checked against declared access rules at runtime.
  • Transactional Execution
    All operations are fully transactional—either everything succeeds, or nothing does.
  • Auto-Generated REST APIs
    NPL automatically exposes deployed code via REST, so you can integrate without writing boilerplate glue code.
  • Full Audit Logging
    Every state change is logged. You get a complete audit trail by default.
  • Built-in Observability
    Exposes metrics so you can monitor behavior and performance without extra instrumentation.

Why Use NPL

NPL is designed for systems where authorization, auditability, and reliability are not optional.

Key Benefits

  • Security by Design
    Authorization isn’t bolted on — it’s enforced by the type system, compiler, and runtime.
  • Simplicity
    You write less code. The runtime handles APIs, authorization checks, transactions, and observability, so you can focus on the domain and skip the boilerplate.
  • Clarity Domain-oriented code is much easier to understand. NPL’s focus on explicit authorization ensures that security constraints become an integral part of the review process.
  • Safety
    NPL ensures that all interactions are atomic and consistent. If a call fails, no partial changes are made—giving you strong guarantees about application state, even in complex multi-party workflows.
  • Transparency
    Every change is logged automatically. Useful for compliance, debugging, or just knowing who did what, when.
  • AI-Assisted Development
    Because NPL code is domain-focused and free from boilerplate, AI coding tools can generate more accurate and relevant suggestions. And since the compiler requires that authorization is explicit, even AI-generated code must comply with security constraints – ensuring safe, valid output that is easy to review.

When to Consider NPL

NPL shines when you need strong guarantees around identity, authorization, and transactional behavior. A few good fits:

  • Modeling contracts and workflows
    Model and enforce multi-party agreements with strict access rules and full traceability.

  • Implementing regulated processes
    In heavily regulated industries, NPL makes it easy to model and enforce compliance workflows. With explicit authorization, full audit trails, and a clear, domain-focused codebase, the resulting programs are straightforward to review and verify—by developers and auditors alike.

  • Web3/off-chain coordination
    Implement Digital Assets off-chain, so that only the right actors can create, read, modify or transfer sensitive assets. Use NPL to mediate between blockchains and traditional systems – safely and consistently.

Getting Started

Follow the Getting Started Guide for tutorials and setup instructions.