Architecture whitepaper

Architecture whitepaper

GembaOS is a zero-trust governance runtime for enterprise AI agents: policy-decided access, single-use clearance tokens bound to exact parameters, and accountable human approvals, running on-premises or in a private VPC. This page is the public reading edition of the GembaOS enterprise architecture whitepaper (document GEMBA-WP-2026-PUB, v1.17.1, 1 October 2026), written for CISOs, CTOs, CIOs, enterprise architects and risk, compliance and audit professionals.

Why do enterprises keep agents out of production?

GembaOS starts from one observation: what keeps agents out of ERP systems, production databases and privileged domains is not the model’s reasoning, but that the existing stack cannot answer four questions a risk committee asks.

  1. Authorization: who authorized each write and each configuration change the agent made?
  2. Accountability: when prompt injection or a hallucination causes a loss, who is the accountable person?
  3. Data boundary: which sensitive fields did the agent read across its turns without authorization?
  4. Evidence: how do we show a regulator or legal audit what was decided, under which rule and by whom, and that the record was not altered afterwards?

Guardrails and system prompts work on text, and an API gateway checks keys and traffic. On their own, none of them expresses the company’s chain of authority for one business act: who may decide it, what exactly was approved, and whether the facts still hold when it runs. While an agent only produced text, the reader carried the risk; once it can call APIs, text-level defenses are not enough: a guardrail that is bypassed exposes every API behind it, and an agent holding a long-lived credential can write beyond its brief while planning on its own.

These questions sit on four layers. Products for AI discovery, runtime gateways and business workflow each cover some of them, and several have approval steps and parameter controls of their own; the table says where GembaOS stands on each.

LayerWhat it answersWhere GembaOS stands
AI asset governanceWhich AI the company uses, its risks, owners and lifecycleThe agent registry covers the agents connected to GembaOS, with an owner and a coverage ladder. It does not scan the company for AI it has not been connected to
Runtime accessWhich models, tools and data an agent may call, and how a call is stoppedThe capability gateway: on-behalf-of permissions, field trimming, the declared ways in. An agent that holds its own credential to a system can go round it, so a connection is not ready to go live until a named person says none does
Business authorization and executionWho decides this act, what exactly was approved, whether the facts still hold when it runs, and what counts as doneWhere GembaOS is built: the signature chain, a single-use clearance bound to the approved arguments and to the approval’s window, the facts re-read before the write, the record read back after it, and a person’s word when a write got no answer
Rule changeWho changed an authority rule, whom it reaches, when it takes effect, how it is withdrawnRule releases with the direction of every change, the organization it reaches, a second person’s approval, an effective date, and the recorded decisions judged again; where the company turns them on, a run on recent real cases first, or a start with part of the cases

What are the architecture principles?

GembaOS assumes no implicit trust: instead of relying on the model’s good behavior, it compiles the company’s authority rules, maker-checker review, separation of duties and regulatory baseline into rules a machine enforces deterministically. These principles run through the runtime.

How does the four-gate engine work?

GembaOS passes every sensitive state change through four gates in order: policy decision, signature chain, single-use clearance, and the preflight reality check.

GateNameWhat it does
1Policy decisionThe policy engine compiles the company’s Delegation of Authority into deterministic pure functions and, from the action type, the amount threshold and the target, decides whether to pass, route to a manager, or block. The same input yields the same decision at any time
2Signature chainThe agent can only be the maker; a business owner is the checker and signs through the company SSO with a WebAuthn passkey. The signature chain records who, when, why and what was seen
3Single-use clearanceAfter approval the gateway issues a short-lived clearance token bound to the hash of the call’s arguments (argsHash): a one-bit change invalidates it, one execution consumes it, and none is issued once the approval’s window to be carried out has passed. It is a record GembaOS keeps and checks, not a token a third party verifies offline
4Preflight reality checkAfter approval the model leaves the call path and the trusted GembaOS governance kernel takes over. Before calling the backend the kernel re-reads the real state (order status, account balance, the branch commit) and compares it with the facts on the approval request; if it has changed, execution stops, the clearance is voided and the work item is returned. After the write, where the system can be read back, GembaOS checks that it shows what was approved; a write that got no answer is never run again until the record or a named person says whether it ran

What happens when the approver is away, or someone else should decide?

