ONEENO / SOFTWARE & SYSTEMEN

Onder de motorkap.
Alles wat je team laat werken.

Een assistent die belt, notuleert, rekent en onthoudt, heeft veel techniek nodig. Een deel bouwen we zelf, een deel nemen we af bij gespecialiseerde partijen. Hier staat het overzicht, per onderwerp. Welke partijen we gebruiken, bespreken we met je bij de installatie.

256 onderdelen, waarvan 242 al werken. Werkt In ontwikkeling Gepland Op aanvraag

Gesprek en stem

Praten met je assistent zoals met een mens: snel, natuurlijk, en ze laat je uitpraten.

OnderdeelWat het doetStandaardStand
Spraak-naar-spraak in realtimeStreaming van stem in en stem uit met lage vertraging, zodat een gesprek vloeit.WebRTC · OpusWerkt
BeurtwisselingsmodelHerkent wanneer je uitgesproken bent, ook bij een pauze midden in een zin.Werkt
Stemactiviteitsdetectie (VAD)Scheidt spraak van stilte en ruis; achtergrondstemmen worden genegeerd.VADWerkt
Onderbreken (barge-in)Je kunt haar in de rede vallen; ze stopt en luistert.Werkt
Echo- en ruisonderdrukkingAudioverwerking in de app, zodat ze zichzelf niet hoort via de luidspreker.AEC · NS (WebRTC)Werkt
Expressieve spraaksyntheseEen neurale stem met intonatie en spelaanwijzingen (lachen, nadruk, tempo).neurale TTSWerkt
UitspraakwoordenboekVaktermen, namen en afkortingen worden goed uitgesproken, per vak en per project.Werkt
Getallen en nummers uitsprekenTelefoonnummers, bedragen en datums klinken zoals een mens ze zegt.Werkt
Meerdere stemmen in één gesprekEen tweede stem, bijvoorbeeld een verslaggever voor sportuitslagen.Werkt
StemkeuzeKies een stem uit een bibliotheek van honderden stemmen, of een ontworpen eigen stem.Werkt
Eigen naam van je assistentJij kiest hoe ze heet; ze reageert op die naam.Werkt
Stem klonenEen stem op basis van een opname, met toestemming van de spreker.Gepland
Antwoord in delenEerst de kern, de rest in de inbox; geen lange monologen.Werkt
Toon en lengte instelbaarFormeel of informeel, kort of uitgebreid, per eigenaar.Werkt
Wekwoord tijdens meeluisterenZeg "Bloem" tijdens een vergadering en ze reageert, zonder het meeluisteren te stoppen.Werkt
Stand voor drukke ruimtesHarder en duidelijker in een café, op straat of in een volle zaal.Werkt
SituatieherkenningHerkent of je in de auto, in een vergadering of op straat bent, en past toon en lengte aan.Gepland
Sprekerverificatie op het toestelAlleen jouw stem kan haar opdrachten geven; de herkenning draait op je telefoon.cosinusgelijkenis van embeddingsIn ontwikkeling
Spreker-embeddings (neuraal netwerk)Een stemafdruk berekend in de browser met een neuraal netwerk (WebAssembly).ONNX · WebAssemblyIn ontwikkeling
GastmodusIemand anders mag even met haar praten, zonder toegang tot jouw gegevens.Werkt
Oortjes en headsetsWerkt met draadloze oortjes, ook tijdens het rijden.Werkt
Typen en praten door elkaarHetzelfde gesprek met tekst of stem; wisselen zonder iets te verliezen.Werkt

Talen, tolk en notulen

Meerdere talen spreken en verstaan, vertalen en vastleggen wat er gezegd is.

OnderdeelWat het doetStandaardStand
Spreken in 70+ talenDe stem kan meer dan zeventig talen spreken.Werkt
Verstaan in 90+ talenSpraakherkenning en transcriptie in meer dan negentig talen.ASRWerkt
Automatische taalherkenningHerkent zelf welke taal er gesproken wordt.Werkt
Live tolkLuistert mee en vertaalt naar het Nederlands, op het scherm en desgewenst hardop.Werkt
Sprekerscheiding (diarisatie)Wie zei wat in een vergadering met meerdere mensen.diarisatieWerkt
Notuleren en nazitVerslag, besluiten en actiepunten met wie en wanneer, na afloop in je inbox.Werkt
Opdrachten tijdens een vergaderingTijdens het meeluisteren een vraag of taak aan het team geven.Werkt
Vaktaal in twee talenBegrippen per vak en per project, in het Nederlands en Engels, met uitleg.Werkt
Meertalige app en websiteDe app in het Nederlands en Engels; de website in het Nederlands, Engels en Spaans.Werkt
Jouw spreektaal lerenZe leert jouw manier van zeggen en vraagt het één keer na.Werkt

