secdsm · colophon

secdsm/colophon

A page that shows the seams. How this site is built. What it does and doesn’t do. How to find us, audit us, or yell at us.

dpkg --status secdsm.org // stack

Package:        secdsm.org
Version:        codex/integrated (2026)
Architecture:   static
Maintainer:     SecDSM Board <[email protected]>
Source:         github.com/SecDSM/website_files
License:        content cc-by-sa-4.0; code mit

Build:          liquid (ruby) → static html
Data:           notion via .github/scripts/fetch_notion_schedule.py
CI:             github actions — schedule cron 0 */6 * * *
Hosting:        github pages (https + http/2 + cf-cdn out of the box)
DNS:            cloudflare — venue.secdsm.org / next.secdsm.org auto-synced

Frontend:       hand-written css/custom.css + css/sec-tty.css
                  css/themes/* — seasonal themes, switched on from notion
                  [email protected] (cdn) for grid/utilities
                  vanilla es modules — sec-tty
                  zero npm dependencies at runtime

Fonts:          Bebas Neue + Space Grotesk (Google Fonts)
                  system mono stack (jetbrains, berkeley, sf mono, menlo, ...)

Trackers:       none
Analytics:      none
Ads:            none
3rd-party JS:   bootstrap bundle (cdn)
Cookies:        none (localStorage only — sec-tty session)

Last built:     checking…
Page load:      …

cat ~/.ssh/known_hosts // identity files

File What it is Verify
/security.txtRFC 9116 contact for security disclosurescurl secdsm.org/security.txt
/pgp-key.txtSecDSM Board public PGP keygpg --import < pgp-key.txt
/keybase.txtKeybase verificationvia keybase.io
/favicon.icoIt’s the SecDSM logo. Hi.—

cat /etc/contacts // how to reach us

What Where For
Real-time chatdiscord.gg/aqcDKzVYw3community questions, talk submissions, “is the meetup still on?”
Sponsorship[email protected]sponsorship inquiries, tier questions, whisky barrel coordination
Security disclosures[email protected]vulns in this site or in our infra. PGP encouraged.
Board[email protected]governance, code-of-conduct reports, anything official
Twitter@secdsmannouncements (low-volume; discord is faster)
Source codegithub.com/SecDSMtypo fixes, feature PRs, “you spelled my name wrong”
Mailing address800 4th Ave #1046, Grinnell, IA 50112postal mail, snail-only please. checks payable to “Security Des Moines, Inc.”

man secdsm-design // why it looks like this

This is the codex/integrated theme — cyan-on-deep-violet, neon palette, Bebas Neue display type, monospace artifacts where they make sense. Bootstrap 5 underneath for grid plumbing.

Seasonal themes are one stylesheet and one script layered over the same design tokens, living in css/themes/ and js/themes/. A theme switches on when the next meeting's row in Notion has its Theme set, and switches off by itself when that meeting rolls off the top of the schedule. Nothing is on right now. Come back in October.

The dig venue.secdsm.org output on the home page is real DNS records (RFC 1876 LOC, plus TXT). A GitHub Actions workflow keeps those records in sync via the Cloudflare API — so a curious visitor can dig venue.secdsm.org TXT from their terminal and get the same answer the site claims.

The <sec-tty> live console on the homepage is a real prompt, not a decoration. It has command history (↑/↓), tab completion, and persists session state to localStorage. Type help.

Source is on GitHub. PRs welcome. Be kind.