GembaOS records the human routes around a pending approval request as governed actions (consult, transfer, escalate, take over), each with a reason on the record, over an org chart imported from the company’s own directory.

ActionWhoWhat changes
ConsultAccountable owner / Current handlerAnother role reviews first, for example the finance manager asks legal to read the contract terms; the person’s own signature still follows
TransferAccountable owner / Current handlerThe signature moves to another role, never to a role with less authority in the Delegation of Authority
EscalateAccountable owner / Current handlerThe request goes to their superior; they keep read access only
Take overA superiorThe superior takes a request waiting on someone who reports to them

How does a case that takes weeks end as one approval?

A claim can run for weeks, gather a dozen files and pass through claims, medical review and legal. GembaOS keeps such a case on the work item, not on the approval request.

Can a business start with no agent in it?

Yes, and it is not a separate mode. Every step of a playbook names who does it - a person, the AI, GembaOS itself, or a rule the company confirmed - with a default. The AI is one of the actors a step may name, not the premise of the playbook.

The reference company ships a business with nobody but people in it - the contract sealing desk: legal reads the contract and writes the brief, the operations lead and the finance director sign, legal applies the seal by hand and reports the seal register number, GembaOS reads the register back. Handing one step to an agent later is one release on the same playbook. GembaOS is not a replacement for a workflow tool: what it sells is the four gates and the record, and people were always one of the actors in them.

How are data, artifacts and the audit record governed?

GembaOS labels every record with a classification, a business domain and a data residency, and keeps every event of a work item in an append-only hash chain.

How do existing systems and existing agents connect?

GembaOS wraps existing systems as governed capabilities through modular adapters, so nothing is rewritten, and interoperates with existing assistants and agent frameworks through MCP in both directions.

System typeHow it connects
Modern APIs and SaaSAn interface contract drafted from the OpenAPI specification; credentials held at the gateway
Legacy financial and core systemsSOAP, XML and fixed-length message adapters; the raw message is hashed into evidence
DatabasesOnly restricted read-only views and an allow-list of parameterized stored procedures
File batchesFixed-layout files on a shared drive, a file gateway or an SFTP mount: generate, approve, deliver and reconcile the receipt
Legacy clients without an APIAn isolated worker over pinned mutual TLS; a dropped connection voids the clearance

A reference playbook for an online marketplace shows the pattern on a price. The depth of the change decides who signs: a small adjustment goes through on its own (the approval request is still on record), a discount down to a fifth off needs the person who runs the storefront, and anything deeper also the person who answers for the money. The offer is read again before the price is written; if a repricer moved it after the signature, the request goes back.

Can we start before the SOPs are written?

The GembaOS Gap Register lets a company start safely without a complete set of procedures: when an agent meets an undefined procedure or boundary, it reports the gap and does not overstep.

  1. The agent hits an undefined procedure or boundary, records the gap with a proposed draft, and does not guess.
  2. The register merges gaps of the same kind and routes them, on a schedule, to the desk of the responsible owner.
  3. The owner reviews on the review desk with a passkey; an approved procedure enters the governed knowledge library and the gap closes.

In daily operation the agents thereby turn the company’s scattered tacit knowledge into structured, compliant assets.

Can we describe how the company works instead of writing the configuration?

Yes. You can design the rules yourself beforehand (write the configuration files directly, or hand the built-in documentation to an outside coding assistant), describe in your own words how the company works to the organization architect, or show the work once in a declared browser application. All three lead to a rule release draft that goes through the same check and a second person’s approval. A demonstration is an observation, not a company rule: its owner must confirm the exact wording before it can support a draft. The browser recorder is a prototype and does not replay clicks.

  1. It starts empty. A new company carries only GembaOS’s own safety floor and the language packs. Approvers, accountable people and the authority matrix all start blank; nothing is prefilled with a value the customer would later discover was ours. The setup checklist works out the next step from the configuration as it stands.
  2. Every change carries your words. The architect reads the built-in documents and the live configuration, then drafts. Every file the draft changes needs a fact that quotes the administrator verbatim; GembaOS checks the quote really is something the administrator wrote and drafts nothing otherwise. An effective date needs your words too.
  3. The check runs at once. The draft is compiled on the spot: the version bump, what is looser than before, the organization changes (approvers, teams, the authority matrix, what each role may use, who sees which data) and what they reach, line by line.
  4. A person still approves. The architect cannot publish, and cannot change its own model settings or the administrator’s settings. The administrator submits the draft and a second person approves it. A release can take effect on a date: approved beforehand, published by GembaOS on the day.
  5. It is refined step by step. Each later addition (a fraud team, keeping payment data from support staff, a higher automatic limit from next month) is a new draft, with its differences and their direction listed the same way.

