Cloudflare has no mobile app. So I built CF Dash — a companion for managing Cloudflare on the go, built with Flutter and available on iOS and macOS. This post covers why I built it, how it works, and what you can do with it.
The 3 AM Realization
It was 3 AM on a Sunday. My phone buzzed — a Cloudflare alert: my origin server was returning 502s for a client's site.
I needed my laptop — but it was in the office. My iPad was dead. All I had was my iPhone.
I opened Safari, navigated to the Cloudflare dashboard, and spent the next 10 minutes pinching and zooming, trying to check the origin server status and verify DNS resolution. It worked, but it was not ideal.
That night, I thought: why doesn't Cloudflare have a mobile app?
So I did what any developer would do: I built my own.
What CF Dash Does
CF Dash is a cross-platform iOS and macOS app built with Flutter. It connects to the Cloudflare API and gives you access to the most common management tasks:
DNS Management
- Browse and search DNS records across all your zones
- Edit records (Pro feature), add new ones with full type support (A, AAAA, CNAME, TXT, MX, SRV, etc.)
- Toggle proxy status (orange cloud / gray cloud) in one tap
Analytics at a Glance
- Daily bandwidth, requests, and HTTP status code breakdowns
- Top countries, top URLs, and threat metrics
- Full analytics history available with Pro
Workers, Pages & Storage
- List and monitor your Workers and Pages projects
- Quick preview of Worker build versions
- Browse R2, D1, and KV storage
- Purge cache with a single tap
Security & SSL
- View and manage SSL/TLS settings per zone
- WAF event monitoring and filtering
- Biometric lock (Face ID / Touch ID) for app access
The Technical Side
CF Dash is built with Flutter, targeting both iOS and macOS from a single codebase.
Keychain-First Security
I made a deliberate decision early on: no cloud relay, no backend server. Your API token never leaves your device — stored securely in the system keychain. This means:
- No account to create
- No data leaves your device
- The app works fully offline with cached data
- You can delete it and all traces are gone
This constraint made some things harder (no push notifications, no cross-device sync), but for a developer tool that manages infrastructure credentials, offline-first is the right trade-off.
Why Flutter?
I chose Flutter because it delivers a native feel on both iOS and macOS without maintaining two codebases. The app gets real-time rendering with Skia — no web views, no Electron — and supports platform features like biometric auth and iPad multitasking (Split View / Stage Manager) out of the box.
The Reality Check
Let's be honest about where CF Dash stands today:
What works well:
- DNS browsing is fast and reliable
- Analytics load in under 2 seconds on typical zones
- Worker build previews from the app
- R2 / D1 / KV storage browsing
What probably won't come:
- Push notifications for alerts (requires a backend — violates the offline-first principle)
- Full Cloudflare API coverage (~400 endpoints is a lot for a mobile UI)
Try It
CF Dash is free to download on the App Store:
https://apps.apple.com/us/app/cfdash/id6766168875?ref=devto_launch
The free tier gives you access to basic features (view up to 2 domains, simplified analytics, 1 account). A Pro subscription unlocks the full feature set (DNS editing, cache purge, full analytics history, SSL management, WAF filtering, Workers/Pages/R2/D1/KV management, unlimited domains, biometric lock, and multi-account support).
No free trial gimmicks — the free tier is genuinely useful for monitoring, and Pro is there when you need the full toolkit.
Let's Talk
I built CF Dash because I needed it. But I'm also building it for the community. If you try it and have thoughts:
- What feature would make you use it daily?
- What's the one Cloudflare task you wish you could do from your phone?
- Found a bug? Tell me — I'll fix it.
Drop a comment below or find me on X/Twitter.
CF Dash is an independent third-party app, not affiliated with Cloudflare. Built by a solo developer who wanted a better tool.
Top comments (0)