Zum Inhalt springen
AetherOS und die zehn Apps werden noch gebaut. Zu haben sind bisher nur Schriften, Emojis und Farben – Apps geplant für Sommer 2027. Was noch kommt
.aero

Das Aerona App-Format

Jede App, die man in AetherOS nachträglich installiert, kommt als .aero-Datei – ein Format, das Aerona selbst entwickelt hat. Eine Datei beschreibt eine komplette App und bringt ihren Inhalt gleich mit: keine Abhängigkeiten, nichts wird nachgeladen. Der Grund dahinter: Eine App, die aus genau einer lesbaren Datei besteht, lässt sich prüfen, bevor sie läuft – und nach dem Prüfen kann nichts mehr dazukommen. Die vierzehn fest eingebauten Programme gehören zum System und sind keine .aero-Dateien. Stand 23.09.2026 gibt es fünf Beispiel-Apps und mit Horizon Audio eine echte App im Format; die Tabelle unter „Fünf Beispiele“ nennt sie alle.

Aerona wird ausschließlich von Aerona entwickelt Das .aero-Format steht nicht für Dritte offen. Apps und Spiele für AetherOS entstehen allein bei Aerona – keine fremden Entwickler, keine fremden Firmen, keine Einreichungen. Genau das hält das Ökosystem sicher und aus einem Guss: Signieren kann nur, wer den privaten Schlüssel hat, und der bleibt bei Aerona und kommt nie ins System. Diese Seite beschreibt das Format, weil Transparenz dazugehört – nicht als Einladung, selbst welche zu bauen.

Wie eine .aero-Datei aufgebaut ist

Im Kern ist es ein JSON-Dokument – reiner Text, den man mit jedem Editor öffnen und lesen kann. Es sagt dem System, wie die App heißt, wie sie aussieht und was sie anzeigt. Beim Öffnen läuft sie abgeschottet in einer eigenen Kapsel – ohne Zugriff auf das Betriebssystem oder andere Apps. Dass die Datei lesbar bleibt, ist Absicht: Deshalb stecken sogar Bilder als Text darin und nicht in einem gepackten Behälter (mehr dazu unter „Was noch kommt“).

willkommen.aero
{
  "format": "aerona-app",
  "formatVersion": 1,
  "id": "com.aerona.willkommen",
  "name": "Aerona Willkommen",
  "version": "1.0.0",
  "author": "Aerona",
  "accent": "#3b82f6",
  "permissions": [],
  "entry": {
    "type": "html",
    "html": "<h1>Hallo Aerona!</h1>"
  }
}

Gekürzt: Die echte Datei trägt dazu eine Beschreibung, ein Symbol als SVG in einer einzigen Zeile, im Feld html eine ganze Seite – und in der signierten Fassung am Ende das Feld signature.

Das Beispiel ist ein Paket nach Version 1: Die ganze Seite steckt in einem einzigen Feld. Ein Paket nach Version 2 bringt mehrere Dateien mit und nennt die, mit der es startet. Jede Datei steht als Text im Manifest, die Datei bleibt also lesbar.

Version 2 – nur der Teil „entry“
"entry": {
  "type": "html",
  "main": "index.html",
  "files": {
    "index.html": "<!doctype html>…",
    "app.js": "…",
    "style.css": "…"
  }
}

Pflichtfelder

format
Muss "aerona-app" sein – daran erkennt das System die Datei. Steht dort etwas anderes, lehnt AetherOS die Datei schon beim Einlesen ab, bevor irgendetwas davon angezeigt wird.
formatVersion
1 für eine einzelne Datei, 2 für ein Paket aus mehreren Dateien. Einen anderen Wert kennt das System nicht und lehnt ihn ab. Bisher ist nur Horizon Audio ein Paket nach Version 2, alle fünf Beispiele sind Version 1.
id
Eindeutige Kennung, z. B. com.aerona.notiz: Buchstaben und Ziffern, durch Punkte getrennt. Unter dieser Kennung legt das System die App ab, und auch ihr eigener Speicher hängt daran. Wer eine App mit derselben Kennung noch einmal installiert, ersetzt die alte Fassung, statt eine zweite daneben zu legen.
name
Anzeigename der App, höchstens 60 Zeichen. Unter diesem Namen steht die App in der Verwaltung „Aerona Apps“, und auch ihre Benachrichtigungen erscheinen unter ihm. Was länger ist, lehnt das System ab, damit Karten und Titelleisten lesbar bleiben.
version
Versionsnummer im Format X.Y.Z, also drei Zahlen mit Punkten, wie 1.0.0 im Beispiel oben. Eine Angabe wie „1.0“ oder „neu“ besteht die Prüfung nicht. Auf der Karte der App steht die Nummer vor dem Namen des Urhebers.
entry
Der Inhalt: bei Version 1 direkt als html, bei Version 2 als Dateiliste mit main. Version 1 passt für kleine Apps, bei denen eine Seite reicht; Version 2 für alles, was Skript und Stil lieber in eigenen Dateien hat. In beiden Fällen steht jede Datei als Text im Manifest.