A scenario suite goes with it: what the administrator said, the architect’s answers (recorded from a real model, or deliberately misbehaving red-team answers) and the properties the draft must have. The properties are read off GembaOS’s actual compile of the draft, never off the model’s description, and the suite reruns offline.

Can the people who do the work show it instead of writing it down?

Yes, for work done in a web application. Beside writing the rules and describing them, GembaOS has a third starting point: an employee does the task once, the way they normally would, and GembaOS helps turn it into rules that someone answers for. Watching work and drafting a process from it is familiar ground. What GembaOS builds is the part after the recording: a demonstration never becomes a rule by itself, it needs the person who answers for that rule, and it reaches the running company only as a rule release draft that takes the same check and a second person’s approval as any other. The note Show the work once follows it on the reference order screens.

  1. The company declares what may be recorded. The employee chooses “Show how I do this” in the console, names the task and picks the applications to record from the list the company declared; they cannot add one. The company can also name fields that are never recorded. GembaOS issues a recording code that works once and lapses after two hours.
  2. The recorder sees and cannot act. A browser extension records, on the chosen applications’ pages only, what the person does on screen: the page, what it shows under its labels, the controls used and the values entered. Password fields and fields a page marks as card data or one-time codes are never recorded; nor are cookies, stored browser data, network traffic or the clipboard. It has no ability to click, type or navigate. Leaving the chosen applications, or pausing, leaves a marked gap and no content. The person reviews every step, deletes any, and sends or discards; nothing leaves the browser before then. On arrival GembaOS holds the recording to the company’s declaration again instead of trusting the recorder.
  3. A recording says what the screen showed. It is kept as an observation, with its hash, and does not claim the system did anything: a page saying “submitted” is not a settled payment. The recording is stored beside the work item’s chain, not in it; the chain keeps where it came from, when, the counts and the hash. After sending, the person can take a recording back; the drafts read from it go too, and rules already confirmed stay. The company can set a number of days after which recordings are deleted; the default is until the person takes them back.
  4. “My understanding of the workflow”. The employee’s assistant reads the recording as data and proposes business steps, each resting on recorded steps, candidate rules with what is still unknown, and at most three questions, those about a wrong payment and about who decides first. GembaOS drops whatever points at nothing recorded, marks every step that writes to another system as staying with a person until that system is connected, counts the numbers the page shows, and treats a rule as explained only when it quotes the person’s own answer. “I don’t know” and “that was a one-off” are answers. The assistant receives only what the company’s data ceiling and the model’s approved data allow. With no model connected, a stand-in splits the steps by screen and says so, and the person writes the steps and rules.
  5. A rule belongs to its owner, not to the demonstrator. Rules stay candidates until confirmed. The company can name, for each application, the position that answers for its rules (the CS supervisor for refunds, say); otherwise the demonstrator’s line manager confirms. Nobody confirms a rule taught from their own demonstration. A confirmation holds for the exact words: reword a rule and it is unconfirmed again. When an owner takes a confirmation back, a release draft resting on the rule can be neither approved nor published.
  6. From confirmed rules to a release draft. The organization architect can be given a record’s confirmed rules, together with what was still unknown when they were confirmed and what the record leaves open, and quote them as the basis of a draft. The approver sees “a rule a manager confirmed on a demonstration” with the confirmer’s name and position. The assistant also says where each taught step lands: an operation the company has, a signature, a confirmed rule, a system not yet connected, or the person. GembaOS accepts only a landing that fits. A step that changes a system lands only on an operation that goes through an approval route, so a taught write never runs without signatures; everything else stays with the person, with the reason.
  7. What the approver sees. The release page draws each route the change moves, before and after. It can run the declared cases of the changed businesses on the draft’s own files in a runtime that cannot reach a live system: the model is a scripted stand-in and every outside system answers from test data. It takes cases from a second person who neither drafted the release nor demonstrated the work, judged on the candidate’s rules and the live rules side by side, with a table of which situations the rules’ conditions divide (below, at and above a limit; a flag raised or not) those cases reach and which they do not. A case given before the files changed no longer counts as unseen. A second person approves; GembaOS publishes.
  8. Several people can demonstrate one task. Whoever opens the record names up to ten colleagues. Each records under their own code and takes back only their own recordings. The assistant is told “person 1, person 2”, never who, because a difference between recordings may be one person’s habit. None of them confirms the rules or gives the held-out cases.