Denken: taalmodellen en redeneren

De motor achter je team: meerdere modellen, elk voor waar het goed in is.

OnderdeelWat het doetStandaardStand
Frontier-redeneermodelHet zwaarste model voor analyse, rapporten en diep denkwerk.Werkt
Snel gespreksmodelEen licht model voor het gesprek zelf, zodat ze direct antwoordt.Werkt
Meerdere aanbiedersModellen van verschillende aanbieders, per taak gekozen.Werkt
Europees reservemodelValt een aanbieder uit, dan neemt een ander model het denkwerk over, ook een Europees.In ontwikkeling
Uniforme modelkoppelingEén koppeling voor meerdere modellen; wisselen zonder ombouw.OpenAI-compatibele chat-APIWerkt
Router: intentieherkenningHerkent wat je bedoelt en kiest de juiste route, het juiste teamlid en het juiste model.Werkt
Hybride taalbegripVaste patronen voor snelheid, een taalmodel als het onduidelijk is.Werkt
Begrip binnen kleine setsKiest uit je gesprekken, contacten of kaarten wat je bedoelt, ook als je het niet letterlijk zegt.Werkt
DenkniveausSnel, standaard, grondig of onderzoek; per vraag of per teamlid ingesteld.Werkt
Agentisch onderzoekZoekt zelf bronnen op het web, leest ze en weegt ze, met bronvermelding.web search · tool useWerkt
Gereedschapsgebruik (tool use)Het model roept functies aan: agenda, documenten, bellen, zoeken.function callingWerkt
Gestructureerde uitvoerAntwoorden in een vast schema (JSON), zodat de app ze betrouwbaar verwerkt.JSON SchemaWerkt
Beeldbegrip (multimodaal)Foto’s en schermafbeeldingen begrijpen: wat is dit, wat staat hier.Werkt
Prompt-cachingVaste kennis vooraan en hergebruikt: sneller en goedkoper.prompt cacheWerkt
BatchverwerkingGrote leesrondes in één keer, buiten het gesprek, met een budget.batch-APIWerkt
KostenbewakingVerbruik per opdracht en per maand gemeten, met een plafond.Werkt
TegenspraakEen criticus die zwakke punten zoekt voordat je beslist.Werkt
Eerlijk over onzekerheidFeit, aanname en hypothese worden gescheiden; geen verzonnen bronnen.Werkt

Het team: teamleden, specialisten en draaiboeken

Je assistent heeft een team achter zich, ieder met een eigen vak, werkwijze en lat.

OnderdeelWat het doetStandaardStand
Persoonlijk teamConciërge, reisconciërge, verkenners, telefoniste, notulist en meer.Werkt
Zakelijk teamCFO, jurist, fiscalist, strateeg, marketeer, onderzoeker, criticus, business developer, CTO en meer.Werkt
Werkinstructies per teamlidWerkwijze per soort opdracht, de lat voor goed werk, en voorbeelden.Werkt
Versiebeheerde promptsDe vaste opdrachten van elk teamlid staan in versiebeheer en worden getest.Werkt
Teamlid bij naam aanspreken"CFO, kijk even mee": je spreekt een teamlid direct aan.Werkt
De rondeMeerdere specialisten tegelijk over één vraag, elk vanuit hun vak.Werkt
Vakbeeld per projectElk teamlid kent je project door zijn eigen bril, met bronnen.Werkt
Proeve per teamlidVaste toetsvragen, beoordeeld door een tweede model; voor en na elke wijziging gemeten.Werkt
Gemeten aan examensDe modelklasse is getoetst op examens als CFA, bar exam en wetenschappelijke toetsen.Werkt
DraaiboekenVaste werkwijzen voor terugkerende zaken: restaurants, sport, tickets, reizen.Werkt
Intake per draaiboekEen kort gesprek waarin het draaiboek op jou wordt afgesteld.Werkt
Specialist op maatEen teamlid voor jouw vak of branche, samen ingericht: drie bij Executive en tien bij Signature inbegrepen, gekozen uit vijftig of op maat.Werkt
MachinekamerTeamleden die achter de schermen werken: geheugen, kwaliteit, leren.Werkt