Optional

author
Wer die App gemacht hat. Bei allen Beispielen steht hier „Aerona“, und auf der Karte der App erscheint es neben der Versionsnummer. Ein Beweis für die Herkunft ist dieses Feld nicht – das ist erst die Signatur.
description
Kurze Beschreibung für die App-Verwaltung. Sie steht auf der Karte der App im Fenster „Aerona Apps“, damit man vor dem Start weiß, was einen erwartet. Fehlt sie, bleibt die Zeile einfach leer.
accent
Akzentfarbe der App, z. B. #3b82f6. Mit ihr färbt das System die Titelleiste des App-Fensters. Ist die Angabe keine gültige Farbe, nimmt es dieses Blau als Vorgabe.
icon
Symbol der App als eingebettetes SVG. Es ist das Einzige, was außerhalb der Kapsel gezeichnet wird – deshalb gelten dafür eigene, strenge Regeln. Welche, steht unten bei „Die Absicherung, genauer“ unter Punkt 4.
permissions
Was die App darf: storage, notifications, clipboard, fullscreen, network, gamepad, pointerlock. Was jedes Recht freischaltet, steht weiter unten. Eine leere Liste wie bei „Aerona Willkommen“ heißt: Die App darf nichts davon.
type
app (die Vorgabe) oder game. Ein Spiel bekommt nur einen passenderen Rahmen, sonst gilt alles wie bei einer App: dieselbe Kapsel, dieselbe Inhaltsregel, dieselben Rechte. Gamepad, Vollbild und „Maus fangen“ muss auch ein Spiel eigens anfordern.
signature
Die Signatur von Aerona, als Text in base64. Mit ihr zeigt das System „Verifiziert“. Sie entsteht mit dem Werkzeug aerona-sign.js – wie, steht unten unter „Wie eine App signiert wird“.

Wie Apps abgesichert sind

Kapselung Jede App läuft in einer Sandbox ohne Zugriff nach außen – weder auf das System noch auf andere Apps. Technisch ist das ein Rahmen ohne eigene Herkunft, der an den Speicher des Systems nicht herankommt, auch nicht aus Versehen. Die Einzelheiten stehen unten bei „Die Absicherung, genauer“.
Kein externer Abruf Der Inhalt wird direkt eingebettet, nicht aus dem Netz nachgeladen. Was in der Datei steht, ist also alles, was die App mitbringt – nach dem Prüfen kann sich nichts mehr dazuladen. Ins Netz kommt nur eine App mit dem Recht network, und auch dann nur über https:.
Strenge Prüfung Ungültige oder zu große Dateien lehnt das System ab, bevor etwas ausgeführt wird. Geprüft wird beim Einlesen und vor jedem Start noch einmal, weil der Speicher inzwischen verändert worden sein könnte. Welche Grenzen gelten, steht in der Tabelle „Die Grenzen in Zahlen“.
Nur Aerona als Herkunft Eine App von Aerona kann eine Signatur tragen – daran erkennt das System, dass sie dazugehört. Signiert sind bisher zwei der sechs Apps im Format: Aerona Willkommen und die Klangprobe. Beide stehen im Store-Katalog von AetherOS.

Das Häkchen „Verifiziert“

