Skip to the content.

ADR-007: TOTP Over IP Restriction for Ops Access

Date: 2026-03-19 Status: Accepted

Context

The ops dashboard at /ops-access/9f3k/ requires a second authentication factor. The two primary options were IP allowlisting via Cloudflare WAF and TOTP (time-based one-time password).

Decision

Use TOTP via django-otp with Google Authenticator. IP restriction deferred until a fixed office IP is available.

Rationale

Future

When a fixed office IP is available, add Cloudflare WAF rule on ops.agriops.io as an additional layer. TOTP remains even then.

Consequences