Op maat: instellingen en karakter

Geen standaardassistent: jij stelt in hoe je team werkt, en dat mag morgen anders.

OnderdeelWat het doetStandaardStand
Instellingen per teamlidSchuiven, keuzes, lijsten en vrije tekst, met een standaard per uitvoering.Werkt
WerkvolgordeWaar een teamlid begint en wat het zwaarst weegt.Werkt
Bronnen en uitsluitingenWaar hij kijkt, en waar juist niet.Werkt
VangrailsWat een teamlid altijd of nooit doet bij jou.Werkt
HoudingStreng of pragmatisch, voorzichtig of ambitieus.Werkt
OpleveringsvormKort antwoord, memo, presentatie-opbouw of rapport.Werkt
Karakter van je assistentNaam, stem, toon en manier van aanspreken.Werkt
Instellen door het te zeggen"Voortaan …" wordt een regel die ze onthoudt en toepast.Werkt
InstellingenboekPer teamlid de intakevragen voor de installatie, per uitvoering.Werkt
WerkprofielLeerpunten voor jouw soort werk, gedeeld met eigenaren in hetzelfde werkveld.Werkt

Geheugen en kennis

Ze onthoudt wat ertoe doet, vindt het terug, en zegt waar het vandaan komt.

OnderdeelWat het doetStandaardStand
GespreksgeheugenDoorpraten waar je gebleven was, met tijdsvensters zoals mensen ze noemen.Werkt
Persoonlijk profiel in niveausZe leert je kennen op het niveau dat jij kiest; gevoelige feiten worden niet bewaard.Werkt
Voorkeuren en afsprakenWat je wel en niet wilt, en wat je hebt afgesproken.Werkt
ProjectdossierAlles wat over een project bekend en besloten is, op één plek.Werkt
Eigen CRMEén kaart per persoon, met alle bronnen samengevoegd.Werkt
Netwerk inladenContacten van je telefoon en je zakelijke netwerk, samengevoegd zonder dubbelen.Werkt
Plekken en bezoekenRestaurants, clubs en adressen die je kent, met je oordeel erbij.Werkt
Kennis rondom je interessesPer interesse een kennistabel met bron, bijgehouden door verkenners.Werkt
BeloftebewakingWat ze in een gesprek belooft, wordt na afloop gecontroleerd.Werkt
Attenties en verlopende papierenVerjaardagen, jubilea, paspoort, rijbewijs, APK en verzekeringen op tijd.Werkt
Terugvinden met bronEen afspraak of feit terugvinden, met waar het stond.Werkt

Leren en kwaliteit

Een team dat elke week beter wordt, en meet of het beter wordt.

OnderdeelWat het doetStandaardStand
LeerlusElke fout wordt een testvoorbeeld, een reparatie en een leerpunt.Werkt
Leerpunten in drie lagenVoor iedereen, per werkveld, en alleen voor jou.Werkt
Correcties onthoudenCorrigeer je haar, dan past ze het voortaan toe.Werkt
Gouden setHonderden echte zinnen met de verwachte route, als vaste test.Werkt
Routeringsscore als poortEen wijziging gaat pas live als de score niet daalt.Werkt
KwaliteitscontroleurEen teamlid dat het werk van de anderen nakijkt.Werkt
Gedeeld leren zonder privégegevensWat nuttig is voor iedereen wordt gedeeld, zonder inhoud of persoonsgegevens.Werkt
Metingen zonder inhoudSoorten en aantallen, nooit wat je zei.Werkt
Verbeterpunten doorgevenEen wens die buiten je instellingen valt, gaat naar het productteam.Werkt
Ze test zichzelfDagelijks een testronde; wat rood is wordt dezelfde dag een storing.Werkt

Telefonie

Ze belt voor je, belt mee, en luistert mee als jij dat wilt.