Signiert werden Apps ausschließlich von Aerona selbst. Das System prüft die Signatur gegen einen fest eingebauten öffentlichen Schlüssel – so ist technisch nachweisbar, dass eine App wirklich von Aerona stammt. Gerechnet wird nach ECDSA P-256 mit SHA-256; schon ein geändertes Zeichen im Manifest lässt die Prüfung scheitern. Was diese Prüfung nicht besteht, gehört nicht ins Ökosystem.

Was schon geht

Vier Dinge standen hier lange unter „kommt noch“. Seit dem 25.07.2026 sind sie im AetherOS-Code gebaut:

Pakete mit Beigaben Bilder, Schriften, Töne und Videos liegen als data:-Adresse im Feld assets des Manifests – nach Version 1 wie nach Version 2, zusammen höchstens 4.000.000 Zeichen. Nachgeladen wird nichts. Die Bildergalerie ist ein Paket nach Version 1 mit vier Beigaben.
Die Rechte-Brücke Über window.aerona fragt eine App beim System an. Beantwortet wird nur, was in ihrer Rechteliste steht. Fehlt das Recht, kommt eine Absage mit Grund zurück.
Nur verifizierte Apps Im Fenster „Aerona Apps“ gibt es den Schalter „Nur von Aerona signierte Apps zulassen“. Ist er an, lässt sich nichts Unsigniertes installieren oder starten. Beim Start wird die Signatur noch einmal nachgerechnet. Ab Werk ist der Schalter aus. Seit dem 8. September 2026 steht er auch in den Einstellungen unter Apps – mit demselben Speicherplatz, man findet ihn also dort, wo man ihn sucht.
Das Spiele-Profil Mit "type": "game" öffnet das Fenster mit 960 × 600 statt 720 × 520 und bekommt einen dunklen, ruhigen Rahmen. Gamepad, Vollbild und „Maus fangen“ bleiben Rechte, die das Spiel anfordern muss.

Was eine App darf

Eine App sitzt in ihrer Kapsel und kommt an nichts heran. Jedes Recht öffnet genau eine Tür. Die Rechte einer App stehen sichtbar auf ihrer Karte, man sieht sie also vor dem Start.

storage
Ein eigener Speicher, höchstens 100 KB je App. Andere Apps kommen nicht heran. Wird die App entfernt, gehen die Daten mit.
notifications
Eine Benachrichtigung des Systems unter dem Namen der App, höchstens alle 3 Sekunden eine. Der Name kommt aus dem Manifest, nicht aus der Nachricht – eine App kann sich also nicht als eine andere ausgeben. Der Abstand verhindert, dass eine App den Bildschirm mit Hinweisen zuschüttet.
clipboard
In die Zwischenablage schreiben. Lesen gibt es mit Absicht nicht, sonst könnte eine App unbemerkt Passwörter mitnehmen.
fullscreen
Die App darf auf Vollbild schalten. Freigeschaltet wird das am Rahmen der App, bevor ihr Inhalt lädt – nachträglich ließe es sich nicht mehr setzen. Aerona Prall fordert dieses Recht an.
gamepad
Die App darf einen Controller lesen. Auch das wird am Rahmen freigeschaltet, bevor der Inhalt lädt, und braucht danach keine Brücke mehr. Ohne das Recht bleibt ein angeschlossener Controller für die App unsichtbar.
pointerlock
Die App darf die Maus fangen, wie es Spiele brauchen: Der Zeiger verschwindet, und jede Bewegung geht an die App. Das ist ein Recht der Kapsel selbst und wird vor dem Laden gesetzt. Es steht wie jedes andere auf der Karte, damit man vorher weiß, dass eine App das tut.
network
Die App darf Dinge über https: laden und senden. Ohne dieses Recht ist jede Verbindung nach außen gesperrt – die Inhaltsregel lässt dann weder etwas hinaus noch herein. Keine der fünf Beispiel-Apps und auch Horizon Audio braucht es.

Die Absicherung, genauer

Die vier Punkte oben in der ausführlichen Fassung. Das Sicherheitsmodell hat acht:

