Technical write-up
Sensor & dashboard architecture
The public dashboard and sensor telemetry flow through one deliberately boring, deliberately secure design. Details that would map the private network are omitted on purpose.
- responsive
- dark / light
- no secrets client-side
- request validation
- rate limiting
- event logging
- issued codes
- usage limits
- audit & expiry
- schedules
- rules
- event triggers
- least privilege
- safe fields
- failure isolation
- time-series
- preferences
- logs & metrics
- temperature
- status
- events
- anomaly detection
- forecasting
- recommendations
How a reading gets to your screen
Sensors sign their reports and push them to an ingest endpoint that validates, rate-limits, and stores them as time-series data. The public dashboard never talks to a device: it asks the API layer, which serves a cached, sanitized summary — no device identifiers, no internal addresses, no credentials anywhere near the browser.
How protected capabilities stay separate
Public telemetry is read-only and restricted to a small sanitized schema. Authenticated content and design demonstrations live behind a separate session boundary, so the public dashboard cannot invoke private capabilities.
Security posture
- Public responses validated against an explicit safe-field allow-list
- Rate limiting at both the edge (nginx) and the application
- Secrets live in server-side environment files owned by root — never in the repo, never in the client
- Events logged without sensitive payloads
- Public responses stripped to safe fields; private admin interfaces stay behind owner-only 2FA login