6.6 KiB
6.6 KiB
03:09 AM — vault1984 session (continued)
vault1984 project — major progress tonight
- Domain: vault1984.com registered in Openprovider, DNS via Cloudflare (zone: 1c7614cd4ee5eabdc03905609024f93a), A record → 47.197.93.62 (forge home IP), TTL 60
- Caddy:
vault1984.com, www.vault1984.comblock added, reverse_proxy → 192.168.1.16:1984. HTTPS live via ZeroSSL. - GitHub: Private repo created at https://github.com/johanjongsma/vault1984 under
johanjongsmaaccount (notjohan-jongsmawhich is Kaseya-linked). GH token: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(stored for repo ops). - Systemd service: vault1984.service running on forge, auto-restart, EnvironmentFile=/home/johan/dev/vault1984/.env
- VAULT_KEY: d153af4a1b9e58023d0ec465f2674fc29d52ea0b9ef9a0f0cbbaaee63f0117fb (persistent)
- DB: /home/johan/dev/vault1984/vault1984.db
vault1984 — what's built
- Go binary, single SQLite, port 1984
- Marketing website at
/, app UI at/app/ - L1/L2 encryption, MCP endpoint, scoped tokens, TOTP, import (format-detection only — LLM never sees credential values)
- LLM config: LLM_API_KEY, LLM_BASE_URL, LLM_MODEL (any OpenAI-compatible provider)
- 11 integration tests passing (TestHealth, TestCreateLogin, TestReadLogin_RoundTrip, TestURLMatch, TestTOTP_AgentGeneratesCode, TestMCP_ListCredentials, TestMCP_GetCredential_Inou, TestMCP_GetTOTP, TestScopedToken_HidesOtherEntries, TestPasswordGenerator, TestAuditLog)
vault1984 — landing page work
- Real world map: Natural Earth 110m topojson, pre-projected to SVG, antimeridian artifacts fixed, no grid lines
- Datacenter locations: Virginia, Zürich (gold #D4AF37, HQ), Beijing, Sydney
- Visitor geolocation:
/geoendpoint (ip-api.com, detects private IPs, falls back to browser geolocation API) - Red pulsing dot + 5th card for visitor location
- Zürich: gold dot, gold label, larger pulse rings, subtle gold border on card
- Copy fixes: "Your EA" → "Your assistant can book your flights. Not read your diary.", TOTP explained inline, L1/L2 explainer rewritten for clarity, Bitwarden removed from editorial copy (kept in complaint quotes), "your government" rejected — kept "or anybody else"
- vault1984 styled everywhere (green 1984)
SMTP — noreply@inou.com
- Dedicated Stalwart account created on Zurich: username
noreply, passwordInouNoreply2026! - Port 465 (implicit TLS) — port 587 only offers OAuth2, not PLAIN/LOGIN
- SMTP creds for inou app: host=mail.inou.com, port=465, user=noreply, pass=InouNoreply2026!, from=noreply@inou.com
Caddy (192.168.0.2) — important corrections
- SSH:
ssh root@192.168.0.2(direct LAN). Do NOT use Tailscale (requires re-auth). - Log dir ownership fix:
chown caddy:caddy /var/log/caddyafter every reboot (known issue) - Caddy updated to 2.11.1, Tailscale 1.94.2 during tonight's update
- Git backup:
git@zurich.inou.com:caddy-config.git— Caddyfile committed, auto-commits via daily-updates.sh - Added to daily-updates.sh: apt upgrade + Caddyfile git push
Cloudflare API
- Token:
dSVz7JZtyK023q7kh4MMNmIggK1dahWdnBxVnP3O - Account ID:
86e646c0224dc44dcffb08c981ff9200 - vault1984.com zone ID:
1c7614cd4ee5eabdc03905609024f93a
Spacebot feedback on vault1984
Opus-level analysis: concept "ahead of everyone else", architecture "genuinely clever". Red flags cited: no GitHub (fixed), no audit (acknowledged gap), L2 recovery not documented (gap remains), L1 server-readable on hosted copy is misleading (needs callout in copy). "Bookmark it, check back in 6 months."
Kaseya / password space
Confirmed: Kaseya had Passly (via ID Agent) — no longer offered as of early 2025. Clear market.
04:28 AM — vault1984 session cont. (pre-compaction)
vault1984 landing page — current state
- URL: https://vault1984.com (HTTPS live, ZeroSSL via Caddy)
- App: https://vault1984.com/app/ (vault UI)
- Hosted page: https://vault1984.com/hosted (map + pricing)
- GitHub: https://github.com/johanjongsma/vault1984 (private)
- Systemd: vault1984.service on forge, auto-restart, port 1984
What's working on the landing page
- Real world map (Natural Earth 110m SVG, pre-projected, no CDN)
- 4 DC dots: Virginia (green), Zürich (gold #D4AF37), Beijing (green), Sydney (green)
- Visitor geo: /geo endpoint → ip-api.com, private IP → browser geolocation API fallback
- Reverse geocode for browser geo: /geo?lat=X&lon=Y (Go handler, ip-api.com)
- Visitor red dot on map + 5th card in grid (St. Pete working)
- 5-col grid, one row, solid bg colors (no gradients): green #0d1f10, gold #1a1600, red #1f0a0a
- Self-hosted Tailwind CSS (16KB), Google Fonts (CDN), favicon.svg
- Zero CDN except Google Fonts
- No console errors
What was in progress when we stopped
- Fix /geo to accept lat/lon query params for reverse geocode (Go handler update needed)
- "You" card still showing no city/country (bigdatacloud → switched to /geo?lat=X&lon=Y proxy)
- Nav "Hosted" link: was missing from hosted.html, just added
- Map and cards alignment: in same container width
- Last commit not yet built/pushed — changes pending in both hosted.html and index.html
Pending build/push
cd /home/johan/dev/vault1984
# 1. Update /geo handler to accept lat/lon params for reverse geocode
# 2. go build -o vault1984 ./cmd/vault1984/
# 3. sudo systemctl restart vault1984
# 4. git add -A && git commit -m "..." && git push
/geo handler needs update
- Add lat/lon query param support to GeoLookup handler
- If lat/lon provided → use ip-api.com reverse geocode (or nominatim)
- If no lat/lon → use IP-based geo (existing behavior)
vault1984 website structure
/→ index.html (marketing, slim hosted CTA)/hosted→ hosted.html (map + pricing + datacenter cards)/app/→ embedded app UI (vault)/install.html,/pricing.html,/privacy.html,/terms.html→ static pages/geo→ Go handler (ip-api.com lookup by IP or lat/lon)/api/*→ vault REST API (auth required)/mcp→ MCP endpoint (scoped token auth)
Tailwind rebuild needed when adding new classes
cd /home/johan/dev/vault1984/cmd/vault1984/website
/tmp/tailwindcss --config /tmp/tw.config.js --input /tmp/tw.css \
--content "./*.html" --output tailwind.min.css --minify
tw.config.js custom colors: accent=#22C55E, navy=#0A1628, navy-light=#111f38
Cloudflare vault1984.com
- Zone ID: 1c7614cd4ee5eabdc03905609024f93a
- A record: @ → 47.197.93.62 (forge home IP), TTL 60
- NS: aryanna + sage.ns.cloudflare.com
- Token: dSVz7JZtyK023q7kh4MMNmIggK1dahWdnBxVnP3O
noreply@inou.com SMTP
- Host: mail.inou.com, Port: 465 (implicit TLS — 587 is OAuth2 only)
- User: noreply, Pass: InouNoreply2026!