Skip to content

Policy · Workflow · DecisionAll in plain English, 中文, Deutsch

BUILT FOR PRODUCTION

Compiled, not interpreted

Java + GraalVM Truffle. Native Image boots in milliseconds.

Audit-trail by default

Every evaluation hash-chained with SHA-256. Tamper-evident replay.

Open lexicons, bring your own

English, 中文, Deutsch ship today. Add a language with a config file.

🌍 Policies, workflows, decisions — in your own language

Express loan-eligibility checks, approval-gate workflows, routing decisions, and pricing rules in English, Simplified Chinese, or German. Same semantics, same engine. Adding a fourth language is a configuration task, not an engineering one.

🤖 AI drafts. You review.

Built-in LLM assistance generates rule drafts from plain prompts, explains existing rules, and auto-repairs syntax errors. Streaming over SSE, validated before suggested.

⚡ Production-grade execution

Java + GraalVM Truffle interpreter for high-throughput evaluation. Native Image builds boot in milliseconds. P99 latency under 200ms.

🔒 Tamper-evident audit

Every policy evaluation is recorded in the engine's tamper-evident AuditLog, hash-chained with SHA-256. Replay any historical decision deterministically — clocks and UUIDs are controlled at runtime.

🏢 SaaS or self-hosted

Use aster-lang.cloud for managed multi-tenant, or deploy to your own K3S cluster via ArgoCD GitOps. Your data, your jurisdiction.

🧰 Drop-in via REST, GraphQL, or WebSocket

Submit policy source inline or reference a stored policy by ID. Batch evaluate. Stream traces. See Cloud API docs for transports + auth.

Aster Cloud

Run them on Aster Cloud

Policy evaluation, workflow audit logs, and batch decisions — all served over REST, GraphQL, and WebSocket by the hosted engine.

Read Cloud API docs →

Choose your path

👤 I'm a business expert

Compliance officer, risk analyst, or policy author. You want rules in your language, with AI helping you write the first draft.

Start free on CloudRead: CNL Quick Reference

👤 I'm an engineer

You want to write CNL rules and run them. Start in the browser playground; integrate via @aster-cloud/aster-lang-ts. Need a managed engine? Aster Cloud has hosted REST / GraphQL / WS.

Try in PlaygroundBrowser SDK GuideCloud API Docs ↗

👤 I'm an IT decision-maker

You need data sovereignty, GDPR/PII controls, and a clear deployment path. Self-hosted is a first-class option.

Deployment GuideCompliance ResourcesTalk to sales


What is Aster Lang?

Aster Lang is a multi-lingual Controlled Natural Language (CNL) for writing executable business logic — loan-eligibility policies, approval-gate workflows, routing decisions, pricing rules, and anything else where the rule should be readable by humans and runnable by machines.

The language treats policies, workflows, and decisions as first-class concepts: the same syntax expresses an eligibility check, an approval flow, or a routing rule. The engine compiles all three to the same audit-grade execution path.

aster
Module aster.finance.loan.

Define Applicant has creditScore as Int, annualIncome as Int.

Rule evaluateLoanEligibility given applicant as Applicant, produce Text:
  If applicant.creditScore at least 700
    If applicant.annualIncome at least 50000
      Return "approved".
  Return "rejected".

The same rule works in 中文:

aster
模块 aster.finance.loan。

定义 申请人 包含 信用分 as 整数,年收入 as 整数。

规则 evaluateLoanEligibility 给定 申请人 as 申请人,产出 文本:
  如果 申请人.信用分 至少 700
    如果 申请人.年收入 至少 50000
      返回 "已批准"
  返回 "已拒绝"

Both are parsed, type-checked, and executed by the same engine.


Why we built it

Business rules live in three places today:

  1. Buried in code — only engineers can change them; legal can't read them.
  2. In Excel/Word — readable but never executed; drift is guaranteed.
  3. In low-code tools — readable to no one and executable in only one vendor's runtime.

Aster Lang is the fourth option: rules that read like a memo and run like compiled code.


Who's using it

🚧 Customer stories coming soon. Reach out if you'd like to be featured.


Open source & community

Found a bug? Open an issue. Want to add a language? See the lexicon pack guide.

Ready to start writing rules in your own language?

Try the browser playground, then move into the quick start or hosted workflows when you need teams and audit.