OnderdeelWat het doetStandaardStand
Uitgaand bellen namens jouEen spraakagent belt restaurants, praktijken en anderen met jouw opdracht.Werkt
Reserveren per telefoonEen tafel of afspraak telefonisch regelen, met terugmelding.Werkt
Bellen met een boodschapIemand bellen en een bericht overbrengen.Werkt
VoicemaildetectieHerkent een voicemail en spreekt een passend bericht in.Werkt
MeebellenZe schuift aan bij een gesprek dat jij voert.Werkt
ConferentieverbindingMeerdere deelnemers in één gesprek, samengevoegd.conference bridgeWerkt
Gespreksopname met toestemmingOpname van een gesprek in beide richtingen, voor het verslag.opname, twee kanalenWerkt
LuisterlijnBel een nummer en Bloem luistert mee in een gesprek dat al loopt.In ontwikkeling
Eigen terugbelnummerEen vast nummer waarop je assistent teruggebeld kan worden.In ontwikkeling
Meerdere telefoonlijnenMeerdere nummers tegelijk, bijvoorbeeld zakelijk en privé.Gepland
Belvenster en belregelsWanneer ze mag bellen, wie, en op welke toon.Werkt
Telefoonnetwerk en VoIPGewone telefoonnummers (PSTN) gekoppeld aan spraak via internet.PSTN · SIP · VoIPWerkt

Agenda, mail en berichten

Afspraken, uitnodigingen en berichten, zonder dat jij een scherm hoeft te openen.

OnderdeelWat het doetStandaardStand
AgendabeheerAfspraken lezen, plannen en verplaatsen in je agenda.Werkt
Uitnodigingen met genodigdenEen afspraak maken en de genodigden uitnodigen.Werkt
Afspraken combineren"Je bent er toch": afspraken in dezelfde buurt slim combineren.Werkt
Gedelegeerde autorisatie (OAuth 2.0)Toegang tot je agenda zonder je wachtwoord te delen, op elk moment in te trekken.OAuth 2.0 · authorization code · refresh tokenWerkt
Eigen e-mailadres van je assistentVersturen wat jij goedkeurt, ontvangen wat je doorstuurt.Werkt
Mail doorsturen naar een projectEen mail doorsturen en hij komt bij het juiste project.Werkt
PushmeldingenMeldingen op je telefoon als iets klaar is of je aandacht vraagt (Web Push).Web Push · VAPIDWerkt
Delen via het deelmenuVanuit elke app iets naar je assistent sturen, ook berichtenapps en AirDrop.Web Share TargetWerkt
Doorsturen als PDF of tekstEen bericht uit je inbox doorsturen per mail of berichtenapp.Werkt
Inbox met bewijsAlles wat je team deed staat in je inbox, met bron en datum.Werkt
TakenlijstTaken uit je gesprekken, met wat wacht op jouw goedkeuring.Werkt

Documenten en kantoorbestanden

Lezen, schrijven en bewerken in de formaten waarin jij werkt.

OnderdeelWat het doetStandaardStand
Tekstdocumenten lezenWord-documenten, ook lange contracten, tot op de alinea.DOCX (Office Open XML)Werkt
PDF lezenPer pagina, met de pagina erbij als bron.PDFWerkt
Spreadsheets lezenWerkbladen, formules en tabellen in Excel-bestanden.XLSX (Office Open XML)Werkt
Presentaties lezenDia voor dia, met de dia erbij als bron.PPTX (Office Open XML)Werkt
Markdown, CSV en platte tekstNotities, exports en lijsten.Markdown · CSV · UTF-8Werkt
PDF-rapporten makenRapporten en businessplannen als één PDF, met inhoudsopgave.PDFWerkt
Rekenmodellen maken en bijwerkenEen nieuwe versie van je Excel-model naast het origineel.XLSXWerkt
GrafiekenGrafieken bij cijfers, op verzoek.Werkt
Presentaties makenEen PowerPoint met dia’s, notities voor de spreker en tabellen, door het team gemaakt.PPTX (Office Open XML) · 16:9Werkt
Voorlezen in delenEen document voorlezen, in hapklare delen.Werkt
Vragen tot op detailEen vraag over een document, met het antwoord en de vindplaats.Werkt
Tekst uit foto’sTekst lezen van foto’s, bonnetjes, visitekaartjes en brieven.OCR (multimodaal model)Werkt
Bonnetjes en declaratiesEen foto van een bonnetje wordt een declaratieregel.Werkt
Chatexports inlezenEen geëxporteerd berichtengesprek toevoegen aan een project.Werkt
Brieven en bezwaarschriftenVan foto van een boete naar een verzendklare brief.Werkt
Tegenspraak voor je tekentEen contract of voorstel nalezen op risico’s.Werkt

