DIN

Docs

Security: how DIN protects the record

DIN runs on your machine and keeps the record there. This page says what protects it, what you are trusted to keep safe, and how to report a problem. What leaves your machine is on Your data.

The download is signed

Every release's SHA256SUMS is signed with minisign. The one-line installers (get.sh) check that signature against a key written into them before they install anything; with no way to check it, they install nothing and say SIGNATURE NOT CHECKED, so nothing was installed. From 1.0.39 the signed comment also names the release and its date, and the one-line installers refuse a signed release older than the one they expect, so an old release cannot be replayed. If you download the archive yourself, check the signature by hand before you run its install.sh: the key and the check are on Install.

The field answers to this machine only

Keep the field token private. Whoever holds it can read and stamp the whole field. No DIN program prints it.

The licence cannot be edited into a bigger one

A paid entitlement is signed (Ed25519) by our licensing service, and the field, the console, the plugin and din license each check that signature themselves. An entitlement that is unsigned, edited, expired or signed by another key reads as Free. From 1.0.39 an entitlement names the install it was issued to, so one copied to another machine reads as Free there.

Secrets in what is captured

Re-grades are only from this release's programs (from 1.0.39)

A re-grade replaces a stored record only when it was made by one of the three producers, din-record, din-session-record or din-import, whose sha256 is on the allow-list producer-allow.txt. Every release from 1.0.39 ships that file beside its programs and lists it in its signed checksums, and dinctrl.com serves it at /download/producer-allow.txt, beside SHA256SUMS. The 1.0.38 download has no such file. With no list, every replacement is refused and the store is untouched.

Reporting a vulnerability

Write to support@dinctrl.com with "Security" in the subject, as security.txt says. Include the release (din --version), the platform, the steps to reproduce and what an attacker would gain, and please give us the chance to ship a fix before you publish. Never send a field token, an API key or a whole licence key.