Ga naar de inhoud
← Terug naar artikelen
MIJN MAC-APPTijdsleutel / TOTP-authenticator

Tijdsleutel. Mijn verificatiecodes op de Mac.

Ik gebruik Tijdsleutel dagelijks voor verificatiecodes op mijn Mac, meestal vanuit de menubalk. Ook Codex is gekoppeld: ik bepaal welke sleutels een agent mag gebruiken en kan die toegang weer intrekken.

Bijgewerkt 6 min lezen
Illustratie van een account, een tijdelijke code en toegangscontrole.
Accountkeuze, een tijdelijke code en toegangscontrole.
01Dagelijks vanuit de menubalk
02Versie 1.3.3 als testdownload
03Codex gekoppeld, toegang intrekbaar

Over dit artikel

Ik gebruik Tijdsleutel dagelijks vanuit de menubalk. De screenshots tonen mijn eigen gebruik met een voorbeeldaccount.

Versie 1.3.3, build 8, is beschikbaar als testrelease voor Apple Silicon vanaf macOS 13.

Codex is in mijn eigen werkomgeving gekoppeld via de CLI. Ik kan sleutels voor agents activeren en deactiveren en werk tijdens ontwikkeling met een tijdvenster.

Ik heb een eigen PostgreSQL-database gekoppeld voor back-ups. De gebruiksstatus is bevestigd op 18 oktober 2026.

Ik wilde niet steeds mijn telefoon pakken als ik tijdens het werk een verificatiecode nodig had. Daarom bouwde ik Tijdsleutel, een afzonderlijke TOTP-app voor mijn Mac. Inmiddels gebruik ik de app dagelijks, vooral vanuit de menubalk.6

Mijn dagelijkse versie is 1.3.3, build 8. Die staat ook als testrelease voor Apple Silicon en macOS 13 of nieuwer bij dit artikel. De screenshots hieronder zijn uit mijn eigen gebruik, met een voorbeeldaccount.6

De koppeling met Codex is niet meer alleen een ontwerp. Ik heb die via de CLI opgenomen in mijn Second Brain-werkwijze en gebruik haar van begin tot eind. De code en het beheer houd ik zelf in handen.6

Waarom ik een eigen app wilde

Apple Wachtwoorden kan al verificatiecodes tonen en in ondersteunde situaties invullen. Ik gebruik Tijdsleutel vanuit mijn voorkeur voor een afzonderlijk venster voor deze handeling.2

Ik wil het account snel herkennen en zien hoeveel tijd er in het huidige codevenster over is. Zoeken en duidelijke labels zijn daarvoor belangrijker dan extra informatie op het scherm.

Dat eigen beheer is voor mij een belangrijk deel van het project. Als ik een functie wil toevoegen of de app in een andere werkwijze wil opnemen, heb ik de code beschikbaar. Ik hoef daarvoor niet te wachten op de plannen van een andere ontwikkelaar.6

Verificatiecodes vanuit de menubalk

Meestal open ik het compacte menubalkvenster. Ik zoek op de accountnaam, zie de bijbehorende code met afteller en ga verder met waar ik mee bezig was. Het volledige appvenster gebruik ik voor overzicht en beheer. Voor mij werkt dit sneller dan steeds mijn telefoon erbij pakken.6

Afbeelding 03Het compacte venster in de menubalk. Screenshot uit mijn eigen gebruik, 18 oktober 2026.
Afbeelding 04Een account zoeken in het appvenster. Screenshot uit mijn eigen gebruik, 18 oktober 2026.
01 / SCHEMA

Een account vinden en zijn code gebruiken

De gebruikersroute begint bij het juiste account en het bijbehorende tijdvak.

INTERACTIEF SCHEMA05 NODES/04 VERBINDINGEN
Identiteit vóór interpretatie
DatastroomKies een stap voor de toelichting.
01 / 05AUTOMATISCHE ROUTE
ROUTE

Bewuste handeling

Alle nodes en verbindingen
Afbeelding 01Het schema beschrijft de handeling, niet de implementatie van sleutelopslag of vergrendeling.

De afteller toont het lokale codevenster. De ontvangende dienst bepaalt welke code zij accepteert.3

Hoe een tijdcode wordt berekend

TOTP betekent Time-Based One-Time Password. De code volgt uit een gedeeld geheim en een tijdteller. Met hetzelfde geheim en hetzelfde tijdvak krijg je dezelfde uitkomst. RFC 6238 gebruikt dertig seconden als standaard tijdstap; de dienst en authenticator moeten dezelfde parameters hanteren.3