Browser en webdiensten

Ze werkt op websites zoals jij dat doet: zoeken, vergelijken, klaarzetten.

OnderdeelWat het doetStandaardStand
BrowserbedieningEen geautomatiseerde browser die websites bezoekt, leest en formulieren invult.headless Chromium · DOM-automatiseringWerkt
Browser op je eigen computerVoor sites die servers weigeren, werkt ze via de browser op je laptop.Werkt
Inloggegevens veilig bewarenVoor sites waar je een account hebt, versleuteld bewaard.AES-256-GCMWerkt
Pagina’s ophalen en lezenEen link geven en ze leest wat er staat.Werkt
Sportbaan, starttijd, kaartenZoeken en klaarzetten bij clubs en kaartverkopers.Werkt
BoodschappenEen boodschappenlijst bestellen bij de supermarkt.In ontwikkeling
Reizen uitzoekenEen reis van A tot Z uitzoeken en klaarzetten.Werkt
Nooit zelf betalenZe zet klaar; betalen en versturen doe jij.Werkt

Koppelingen (API’s)

Je team praat met andere systemen, en per dienst kan er een koppeling bij.

OnderdeelWat het doetStandaardStand
REST- en JSON-koppelingenDe standaard manier waarop systemen gegevens uitwisselen.REST · JSON · HTTPSWerkt
WebhooksEen ander systeem meldt direct wanneer er iets gebeurt.HTTP callbacksWerkt
HandelsregisterBedrijfsgegevens opzoeken in het officiële register.Werkt
Weer en reistijdHet weer en de reistijd bij een afspraak of activiteit.Werkt
SportuitslagenUitslagen en programma’s van wat jij volgt.Werkt
Nieuws en vakbronnenVerkenners volgen bronnen die jij kiest.Werkt
Betaalde databankenJuridische en zakelijke databanken waarop jij een abonnement hebt.Op aanvraag
BoekhoudpakkettenCijfers rechtstreeks uit je boekhouding voor de CFO.Op aanvraag
CRM- en projectsoftwareKoppelingen met de systemen die jouw bedrijf al gebruikt.Op aanvraag
Uitbreidbaar per dienstElke nieuwe dienst krijgt zijn eigen koppeling, zonder de rest te raken.Werkt
Betalingen (website)Online reserveren met een aanbetaling via een betaalprovider.iDEAL · webhookWerkt

Projecten, bestanden en versies

Je team kent je projecten en ziet wat er veranderde.

OnderdeelWat het doetStandaardStand
Projectmappen lezenJe eigen mappen op je laptop blijven de werkkopie.Werkt
Alleen-lezen spiegelsEen kopie per project op de server, die alleen gelezen kan worden.git over SSHWerkt
VersiegeschiedenisElke vorige versie van een document blijft te zien.gitWerkt
Wat is er veranderdZe leest de versiegeschiedenis en vertelt wat er veranderde.git log · diffWerkt
Automatische synchronisatieOm de paar minuten bijgewerkt, zonder dat jij iets doet.Werkt
Toevoegen aan een projectStukken van anderen naar het juiste project, vanuit de app of je telefoon.Werkt
Project van voor naar achterEen heel project lezen en begrijpen voordat er aan gewerkt wordt.Werkt
Toegang per projectPer project bepaal je wat je team mag lezen; verboden mappen blijven dicht.Werkt

Infrastructuur en hosting

Waar het draait, en waarom het blijft draaien.