What it does not do yet. Teaching covers applications that run in a browser; the recorder is a prototype browser extension, and desktop applications are not recorded. A demonstration is an employee’s experience, not authority: one recording does not become a company rule, and what a person could do in a system never becomes permission for anyone else. Nothing replays the person’s clicks; writes stay with a person until that system is connected as a governed operation, and having an agent carry out a taught step is outside this. Recordings are held in the company’s own storage with restricted file permissions; A company can also have GembaOS seal those files under a key it holds itself (a setting that is off until it is set; the key is not kept with the data). Encryption at rest of everything else is the company’s disk encryption. The trial run exercises GembaOS’s decisions, not a model’s reading, and the held-out cases cover the conditions written in the rules; currency, an earlier refund and a duplicate submission remain for the declared cases. What has already been sent to a model provider follows that provider’s retention terms.

How does a manager run this day to day?

The four gates answer “may this act happen”. A manager also has to answer, every week, what agents the company has, what they are wired to, what a rule change would do, where the risk sits and how old the credentials are. GembaOS gives a console page for each of those questions, each derived from the configuration and the record rather than kept as a list, and none of them rounds a number up. The note What the manager sees walks six of them with pictures.

PageWhat it answersWhat a person adds
Employee entry and receiptAn employee explains what they need done, over several messages if it takes that. An assistant proposes which of the businesses they may start it is, and the task in their words; GembaOS checks the proposal against what they may start and against what they actually wrote, and nothing starts until the employee hands it over. The receipt names the business, the ticket, the handler and the next step, and the conversation goes onto the work item’s record. During the conversation the assistant may read only what the employee may read, and only what its model is approved to receive; each read is recorded. For anything more, the employee asks the data’s owner, whose signed grant covers that conversation only. A matter no business covers can be reported to the gap register, with the employee’s manager told. The same request twice is the same receiptNothing
Governance overview and evidence packCoverage and owners, exceptions waiting, approvals waiting on a person, what ran without a signature and whether it was sampled, rule changes waiting for review, executions the system did not confirm by reading the record back; an evidence pack by window and scope with every control marked as shipped, customer-configured, missing or confirmed by a named personA named confirmation on a control
Agent registryOne row per agent the company answers for, with an owner and where that name comes from, and a coverage ladder (registered, observed, partly governed, enforced) read off the packs and the gatewayA claimed owner
Rule releasesA change to playbooks and instructions as one bundle; the check stages a copy, requires a version bump, lists what gets looser or stricter, and judges the recorded decisions again under the new rule without re-sending anything - a fact the new rule adds is worked out again from each case’s own record as it stood, and a case whose record cannot give it is listed as not comparable instead of counted as changed; a second person approves; in-flight rules are explicit; a rollback is a reverse release with a reason and undoes no effect. Two options the administrator may turn on, both off by default: hand the recent closed cases to the bound model again on the draft, every read answered from what the case itself read and nothing written, sent or carried out, with the act each run proposes beside the act the case took (the case content goes to the model provider again and is paid for, and one run of a model is not a statistic); and put a release in force for part of the cases first, by a share of applicants or by teams and departments, each new work item placed on one version when it starts and kept there, the two groups side by side over the same period, wider only through another release a second person approves, narrower or withdrawn directly with a reasonThe draft, the approval, whether to turn on the two options
Sampled decisions and outcomesDecisions nobody signed are drawn by a hash and put to the position that owns them, showing only what the decision had in front of it: would they have agreed, would they not, or can they not judge, with a reason from the playbook’s list when they would not. After a case closes, the playbook may name what to look at - a field read some days later, the same subject coming back, or a value a named position enters - and what is not yet due or cannot be read stays unknown. Questions across cases go through read-only operations, grouped by business and never by person or customer, counting only what the person asking may read, below the company’s own smallest count nothing is shown, and every answer says what it cannot seeThe answers, the smallest count
Signed exceptions as rule candidatesThe decisions the rules sent to a person are counted across cases too: by business and band, then by the features the playbook declares (facts, arguments declared as a choice or yes/no, risk flags), with how many were approved, rejected, returned or expired; amounts and scores only as a range. Each feature says whether the band’s condition reads it, read off the rule itself rather than judged by a model, so supervisors approving nearly every refund that comes with a photo, under a rule that never looks at attachments, shows up as a group. A business review may put forward up to three candidates, looser or stricter, naming the group and what it does not know; the platform checks the group came from that read, was not hidden for being small and is not already read by the rule, and copies the numbers in itself. The business’s accountable position confirms or passes, and can take a confirmation back. A confirmed candidate changes no rule; the organization architect may quote it as the basis of a draft that is still re-judged and approved by a second personConfirming a candidate
Band share and pausesEach route’s share of acts nobody signed, the last window beside the one before; a move past the playbook’s margin opens a row for the business owner and changes nothing. A band’s condition may read two facts off the register - recent “would not” answers and unresolved drift rows - so the rule the company released says when its automatic band stops and when it resumes; in the reference refund, two such answers in 30 days send small refunds to the customer-service supervisor. A reviewer’s answer can close a band, never open oneThe margin, the condition
Who does what on each bandThe route map reads each band as who prepares, who decides and who carries it out, off the route itself, with no separate “level of automation” setting; a step people run can be handed back to AI on the guided-change form with an instruction file the configuration already holds, and the signers stay as they areThe hand-over, as a draft
Guided changeA form over one playbook’s business knobs, read off its own file: the limits in each band’s condition, who signs each band, whether a band signs itself, who is told, which flags force a person, the data ceiling and domains, the assurance sample. Its only output is a release draft that takes the same check and second approval; a condition the form cannot read stays as text and gets no numberThe edits, as a draft
Risk register and red teamEach playbook’s data, impact, exposure and human review, read off its declarations; the tier by a fixed table with the controls it expects; a named review pins the profile; the red team as a register with route, owner, reproduction and refusal per case, fixes under a name and retestsA review, a fix
ConnectionsEvery outside system by its link material (variable names, set or not, never a value), health from the record, scope granted by the playbooks, the contract watch; credential fingerprints and their rotation dates; identity revocations off the admin audit logNothing
CostWhat the agents cost, read off the same chains and priced by the tenant’s own versioned price book: model turns by playbook, model, owner and day; vendor calls the book meters; a person’s stamps as an estimate marked as one and never counted against a budget; a model without a price shown as unpriced, never zero; monthly budgets on the business clockThe price book, the budgets
ModelsEach model profile declares what it is approved to receive (the highest data level and the domains); a playbook that reaches beyond it cannot bind the profile, at boot or from the console, and a standby must be approved for at least what its primary is; the register shows per profile who binds it, what it answered, what it answered as a standby and for whom, and every rebinding under a nameThe declaration, a rebinding
Operators and service identitiesConsole powers split into four roles: administrator (the deployment and the people), release approver (the second signature on a rule, which the administrator does not hold by default), operator (the day’s work) and auditor (read only); roles come from the identity provider binding, the shared token is a bootstrap identity the tenant narrows or turns off, refusals and every binding, mode and reset entry name the hand; each registered agent has a status and a review day, a retired registration’s identity is refused at the gateway even with the right credential, and reviews are recorded under a name with the next due dayThe binding, a review
Write operations and go-liveFor every production write a playbook grants, a sheet read off the configuration answers six questions: who calls it (roles, the accountable person, who runs it, under whose credential), what may be read, when a person signs (the decision, each band’s stamps, the signals that always need a person, how many people the authority matrix requires), how the approved arguments are bound (a single-use clearance token, what is re-read before the write, the ranges, who fills the idempotency key), what happens on each kind of failure, and what the target system itself supports (version or conditional writes, read-back, a duplicate marker); a question the configuration leaves blank is shown as a gap and a limit of the target system as a note, never as a capability. Each connection also carries a go-live checklist (variables set, real system answering, vendor contract watched, a call on the record, a playbook grant, an accountable person on every writing playbook, no gaps on the sheets, a named person saying nothing writes to the system except through GembaOS, a rotation policy, egress declared), every line read off the configuration and the record, none ticked on the pageThe sheet, the checklist