1. Kapsel Jede App läuft in einem abgeschotteten Rahmen ohne eigene Herkunft. Weil ihr die Herkunft fehlt, erkennt das System eine App nicht an einer Adresse, sondern an ihrem eigenen Fenster – das lässt sich von außen nicht nachmachen.
2. Nichts aus dem Netz Der Inhalt wird direkt eingesetzt, ohne Adresse und ohne Verweis auf die Herkunft. Es gibt also keinen Server, bei dem die App beim Start nachfragen müsste – sie läuft auch ganz ohne Netz.
3. Strenge Inhaltsregel Jedes App-Fenster bekommt als Erstes eine Regel, die alles verbietet, was nicht ausdrücklich erlaubt ist. Ohne das Recht network geht nichts hinaus und nichts herein.
4. Gesäubertes Symbol Das Symbol ist das Einzige, was außerhalb der Kapsel erscheint. Es darf nur erlaubte SVG-Bausteine enthalten und höchstens 20 KB groß sein. Ein Symbol, das dagegen verstößt, wird abgelehnt, nicht heimlich entschärft.
5. Prüfen vor jedem Start Ungültige oder zu große Dateien werden abgelehnt, und zwar auch dann noch, wenn jemand den Speicher nachträglich verändert hat.
6. Sauberes Zusammensetzen Beim Zusammenbauen eines Pakets nach Version 2 kann keine Datei aus ihrem Abschnitt ausbrechen. Eine Skript- oder Stildatei kann ihren eigenen Block also nicht vorzeitig schließen und dahinter etwas einschmuggeln.
7. Rechte statt Vertrauen Die Brücke prüft jede einzelne Anfrage gegen die Rechteliste. Eine fremde Seite kann sich dabei nicht als App ausgeben.
8. Signatur Ob eine App von Aerona stammt, lässt sich technisch nachprüfen. Bei eingeschaltetem Schalter „Nur signierte Apps“ wird die Signatur sogar beim Start noch einmal nachgerechnet – einen gespeicherten Vermerk von Hand auf „geprüft“ zu setzen, hilft darum nichts.

Der Weg einer App, Schritt für Schritt

Vom Einfügen der Datei bis zur laufenden App prüft das System an sechs Stellen. Jede Stelle steht in einer eigenen Datei des AetherOS-Codes.

  1. Einlesen und prüfen. Das Manifest muss stimmen: Format „aerona-app“, Version 1 oder 2, eine Kennung wie com.aerona.notiz, ein Name bis 60 Zeichen, eine Versionsnummer X.Y.Z, und es darf nicht zu groß sein.
  2. Signatur nachrechnen. Hat die Datei eine Signatur, rechnet das Installations-Tor sie nach und hält das Ergebnis fest. Ist „Nur signierte Apps“ an, endet hier alles Unsignierte.
  3. Ablegen. Die App kommt in den Speicher des Systems unter aerona_installed_apps. Entfernen löscht sie dort samt ihren Daten.
  4. Vor dem Start noch einmal prüfen. Der Speicher könnte seit der Installation verändert worden sein – deshalb wird das Manifest erneut geprüft, und bei eingeschaltetem Tor auch die Signatur.
  5. Kapsel bauen. Die App bekommt ein Fenster von 720 × 520, ein Spiel 960 × 600. Darin läuft sie in einem Rahmen, der nur Skripte erlaubt, ohne eigene Herkunft. Als Erstes steht dort eine Inhaltsregel, die alles verbietet, was nicht ausdrücklich erlaubt ist.
  6. Über die Brücke fragen. Was die App vom System will, fragt sie über window.aerona an. Jede Anfrage wird gegen ihre Rechteliste geprüft.

Die Grenzen in Zahlen

So steht es im Code, der die Dateien prüft. Was darüber liegt, lehnt das System ab – mit einer Meldung, die das Feld beim Namen nennt, statt die App still abzuschneiden. Zum Vergleich: Die größte App im Format, Horizon Audio, braucht mit 142.674 Bytes nicht einmal ein Zehntel dessen, was ein Paket nach Version 2 darf.

WasGrenze
Name der App60 Zeichen
Symbol (SVG)20.000 Zeichen
Seite einer App nach Version 1500.000 Zeichen
alle Dateien eines Pakets nach Version 22.000.000 Zeichen
Beigaben (Bilder, Schriften, Töne, Videos)4.000.000 Zeichen
eigener Speicher je App100 KB, Schlüssel bis 200 Zeichen
Text für Zwischenablage oder Hinweis20.000 Zeichen
Abstand zwischen zwei Hinweisen3 Sekunden