OnderdeelWat het doetStandaardStand
Europese serversJe gegevens staan op een server in de Europese Unie.EU-datacenterWerkt
Eigen server per klantElke klant een eigen, afgeschermde omgeving.Werkt
Servergrootte naar keuzeRekenkracht en opslag passend bij je gebruik, op te schalen.Werkt
ContainersElk onderdeel in een eigen container: herhaalbaar en snel te herstellen.OCI-containers · ComposeWerkt
LinuxHet besturingssysteem van de server.Linux LTSWerkt
Versleutelde tunnelDe server is bereikbaar zonder open poorten naar internet.uitgaande tunnel · mTLSWerkt
Wereldwijd randnetwerkDe website wordt dichtbij de bezoeker geserveerd, met bescherming tegen aanvallen.CDN · DDoS-beschermingWerkt
Serverloze functiesFormulieren en betalingen op de website draaien zonder eigen server.edge workersWerkt
TakenwachtrijWerk loopt op de achtergrond door, ook als jij ophangt.job queueWerkt
Geplande nachtrondesVerkenners en onderhoud draaien 's nachts.Werkt
GezondheidscontroleDe server controleert zichzelf en meldt problemen.health checkWerkt
Verbinding met je laptopEen beveiligde verbinding met hartslag, voor bestanden en de browser op je laptop.long-poll · heartbeatWerkt

Beveiliging en privacy

Jouw gegevens zijn van jou, en zo is het gebouwd.

OnderdeelWat het doetStandaardStand
Versleuteld verkeer (TLS)Alle verbindingen versleuteld, van app tot server.TLS 1.3 · HTTPSWerkt
WachtwoordbeveiligingWachtwoorden worden nooit leesbaar bewaard, alleen als afgeleide sleutel (PBKDF2-SHA256).PBKDF2-HMAC-SHA256 · 600.000 rondesWerkt
Ondertekende sleutels (HMAC)Toegangssleutels met een handtekening, zodat ze niet te vervalsen zijn.HMAC-SHA256Werkt
ApparaatsleutelsElk apparaat een eigen sleutel, per apparaat in te trekken.HMAC-SHA256 · intrekbaarWerkt
SSH-sleutelsBeheer van de server alleen met sleutels, geen wachtwoorden.SSH · Ed25519Werkt
Alleen-lezen sleutels per projectElke projectkopie heeft een eigen sleutel die alleen mag lezen.SSH deploy keysWerkt
Rollen en toestemmingsniveausWat mag zonder vragen, wat vraagt jouw goedkeuring, wat nooit.Werkt
Geheimen in jouw kluisSleutels staan in de configuratie van de server en in jouw wachtwoordkluis, nooit in de code.Werkt
AuditlogElke handeling wordt vastgelegd: wat, wanneer en met welk resultaat.append-only logWerkt
VerzoekspoorPer verzoek te volgen wat er gebeurde, voor snelle foutopsporing.Werkt
GevoeligheidsregelsGevoelige onderwerpen en gegevens krijgen een extra drempel.Werkt
DataminimalisatieVerbeterdata alleen als soorten en aantallen, nooit inhoud.Werkt
Ze verstuurt en betaalt nooit zelfElke handeling naar buiten gaat pas na jouw akkoord.Werkt
StemwachtAlleen jouw stem kan haar opdrachten geven.In ontwikkeling

Back-up, continuïteit en overdraagbaarheid

Niets van wat je opbouwt hangt aan één machine of één leverancier.

OnderdeelWat het doetStandaardStand
Dagelijkse back-upElke ochtend een verse back-up van alles wat je assistent weet.Werkt
Drie lagenOp de server, op je laptop en versleuteld in je eigen cloudopslag.Werkt
Versleutelde kopie (AES-256-GCM)De kopie buiten de server is onleesbaar zonder jouw sleutel.AES-256-GCM · HKDF-SHA256Werkt
Dagelijkse proefterugzettingElke dag wordt een back-up teruggezet in een lege testomgeving.Werkt
Instellingen zonder geheimenAlle instellingen dagelijks bewaard, zonder wachtwoorden.Werkt
Alles terug te zettenElke versie van de software heeft een label; terug kan altijd.Werkt
Open formatenJe gegevens in standaardformaten (SQL-database, JSON, Markdown), leesbaar zonder ons.SQLite · JSON · MarkdownWerkt
OverdrachtsdossierElke instelling, toestemming en werkwijze beschreven, voor overdracht.Werkt
Teamboek overdraagbaarDe intelligentie en leerpunten van elk teamlid zijn overdraagbaar, zonder privégegevens.Werkt
Uitvalbestendig denkenValt een aanbieder uit, dan neemt een ander het werk over.Werkt