TIJDSLEUTEL / RFC 6238OPENBARE TESTWAARDEN

TOTP met openbare testwaarden

Kies een testtijdstip en bekijk de referentiecode uit RFC 6238. Dit voorbeeld gebruikt geen accountgegevens.

Kies een publiek testtijdstip

RFC 6238 · Appendix B
HMAC-SHA-1 · 8 digits · X = 30 · T0 = 0

Geen secret invoeren. Dit component toont vaste referentiewaarden, geen actuele code van een account.

OPENBARE REFERENTIECODE 9428 7082
T = 11 s in dit testtijdvak

Protocolvoorbeeld met openbare testvectoren. Geen live inlogcode of toegang tot je accounts.

Het voorbeeld gebruikt drie openbare SHA-1-testvectoren uit de RFC, met acht cijfers. Kies een tijdstip om de referentie-uitkomst te bekijken. Dit demonstreert het protocol en is geen testresultaat van Tijdsleutel.3

Het geheim geeft toegang tot latere codes. Daarom wil ik het buiten de notities en zoekindex van mijn Second Brain houden. De tijdelijke code en de sleutel waaruit zij volgt zijn verschillende gegevens.

Codex gebruiken binnen een tijdvenster

Tijdens ontwikkeling wil ik soms dat Codex door kan werken in een headless browser. Bijvoorbeeld wanneer een dienst geen bruikbare API heeft. In Tijdsleutel activeer ik daarvoor de benodigde sleutels voor de agent, binnen een tijdvenster. Ik kan die rechten vanuit de app ook weer intrekken.6

Afbeelding 05Codex gekoppeld in Tijdsleutel. Screenshot uit mijn eigen gebruik, 18 oktober 2026.

De koppeling met Codex is in mijn eigen omgeving van begin tot eind in gebruik. Mijn uitgangspunt blijft dat ik bepaal welke toegang ik geef. Dat is iets anders dan een agent onbeperkt toegang geven omdat hij een taak moet afmaken.6

02 / SCHEMA

Uitgangspunten voor afgebakende agenttoegang

De beoogde afbakening van aanvrager, account en toestemming rond mijn bestaande agentkoppeling.

INTERACTIEF SCHEMA06 NODES/06 VERBINDINGEN
Alternatieve uitkomsten
DatastroomKies een stap voor de toelichting.
01 / 05AUTOMATISCHE ROUTE
ROUTE

Account + doel

Alle nodes en verbindingen
Afbeelding 02De Codex-koppeling gebruik ik inmiddels dagelijks. Dit schema beschrijft de ontwerpprincipes, niet een onafhankelijke test van alle controles.

Het schema laat mijn uitgangspunten voor die afbakening zien. De dagelijkse koppeling staat daar niet los van: ik wil zelf kunnen bepalen wat ik toesta, voor wie en voor hoe lang.

Eigen back-ups en de grenzen van TOTP

Een eigen database voor back-ups

Ik heb Tijdsleutel verbonden met mijn eigen database. Voor back-ups kan een gebruiker een eigen PostgreSQL-instantie kiezen, bijvoorbeeld bij Supabase. Ik wilde die keuze bij de gebruiker houden, zodat een eigen database bij de eigen werkomgeving kan aansluiten.6

De sleutelbeheerder en de verbinding met Codex gebruik ik dagelijks. Ik kan sleutels activeren en deactiveren voor een agent en de rechten weer intrekken. Daardoor kan ik de koppeling onderdeel maken van mijn ontwikkelwerk zonder haar steeds opnieuw op te bouwen.6

Tijdteller en afteller

Technisch fragment / text
T = floor((Unix time - T0) / X)
TOTP = HOTP(K, T)

RFC test example: T0 = 0, X = 30
Unix time = 59  ->  T = 1
HMAC-SHA-1, 8 digits  ->  94287082

De berekening gebruikt Unix-tijd. Een afteller op het scherm moet na sluimeren of een klokwijziging weer op de actuele tijd aansluiten. De ontvangende dienst beslist over acceptatie en eenmalig gebruik.3

Toestemming voor een concrete handeling

Bij agenttoegang wil ik aanvrager, account, handeling en geldigheidsduur bij elkaar houden. Een ander account is geen automatisch vervolg op een eerdere toestemming. Ik wil bovendien de toegangsbeslissing kunnen teruglezen zonder sleutels of codes in het log.