Wie eine App signiert wird

Erst ordnen Das Werkzeug aerona-sign.js sortiert alle Felder des Manifests. Das Feld signature und alle Felder, die mit einem Unterstrich beginnen, bleiben dabei draußen.
Dann unterschreiben Über diese geordnete Fassung rechnet es eine Unterschrift nach ECDSA P-256 mit SHA-256. Heraus kommt eine neue Datei mit der Endung .signed.aero.
Warum der Unterstrich zählt Das System vermerkt nach der Prüfung _verifiziert in der App. Weil Unterstrich-Felder nicht mitgerechnet werden, macht dieser Vermerk die Signatur nicht ungültig.

Wer .aero liest und schreibt

Lesen: AetherOS Neun Skriptdateien und ein Stilblatt mit zusammen 1.338 Zeilen: Prüfen, Installations-Tor, Signatur, Symbol, Fenster, Brücke, Store und die Verwaltung „Aerona Apps“.
Schreiben: zwei Werkzeuge aerona-sign.js erzeugt die signierten Fassungen, packen.js im Ordner von Horizon Audio packt dessen drei Dateien in ein Paket nach Version 2.
Noch nicht: die App Engine Die zehn Apps der App Engine sind keine .aero-Pakete. „Apps als .aero-Pakete ausliefern“ steht in der Ideensammlung noch offen.

Fünf Beispiele, und was jedes zeigt

Zum Format gehören fünf kleine Beispiel-Apps. Sie sind Proben für das Format, keine fertigen Programme.

Aerona Willkommen
Die einfachste App, ohne Rechte. Es gibt sie auch signiert, und diese Fassung steht im Store-Katalog von AetherOS.
Notizblock
Zeigt die Rechte-Brücke: sichert Text über storage und meldet sich über notifications.
Bildergalerie
Zeigt die Beigaben: vier Bilder stecken im Manifest. Rechte braucht sie keine, auch kein Netz.
Klangprobe
Macht Ton, damit man den Lautstärkemischer von AetherOS hören kann. Ohne Rechte, auch signiert, und ebenfalls im Store-Katalog.
Aerona Prall
Ein kleines Geschicklichkeitsspiel für das Spiele-Profil: Tastatur, Maus und Gamepad, merkt sich einen Bestwert im eigenen Speicher. Rechte: storage, gamepad, pointerlock, fullscreen.

Eine echte App gibt es auch schon: die Klangabstimmung Horizon Audio, als .aero gepackt.

DateiVersionRechtesigniertGröße
Aerona Willkommen1keineauch signiert1.782 Bytes
Notizblock1storage, notificationsnein4.154 Bytes
Bildergalerie1keine (vier Beigaben)nein5.859 Bytes
Klangprobe1keineauch signiert2.983 Bytes
Aerona Prall (Spiel)1storage, gamepad, pointerlock, fullscreennein9.831 Bytes
Horizon Audio2 (drei Dateien)storagenein142.674 Bytes

Größen der unsignierten Fassungen, ausgelesen am 23. September 2026. Horizon Audio ist das einzige Paket nach Version 2.

Was noch kommt

Das Format wächst weiter. Noch nicht gebaut sind drei Dinge – bei jedem steht, warum es noch wartet:

ZIP-Behälter statt base64 – bewusst offen. Bilder als Text kosten rund ein Drittel mehr Platz, aber ein ZIP machte aus dem lesbaren Manifest eine Binärdatei. Eine eigene Spiele-Engine: Bausteine für Figuren, Zusammenstöße und Ton. Heute bringt jedes Spiel, wie Aerona Prall, seinen ganzen Code selbst mit und fängt bei null an. Rechte, die man beim Installieren einzeln bestätigt. Heute gilt, was im Manifest steht – dafür steht es sichtbar auf der Karte der App, bevor man sie startet.

Weiter

Version 9.0.0

Die Webseite wiegt die Hälfte, das Menü auf dem Telefon ist eine Liste geworden, das Glas ist überall dasselbe — und ein Kasten auf der Startseite sagt, warum hier eine Weile nichts passiert.