AI Act Desk

Technical description

Node 20+, zero dependencies. The questions, the classification and the controls are plain JavaScript (`assess.mjs`), evidence is read from a JSONL audit log (`evidence.mjs`), and the web layer (`server.mjs`, `form.mjs`, `report-html.mjs`) only renders the same result the CLI already produces.

How to run it

node src/cli.mjs serve                       # HTTP (PORT, default 8799)
node src/cli.mjs assess --file sample/answers.json --audit sample/audit.jsonl --out report.md
node src/cli.mjs init --out answers.json     # empty questionnaire
node _qa/desk.mjs                            # 5/5 checks

API

methodpathwhat it does
GET/watchthe questionnaire (SR)
GET/watch/enthe questionnaire (EN)
GET/watch/samplea filled example report
POST/assessruns the assessment and returns the report page
GET/report.md?d=the same report as Markdown (base64url answers)
GET/healthliveness
GET/metricshow many assessments ran, by level

Data

Limits — what this demo does not do

How it is deployed

One Node process behind nginx, a systemd unit, Let’s Encrypt. Recipe: E:\poslovi\DEMO-REGISTAR.md.

The demo cannot spend money and does not keep anyone’s answers: the assessment is plain JavaScript, with no model and no network calls.