App en apparaten

Eén app op je telefoon en je computer.

OnderdeelWat het doetStandaardStand
Installeerbare webapp (PWA)Op je beginscherm zoals een gewone app, zonder appwinkel.PWA · Web App ManifestWerkt
Service workerSnel laden en een nette melding als er even geen verbinding is.Service Worker APIWerkt
Licht en donker themaVolgt je telefoon of jouw keuze.Werkt
Camera en foto’sEen foto aan je assistent geven: wat is dit, wat wil je ermee?Werkt
Visitekaartjes en QR-codesEen kaartje scannen, je eigen kaart als QR-code tonen.QR (ISO/IEC 18004)Werkt
Contactkaart (vCard)Je assistent in je contacten, met haar eigen kaart.vCardWerkt
Werkruimte per opdrachtGesprek, resultaat en voortgang van een lopende opdracht.Werkt
VerbruiksoverzichtWat je assistent kost, per maand en per soort werk.Werkt
Werkt op telefoon en computerDezelfde app op elk scherm.Werkt

Software, talen en standaarden

Waar het van gemaakt is.

OnderdeelWat het doetStandaardStand
PythonDe taal van de server: het brein, de koppelingen en het team.Python 3Werkt
JavaScriptDe taal van de app op je telefoon.ECMAScriptWerkt
TypeScript en ReactDe website.TypeScript · ReactWerkt
HTML en CSSOpmaak en vormgeving van app en website.Werkt
SQLDe database met alles wat je assistent weet.SQLiteWerkt
Shell-scriptsUitrol, back-up en onderhoud, automatisch.Bash · PowerShellWerkt
Asynchrone webserver (ASGI)Veel verzoeken tegelijk, zonder te wachten.ASGIWerkt
JSON en MarkdownGestructureerde gegevens en leesbare teksten.Werkt
WebRTC en WebSocketRealtime audio en berichten tussen app en server.WebRTC · WebSocketWerkt
WebAssembly en ONNXNeurale netwerken die in de browser draaien, op je eigen toestel.WASM · ONNX RuntimeIn ontwikkeling
OAuth 2.0 en OpenIDInloggen en toegang geven zonder wachtwoorden te delen.OAuth 2.0 · OpenID ConnectWerkt
Web Push met VAPIDMeldingen naar je telefoon, met een eigen sleutelpaar.RFC 8030 · RFC 8291 · RFC 8292Werkt
Gestructureerde gegevens (schema.org)Zoekmachines en AI-modellen begrijpen de website en de film.schema.org · JSON-LDWerkt
VersiebeheerElke wijziging bewaard, met wie, wanneer en waarom.gitWerkt

Cryptografie en protocollen

Welke versleuteling en welke sleutels waar worden gebruikt. Bewust zonder versienummers, adressen of plekken van sleutels.

OnderdeelWat het doetStandaardStand
TransportversleutelingAlle verkeer tussen app, website en server versleuteld.TLS 1.3Werkt
Tunnel met wederzijdse authenticatieDe server maakt zelf een uitgaande, versleutelde verbinding; er staan geen poorten open.mTLS · uitgaandWerkt
Wachtwoordhash600.000 rondes met een willekeurig zout van 128 bits per wachtwoord; oudere hashes worden bij inloggen opgewaardeerd.PBKDF2-HMAC-SHA256 · 600k · 128-bit saltWerkt
Vergelijking in constante tijdSleutels en hashes worden vergeleken zonder dat de duur iets verraadt.constant-time compareWerkt
Ondertekende sessietokensToegangstokens met een handtekening, een vervaltijd en een gehashte gebruiker.HMAC-SHA256 · expWerkt
Cryptografisch veilige willekeurZout, sleutels en tokens komen uit een cryptografisch veilige generator.CSPRNGWerkt
Kluis voor inloggegevensWachtwoorden voor websites versleuteld opgeslagen, met een sleutel die alleen de server kent; een geheim opent alleen bij zijn eigen site.AES-256-GCM · gebonden aan de siteWerkt
Versleutelde back-upGeauthenticeerde versleuteling met een 256-bits sleutel, afgeleid met een sleutelafleidingsfunctie, en per bestand een eigen nonce.AES-256-GCM · HKDF-SHA256 · 96-bit nonceWerkt
Serverbeheer met sleutelsInloggen op de server alleen met een sleutelpaar.SSH · Ed25519Werkt
Alleen-lezen sleutels per repositoryElke projectkopie heeft een eigen sleutel die alleen mag lezen.SSH deploy keys (read-only)Werkt
Pushmeldingen versleuteldDe inhoud van een melding is versleuteld voor jouw toestel; de afzender bewijst zich met een eigen sleutelpaar.VAPID ES256 · ECDH P-256 · aes128gcmWerkt
Realtime spraak versleuteldAudio tussen app en spraakdienst versleuteld, ook de mediastroom.DTLS-SRTPWerkt
Ondertekende meldingen van de telefonieElke melding van het telefonieplatform wordt op zijn handtekening gecontroleerd.HMAC-handtekeningWerkt
Betaalstatus bij de bronEen betaalmelding wordt niet geloofd maar nagevraagd bij de betaaldienst.server-side verificatieWerkt
Gedelegeerde toegangToegang tot agenda en accounts zonder wachtwoord, beperkt tot wat nodig is, in te trekken.OAuth 2.0 · scopesWerkt
Geheimen buiten de codeSleutels in afgeschermde configuratiebestanden en de kluis van de eigenaar; nooit in code of logboeken.environment · 0600Werkt

