Uw infrastructuur. Uw data. Uw sleutels.
Cronable is gebouwd om te draaien als een vertrouwd onderdeel van uw eigen stack. Hier is precies hoe het uw automatisering, secrets en historie onder uw controle houdt.
On-premises van opzet
Cronable installeert op uw eigen machine — een Mac- of Windows-desktopapp, of een server onder systemd/launchd. Er is geen SaaS-variant en geen cloudafhankelijkheid. De routinematige uitgaande verbindingen zijn een periodieke licentiecontrole — die uw abonnement bevestigt en eenvoudige job- en gebruikersaantallen doorgeeft — en een controle op nieuwe ondertekende releases; en, alleen als u ze inschakelt, een uitgaande verbinding naar Cronables gehoste relay voor inkomende webhooks of bediening op afstand. Uw workload — jobdefinities, secrets, uitvoeringen en uitvoer — blijft op de machine en wordt nooit naar ons verzonden. De enige uitzondering is een actieve sessie voor bediening op afstand: het dashboardverkeer daarvan wordt doorgestuurd via onze edge (dezelfde mate van vertrouwen als bij elke gehoste proxy), waarbij end-to-end-versleuteling naar uw eigen machine een geplande Enterprise-optie is.
Secrets en credentials versleuteld in rust
Secret-waarden worden AES-256-GCM-versleuteld met een sleutel die is afgeleid van uw eigen encryptiesleutel (scrypt met een willekeurige salt per installatie). Getypeerde credentials — API-sleutels, bearer-tokens, basic auth, aangepaste headers en Postgres-verbindingsstrings — staan in dezelfde versleutelde opslag en worden bij naam gerefereerd, nooit in jobbestanden geplakt. Er wordt niets naar git geschreven en niets verlaat uw machine. U maakt de sleutel apart een back-up — raakt u hem kwijt, dan zijn secrets per ontwerp onherstelbaar.
Gemaskeerd in elke log en stream
Opgeloste secret- en credential-waarden worden weggelakt tot “***” in logbestanden, joboutput en de live logstream — zelfs wanneer een waarde over streaming-chunks is verdeeld. Wat op uw systeem draait, blijft op uw systeem.
Geverifieerd en met minimale rechten
De webconsole vereist aanmeldingen per gebruiker met argon2id-wachtwoordhashing en brute-force-vergrendeling. De engine bindt standaard aan localhost en is bedoeld om te draaien als een toegewijde gebruiker met weinig rechten. Server-naar-server-aanroepers gebruiken een privé bearer-token; browsers gebruiken een kortstondige sessiecookie — en uitloggen, of een verlopende sessie, sluit zelfs open live-logstreams binnen enkele seconden. Wachtwoorden moeten ook een sterktecontrole doorstaan — een minimale lengte plus een raadbaarheidstest — zodat zwakke of makkelijk te raden wachtwoorden worden geweigerd. Optionele tweefactorauthenticatie (TOTP) voegt een eenmalige code toe uit een authenticator-app zoals Google Authenticator, met herstelcodes voor een verloren apparaat; ze is vereist om externe toegang te gebruiken, zodat een machine alleen voor het gehoste dashboard kan worden geopend door iemand die dit heeft ingeschakeld.
Teamtoegang met rollen
De webconsole is voor meerdere gebruikers, met vier oplopende rollen — lezer (alleen-lezen), bewerker (maakt jobs, secrets en runs aan), beheerder (beheert gebruikers, rollen en instellingen) en eigenaar, het eerste account van de installatie. Beheerders voegen gebruikers toe en verwijderen ze, stellen ieders rol in, resetten een wachtwoord of tweefactorapparaat en trekken toegang in onder Instellingen → Gebruikers — zodat een vertrekkende collega meteen de toegang verliest en niemand een login deelt. Streng vergrendelde installaties kunnen meer inschakelen: gelaagde uitvoeringsrechten bepalen wie jobs mag aanmaken die commando's uitvoeren, en wijzigingsgoedkeuring voegt het vierogenprincipe toe, zodat een tweede beheerder een klaargezette job- of secretwijziging moet goedkeuren voordat die van kracht wordt.
Single sign-on via OIDC
Breng uw identity provider mee — Okta, Entra ID, Google, Keycloak — via de OIDC authorization-code-flow met PKCE en volledige ID-tokenverificatie. SSO-aanmeldingen moeten koppelen aan een bestaand lokaal account: er wordt niets automatisch aangemaakt, en providerfouten verschijnen als vaste, vriendelijke meldingen in plaats van kale redirects.
Een audittrail die u echt kunt lezen
Aanmeldingen en mislukte pogingen, wijzigingen aan secrets en credentials, jobbewerkingen, instellingswijzigingen en git-synchronisaties worden vastgelegd in een append-only audittrail — alleen namen en metadata, nooit waarden — direct in de console te bekijken en te filteren onder Instellingen → Audit.
Geharde inkomende webhooks
Inkomende webhooks bereiken uw daemon via onze licentie-afgeschermde relay, over een verbinding die uw server naar buiten opent, zodat u nooit een poort blootstelt — tenzij u daar bewust voor kiest. Elke hook is gebonden aan uw licentie — geen enkele andere klant kan hem claimen of zijn gebeurtenissen ontvangen, zelfs niet met kennis van de URL — en wordt beschermd door een token per hook dat alleen als SHA-256-hash wordt opgeslagen en in constante tijd wordt gecontroleerd. De URL vereist minstens 32 onraadbare tekens plus dat token; fout, ontbrekend, uitgeschakeld of onbekend geven allemaal dezelfde generieke 401, en herhaalde pogingen vanaf een IP worden tijdelijk geblokkeerd — dus er valt niets op te sommen en niets te brute-forcen. Tokens worden eenmalig getoond bij het aanmaken en zijn met één klik te roteren. Hebt u liever dat inkomende payloads onze servers helemaal niet passeren, dan kunt u de relay overslaan en in plaats daarvan uw eigen HTTPS-endpoint aanbieden — dat is het ene geval waarin u wél een poort opent, en webhooks komen dan rechtstreeks bij uw machine aan.
Via git geaudite, omkeerbare historie
Elke jobdefinitie is een bestand in een git-repository die u bezit. Elke wijziging is een commit — volledig te diffen, toe te wijzen en omkeerbaar. Uw job-historie is controleerbaar met de tools die uw team al gebruikt. Wanneer je een repository koppelt voor tweerichtingssynchronisatie, accepteert Cronable alleen een privérepository — een openbare wordt geweigerd, en de synchronisatie stopt als een gekoppelde repository later openbaar wordt gemaakt — zodat je taakdefinities nooit openbaar leesbaar kunnen worden.
Eerlijk over de vertrouwensgrens
De taak van Cronable is om namens u commando's, AI-agents en HTTP uit te voeren, dus behandel het als een shell op het systeem. Expressies draaien in een sandbox die grove fouten voorkomt, niet als een geharde grens — voer er nooit onvertrouwde invoer aan. Wij helpen u het uit te rollen met minimale rechten en verstandige netwerkisolatie.
Draai het achter uw firewall.
Moet u aan beveiligingseisen voldoen? Vertel ons over uw omgeving en we lopen samen door uitrol, hardening en toegangscontroles.
Cronable, en het verlaat nooit uw systeem.