Daarvoor zijn aparte tests nodig met testaccounts of openbare referentiewaarden. De RFC-berekening controleert geen opslag, apprechten of agenttoegang.

Wat TOTP niet voorkomt

Een tijdelijke code kan worden onderschept en doorgestuurd. NIST beschrijft OTP daarom als niet phishingbestendig. Lokale uitvoering verandert die eigenschap van het protocol niet.4

Download Tijdsleutel voor de Mac

Hier staat versie 1.3.3, build 8, voor Apple Silicon vanaf macOS 13. Het is een testrelease. Installatie-instructies, ondertekening en notarisatiestatus staan bij de knop.

TIJDSLEUTEL / macOSAPPLICATIE
Tijdsleutel-appicoon

Tijdsleutel voor macOS

Versie 1.3.3 voor Apple Silicon, vanaf macOS 13. Download Tijdsleutel en sleep de app naar Programma’s.

Versie
1.3.3
macOS
13.0+
Architectuur
arm64
Bestand
10.2 MB · DMG

Nieuw in deze versie

  • Feedback sturen vanuit Instellingen, met app- en macOS-versie vooraf ingevuld.
  • Ook zonder contactgegevens een probleem, idee of vraag doorgeven.

Eerste keer openen

macOS kan bij de eerste keer openen om toestemming vragen. Volg dan de onderstaande stappen voor het hier gedownloade pakket.

  1. Download het DMG-bestand en probeer het te openen. Verschijnt de melding “niet geopend”? Klik op Gereed.
  2. Open Systeeminstellingen → Privacy en beveiliging. Scrol naar Beveiliging en kies Open toch bij Tijdsleutel.
  3. Bevestig met je Mac-wachtwoord of Touch ID en open het DMG-bestand opnieuw.
  4. Sleep Tijdsleutel naar Programma’s, werp de schijfkopie uit en start de app. Verschijnt voor de app opnieuw een melding, herhaal dan de toestemmingsstap.

Uitleg van Apple ↗

Download Tijdsleutel 1.3.3 ↓

Meld een probleem of deel een idee ↗

SHA-256 · Bestand controleren8c5b3fe57e5c3120058ad9083616e9aaf65be794e81cb3933c479afa642379a8

Bereken lokaal de SHA-256 van het gedownloade bestand en vergelijk de volledige waarde. Een match bevestigt de overeenkomst met deze opgave, niet de veiligheid van de software.

De SHA-256 helpt controleren of het gedownloade bestand overeenkomt met het aangeboden pakket. Een overeenkomst zegt niets over ondertekening, notarisatie of een onafhankelijke beveiligingsaudit.

De beschreven updater staat onder Instellingen → Updates. Daar kun je een update laten ophalen via Bijwerken en herstarten.

Een probleem of idee kun je doorgeven via het feedbackformulier of Instellingen → Feedback. De app vult versiegegevens in. Voeg zelf geen codes of geheime sleutels toe.

Een kleine handeling die ik nu dagelijks anders doe

Wat begon als een manier om mijn telefoon op tafel te laten liggen, is nu een app die ik iedere dag gebruik. De koppeling met Codex kwam erbij omdat ik haar zelf nodig had. Dat is precies wat ik prettig vind aan eigen software: ik kan verder bouwen wanneer mijn werk daarom vraagt.6

Bronnen en toelichting

Bronnen bij TOTP, release 1.3.3 en mijn dagelijks gebruik met Codex. De gebruiksstatus en screenshots zijn van 18 oktober 2026. De openbare RFC-testvectoren demonstreren het protocol.

01

De oorspronkelijke projectbasis. De actuele gebruiksstatus staat bij bron 6.

02

Verificatiecodes tonen en gebruiken met Apple Wachtwoorden.

03

De TOTP-berekening en de openbare testvectoren in Appendix B. Dit zijn protocolvoorbeelden.

04

De eigenschappen en beperkingen van OTP-authenticatie, waaronder phishinggevoeligheid.

05

De websitebestanden voor de downloadroute. Dit document beschrijft de website, niet de beveiliging van de Mac-app.

06

Mijn bevestiging van dagelijks gebruik van versie 1.3.3, build 8, de menubalk, PostgreSQL-back-ups en de koppeling met Codex. Geen onafhankelijke beveiligingsaudit.

Contact

Een vraag over Tijdsleutel?

Laat me weten wat je wilt weten of waar je tegenaan loopt.

Vergroot de afbeelding