API-structuur

Hoe de onderdelen met elkaar en met andere systemen praten, en hoe er een koppeling bij komt.

OnderdeelWat het doetStandaardStand
REST over HTTPSElke functie is een vast adres met een duidelijke vraag en een JSON-antwoord.REST · JSON · HTTPSWerkt
Beschreven schemaDe koppelingen zijn vastgelegd in een machineleesbaar schema.OpenAPIWerkt
TokenauthenticatieElke aanroep draagt een ondertekend token; zonder token geen toegang.Bearer · HMAC-SHA256Werkt
Asynchrone takenOpdracht in, taaknummer terug, status volgen (wachtrij, bezig, klaar, mislukt), resultaat in de inbox.job-ID · status · pollingWerkt
Inkomende webhooksAndere systemen melden gebeurtenissen; de handtekening of de bron wordt gecontroleerd.webhooks · signatureWerkt
Realtime kanalenSpraak en gebeurtenissen live tussen app en server.WebRTC · WebSocketWerkt
Verbinding met hartslagDe laptop houdt een verbinding open met hartslag en vraagt zelf om werk.long-poll · heartbeatWerkt
Functieaanroepen met vaste schema’sHet taalmodel roept functies aan met parameters in een vast schema.function calling · JSON SchemaWerkt
Uniforme chat-interface voor modellenEén interface voor modellen van meerdere aanbieders, zodat wisselen een instelling is.OpenAI-compatibelWerkt
Adapter per dienstElke externe dienst heeft een eigen adapter; een nieuwe koppeling raakt de rest niet.adapterpatroonWerkt
Herhaalpogingen en terugvalBij een fout of time-out nog eens, en dan een andere route.retry · backoff · fallbackWerkt
Serverloze edge-functiesFormulieren, betalingen en video op de website als functies aan de rand van het netwerk.edge workersWerkt
Video in delenVideo geleverd in delen op verzoek van de speler, zodat elke telefoon kan afspelen en doorspoelen.HTTP Range · 206 Partial ContentWerkt

Testen, meten en uitrol

Een nieuwe versie gaat pas live als alles groen is.

OnderdeelWat het doetStandaardStand
Geautomatiseerde testsDuizenden controles op elke onderdeel, voor elke uitrol.Werkt
Canarytests na uitrolDirect na een uitrol een reeks echte vragen; bij rood automatisch terug.Werkt
InterfaceverkennerEen programma dat zelf door de app klikt op zoek naar fouten.Werkt
Stem- en browsertestsWekelijks met echte stem en echte browser.Werkt
Dagelijkse testvraagElke ochtend één praktijktest uit het testdraaiboek.Werkt
Veldtest bijhoudenPer functie bijgehouden of hij in de praktijk bewezen is.Werkt
UitrollabelsElke live versie krijgt een label, zodat terugdraaien altijd kan.git tagsWerkt
Wekelijkse metingenHoe vaak, hoe snel en hoe goed, zonder inhoud.Werkt
Volgende

De technologie in gewone taal