What does the company do when a rule outside it changes?

A regulation, a group policy, a supplier’s terms, a price list: when a text published outside the company changes, the question is not what changed but which of our businesses it reaches, whether it applies, and who changes what. GembaOS answers it with a few general pieces, and any outside text goes through them the same way.

The reference tenant’s regulation and policy change review is such a playbook: it has no code of its own, only configuration and its words in four languages. For a group policy or a price list, another playbook is written.

How do the controls map to compliance frameworks?

GembaOS maps the control requirements of the main cybersecurity, AI and financial-regulation frameworks to the mechanisms it has built; the mapping is our own assessment and has not been reviewed by an audit firm. As of 1 October 2026 GembaOS holds no SOC 2, ISO 27001 or ISO 42001 certification. We provide the design and the test evidence; the assessment is the company’s and its auditors’.

FrameworkControl requirementGembaOS mechanism
NIST AI RMF 1.0AI accountability, threat mapping, risk measurement, emergency interventionOn-behalf-of delegation, playbook boundaries, golden regression, atomic clearance interruption
NIST SP 800-207Zero trust: dynamic session authorization, least privilege, continuous monitoringAgents hold no backend credentials; each governed write needs its own short-lived single-use clearance; append-only hash-chained audit log
OWASP Top 10 for LLMPrompt injection (LLM01), information disclosure (LLM02), excessive agency (LLM06)External content treated as labeled data, field-level trimming at the gateway, four hard gates, kernel-side execution
SOC 2 Trust Services Criteria (control reference, not a certification)Logical access (CC6.1), boundary protection (CC6.6), security incident management (CC7.2)Private or on-premises deployment, separation of duties, hash-chained audit record, detection and recording of suspicious input
HKMA GenAI circular, SPM TM-E-1Meaningful human involvement and a full audit trail for high-risk financial operationsMaker-checker signature chain, WebAuthn passkey signatures, recorded decisions re-run against the policy
Hong Kong PDPOAccess, erasure and localityExport of a data subject’s work items and events; a signed erasure record on deletion, refused while a legal hold stands; a residency label on every record
Japan FISC security guidelinesAccess control, two-factor privileged operations, long-term tamper-proof log storageEnforced separation of duties, approver and operator separation, configurable retention (kept forever by default), logs placed on WORM media of the company’s choice

