This isn't ComfortDelGro Driving Centre's own site. It's an unofficial tool, not built by, endorsed by, or connected to them. It signs in with your own account and reads the bookings you already have. See what happens to your password

Your ComfortDelGro Driving Centre bookings, in the calendar you already use.

Subscribe once, and you're done. New bookings show up on your phone as you make them, and cancelled ones disappear on their own.

To do that, it needs your ComfortDelGro Driving Centre learner ID and password. They're encrypted in your browser before they go anywhere, and everything below the form explains what happens to them, in as much detail as you like.

Create your link

Use the same learner ID and password as in the ComfortDelGro Driving Centre app. They're encrypted right here in your browser, and then the link gets one test run, so you can see it working before you subscribe. Curious how it works? It's all explained below.

What happens to your password

This page, in your browser

Reads your ID and password and encrypts them. This is the only place you type them, and it happens before anything is sent.

your encrypted details, inside the link your calendar app sends each time it refreshes

This site's server

Decrypts your details, signs in to ComfortDelGro Driving Centre as you, builds your calendar, then forgets your ID and password. The only thing it keeps for good is its private key.

your ID and password, as the driving centre expects them

ComfortDelGro Driving Centre

Sends back your bookings: the same list you'd see if you checked them yourself. This part belongs to the driving centre, not to this site.

Where your ID and password can be read, and where they can't.

The encryption, step by step

  1. This page asks the server for its public key (a P-256 elliptic-curve key). A public key can only encrypt. The matching private key is the only thing that can decrypt, and it never leaves the server.

  2. Your browser makes an ephemeral key pair of its own, used for this one message and then discarded. It combines its private half with the server's public key (ECDH) to derive a shared secret. The server can compute the same secret from the other two halves, but nobody watching the link go past can compute it from the public keys alone.

  3. That shared secret is expanded into a 256-bit key (HKDF-SHA256), and your ID and password are encrypted with it using AES-256-GCM. GCM also authenticates the result, so a link that's been altered fails to decrypt.

  4. The ephemeral public key is bound into both the key derivation and that authentication tag. That means your encrypted details can't be lifted out of one link and attached to a different key: they only decrypt as the whole piece they were encrypted as.

In one line: ECIES over P-256, HKDF-SHA256, AES-256-GCM. The browser's half is about a hundred lines in /app.js.

How you're protected

What you can count on

Two things to know

It's all open source

Every line of this site is public, so you can see exactly what it does.

The part that runs in your browser is /app.js: the exact file your browser downloaded, unminified, about two hundred lines of it. The four steps above are its encryptCredentials function. The server's code sits alongside it on GitHub, so you can follow your details at every step.

Ready? Back to the form.

Questions people ask

Is this ComfortDelGro Driving Centre's own app?
No. It's unofficial: it isn't built by or connected to ComfortDelGro Driving Centre, and it has no arrangement with them. It signs in with your own account and reads the same booking list you see yourself. You still book and cancel in the CDC app. This just copies the result into your calendar.
Which calendars does it work with?
Anything that takes a subscription URL: iPhone, iPad and Mac, Google Calendar, Outlook, Fastmail, Thunderbird. The link gives back an ordinary iCalendar feed, so if your calendar can subscribe to one at all, it can subscribe to this.
How quickly does a new booking show up?
That depends on your calendar app, and on a Mac it's up to you. When you subscribe on a Mac, Calendar's Auto-refresh menu lets you pick anything from every five minutes to weekly. iPhone and iPad don't give you a choice, and check roughly once an hour. Google Calendar is slower still, sometimes only once a day. Bookings are cached here for fifteen minutes, so picking anything shorter than that on a Mac just asks more often for the same answer.
Does it cost anything?
No, it's free. There's no account, no sign-up and no payment.
How do I remove it?
Delete the subscription in your calendar app, and the events go with it. To stop the link itself from working, anywhere and for anyone, change your ComfortDelGro Driving Centre password.
Is my password safe?
Your learner ID and password are encrypted in your browser before they're sent, and they travel only inside your calendar link. The server decrypts them just long enough to sign in for you, and never stores them. How you're protected has the details.
Does this site use cookies?
Only for counting visits. The page uses Google Analytics, loaded from googletagmanager.com and google-analytics.com, which sets two cookies, _ga and _ga_3MJPXZTQFV, so that a return visit is recognised. Analytics is never told your learner ID, your password, your bookings or your calendar link.