Repository navigation
Guide Delete Account
You can delete your data inside MowDeck, in the browser and in the iOS and Android app: Settings -> Profile, the last section, below Sign out. What it offers depends on your role in the account, and MowDeck explains each step before anything happens.
- You are removed at once and for good. There is no waiting period and no way back; an administrator of the account can create a new user for you later.
- Deleted: your user (name, e-mail address, password, passkeys, sign-ins), your notification settings and devices, your own AI provider keys. Your user name and e-mail address are free again.
- The mowers, sites, schedules and the record of commands belong to the account and stay, without your name. Schedules you own stop until someone else in the account turns them on again. Share links you created stop working.
- After you confirm (type your user name, then your password or passkey if MowDeck asks), you are signed out and back on the sign-in page.
- The whole account and everything in it is deleted, in every part of MowDeck, after a waiting period of 7 days (your administrator can change it). The dialog shows the exact date.
- Until that date you keep full access: your mowers keep running on their schedules and you can stop them at any time. A banner on every page shows the date and has Cancel deletion.
- API tokens stop working at once, and until the date no members or tokens can be added.
- If this server sells subscriptions: when the deletion starts, the unused part of the current paid period is refunded to the original payment method, and your subscriptions end. The amount is worked out on that day, from what you paid for the period and the days left of it. A remaining credit balance (for example from a change to a cheaper plan) is paid back too, to your most recent payments. Some payment methods (a bank transfer, for example) take a few days to show the refund. Your customer record at the payment provider is deleted; invoices and payment records stay with the payment provider.
The owner cannot delete an account that still has other members. Remove them first under Settings -> Users: deleting the account never removes other people. Each member can also delete themselves.
- After "Delete me": your name in the internal record of sent commands for up to 24 hours and in the record of camera sessions for up to 30 days; then it is removed automatically.
- After an account deletion: technical notices without content, for up to 30 days.
- Backups made by the operator of your MowDeck server may still contain the data until they are replaced. How long they are kept is up to the operator; ask them.
- Outside MowDeck: what the push service of a browser or an ntfy server already holds, requests already sent to a cloud AI provider, and what a mower manufacturer keeps in its own cloud stay with them under their terms. MowDeck deletes the stored logins of linked manufacturer accounts and the pictures and keys it stores itself.
The demo deletes nothing: the section is shown but locked. Its sandbox accounts are removed automatically.
Mirrored from docs/guides/delete-account.md at commit 3bef5e5e3fee108c0a0082ec76312c44477bf6d2. Edit the file in the repository, not this wiki page.
Mirrored from the docs/ directory at commit 3bef5e5e3fee108c0a0082ec76312c44477bf6d2. Edit the files in the repository, not this wiki.
MowDeck documentation
- Home
- Phases
- Architecture
-
Decisions (ADR)
- Architecture decisions
- ADR 0001: OpenFGA instead of self-built authorization
- ADR 0002: Self-built Identity service in FastAPI instead of Keycloak or Zitadel
- ADR 0003: SvelteKit for the web app
- ADR 0004: Monorepo with a uv workspace
- ADR 0005: AGPL-3.0 for services and apps, Apache-2.0 for libraries
- ADR 0006: PostgreSQL for all persistence, no SQLite
- ADR 0007: NATS JetStream as event bus
- ADR 0008: Traefik as gateway
- ADR 0009: Command and event envelopes, subject naming and de-duplication
- ADR 0010: Python 3.13 for all services and libraries
- ADR 0011: Separate GPL-3.0 package for the PyMammotion adapter
- ADR 0012: Mower control interface and safety rules
- ADR 0013: Device-Gateway registry, sharding and per-mower concurrency
- ADR 0014: Authorization model, tuple ownership and the mowdeck-authz client
- ADR 0015: Tokens, sessions and key rotation
- ADR 0016: Fleet commands and authorization per command kind
- ADR 0017: Telemetry storage and retention
- ADR 0018: Realtime WebSocket protocol
- ADR 0019: Mammotion adapter transports, manual drive and secrets
- ADR 0020: Web app architecture
- ADR 0021: Browser authentication flow
- ADR 0022: Notifications: rules, recipients and delivery
- ADR 0023: Map rendering and projection
- ADR 0024: Scheduler: recurrence, rain pause and command issuing
- ADR 0025: Home Assistant integration as a pure API client
- ADR 0026: Manual drive channel over the Realtime WebSocket
- ADR 0027: Health history and theft alarm
- ADR 0028: Entitlements: plans as data and enforcement
- ADR 0029: Helm chart and release pipeline
- ADR 0030: Mowing patterns as plug-ins and the Planner
- ADR 0031: Billing with a Stripe adapter
- ADR 0032: Live camera over Agora, joined directly by the browser
- ADR 0033: Vision-assisted recovery with human approval
- ADR 0034: Linked cloud accounts and device discovery
- ADR 0035: Server-side camera frames and automatic AI analysis on errors
- ADR 0036: Native app shells with Capacitor, loading the web app from the server
- ADR 0037: Camera panorama calibration in the browser, with the AI supplying points only
- ADR 0038: Dual link per mower and firmware updates
- ADR 0039: Spot mowing by MowDeck-driven paths
- ADR 0040: Link heartbeat for online status
- ADR 0041: Spot runs from the dock: undock, transit and return
- ADR 0042: Drive calibration
- ADR 0043: Turn styles
- ADR 0044: Drive view with camera
- ADR 0045: Camera relay
- ADR 0046: Device settings as capabilities
- ADR 0047: The RTK base station as a Fleet device
- ADR 0048: Maintenance commands
- ADR 0049: Manual driving over the Mammotion cloud
- ADR 0050: Passkeys and the app login hand-off
- ADR 0051: Sign in with GitHub
- ADR 0052: Sign in with Apple
- ADR 0053: Retention and downsampling of the position track
- ADR 0054: Aerial photo under the mower map
- ADR 0055: Deploy maintenance window
- ADR 0056: Camera photo in push notifications for errors and theft alarms
- ADR 0057: Step-up re-authentication for critical actions
- ADR 0058: Theft tracking mode
- ADR 0059: iOS widgets and the mowing Live Activity
- ADR 0060: Apple Watch app
- ADR 0061: Mowing angle rotation
- ADR 0062: Setup tour for new users
- ADR 0063: Matter server (mowers in Apple Home and Google Home)
- ADR 0064: Personal access tokens and the public API documentation
- ADR 0065: Security center and new-login alerts
- ADR 0066: Cloud provider plugins and adapters for more vendors
- ADR 0067: Error code lexicon, provider independent
- ADR 0068: Public demo mode
- ADR 0069: Provider conformance kit and provider package template
- ADR 0070: Virtual zones for mowers without a vendor map
- ADR 0071: Capability matrix generated from the adapters
- ADR 0072: API explorer in the web app, for the public demo
- ADR 0073: Guided tour with coach marks
- ADR 0074: NATS authentication and per-service subject permissions
- ADR 0075: Chat control as an optional assistant add-on
- ADR 0076: Demo sandboxes, one account per visitor
- ADR 0077: Liveness, readiness and routing
- ADR 0078: Batched state ingestion
- ADR 0079: Fast demo sandbox claim and release
- ADR 0080: GitHub Codespaces dev container with the full Compose stack
- ADR 0081: Explicit consent before camera pictures or text go to a cloud AI provider
- ADR 0082: Deleting your own account inside the app
- ADR 0083: Payments ledger and operator dashboard
-
Development
- Getting started
- Service template
- Shared libraries
- Cloud providers: adding a vendor
- Adding a provider: template and conformance kit
- Adding an error lexicon for a vendor
- Design: identity and authorization
- Design: fleet, telemetry, realtime
- Design: web app
- Web app
- Home Assistant integration
- Camera source bridge protocol
- Security assurance case
- Fuzzing and property-based tests
- CI and pull request scope
- Reproducible builds
- GitHub wiki mirror
-
Operations
- Operating the Compose stack
- Operating MowDeck on Kubernetes (Helm)
- Internal TLS
- Building the Bluetooth bridge (ESPHome on a XIAO ESP32-S3)
- Releases
- Vendor library updates
- Billing operations
- Telemetry: retention and position downsampling
- iPhone and Android apps
- Passkeys
- Sign in with GitHub
- Aerial photo under the map
- Sign in with Apple
- Theft tracking mode
- Matter server
- Chat control (assistant add-on)
- Source code offer (AGPL-3.0 section 13)
- Public demo
- Load testing
- Spikes
-
Guides
- Guides
- ESP32 bridge: purchase and setup
- Signing in with a passkey
- Signing in with GitHub
- Error codes in plain words
- Aerial photo under the map
- Signing in with Apple
- Confirming critical actions
- Your security page
- Deleting your account or yourself
- iPhone widgets and the mowing Live Activity
- Apple Watch
- The setup tour
- Apple Home and Google Home (Matter)
- Chat control
- Worx Landroid, Kress and LandXcape mowers
- Scripting MowDeck
- Capability matrix
- API reference
- Original plan (German)