How does the six-week pilot run?

GembaOS proves business value on a standard six-week path with the least organizational friction; this is the design partner program.

WeekWhat happens
1 to 2Connect the company SSO and import the directory; choose the first scenario (an IT service desk or code review is recommended); write down and confirm the authority table
3 to 4Connect two or three target systems; run the 20 red-team cases (prompt injection, parameter tampering, privilege escalation, credential exfiltration); open the Gap Register and settle the first procedures
5Shadow mode: agents run in production while every sensitive action is signed by an owner, proving the clearance and the reality check
6Tiered release: low-risk actions pass automatically step by step; the first weekly governance and audit report is produced and the pilot is delivered

How do the terms line up across languages?

GembaOS uses one set of core terms in its console, its policies and its documents in every language; the glossary defines each term once.

Core conceptTraditional Chinese (HK)EnglishJapanese
WorkItem工單Work Item作業票
ApprovalRequest審批單Approval Request稟議書
SignatureChain簽署鏈Signature Chain押印チェーン
AuthorityMatrix授權表(DOA)Delegation of Authority職務権限規程
ClearanceToken單次放行令Clearance Tokenワンタイム許可証
PreflightAssertion執行前現狀核對Preflight check実行前現況照合
GapRegister缺口登記冊Gap Register不足台帳
KnowledgeReview規程審定Knowledge Review規程審定
Desk管理桌面Governance Desk私の机
Capability受治業務能力Governed Capability統制対象機能
Artifact業務產出物Governed Artifact業務成果物
Consult / Transfer / Escalate / Take over會簽 / 移交 / 上報 / 接管Consult / Transfer / Escalate / Take over回付 / 移送 / 上申 / 引き取り
TeamDesk團隊桌面Team Deskチームの机
TeachingRecord示範記錄Demonstration Record実演記録

Related: security and deployment, the glossary, the FAQ.

Last updated: · GembaOS v0.2