Data handling
Read infrastructure and manage local connections without an account. Your device connects directly to your services. An optional account supports identity and billing separately.
Direct infrastructure reads
The native app reads Proxmox VE, Proxmox Backup Server, Beszel and published Uptime Kuma status pages over your device’s network. The browser supports published Kuma pages only; credential-protected services require the native app.
Requests and any required service credentials go directly to the service you connect. That service receives the request and your network address. ObserveifyNow does not relay those requests or send service URLs, credentials, connection settings or infrastructure readings to its account service.
Resource names, status, metrics and backup information are held in the app’s memory for your overview. There is no hosted metric store, infrastructure sync or analytics tracking. Protected connections use HTTPS with certificate validation. Public Kuma pages can also use HTTP at a private, tailnet or loopback IP address, without credentials.
Storage on your device
- Browser
- Local browser storage saves public connection names, service addresses, service types and status-page slugs. It also saves the local-alert preference. Infrastructure passwords and API secrets are not saved in browser local or session storage.
- Android
- Connection details and credentials are saved in an encrypted device vault. Its encryption key is held by Android Keystore. A native account session token, when present, is saved in the same vault. An optional Tailscale key for tailnet discovery is saved there too and sent only to api.tailscale.com.
- iOS
- Connection details, credentials and any native account session token use the device’s Keychain, with access after the first device unlock and restricted to that device. An optional Tailscale key for tailnet discovery is saved there too and sent only to api.tailscale.com.
The native app’s local-alert preference uses local web storage. ObserveifyNow has no cloud backup or connection-sync feature.
Local alerts and widgets
With system permission, native notifications report how many resource statuses changed since you last opened the app. Changes are found by refreshes in the app and, if you turn them on, background checks that your operating system schedules. Your operating system displays these local notifications; they do not use an ObserveifyNow push service, and the lock screen shows only a generic message.
To find changes and fill widgets, the app keeps a small local status memory on your device: per connection, resource and attention counts, the check time, whether the read failed, and each resource’s last status under a one-way hashed identifier. Widgets read only the counts and times. Names, addresses, details and credentials are not stored for them. Background checks read directly from your device to your services. Editing or removing a connection removes its status memory and widget counts.
Manage local alertsOptional account and sessions
When the account service is configured and you use it, it stores your account ID, name, email address, email-verification status and any profile image. Email and password sign-in stores a password hash. Account records also include creation and update times and may include temporary authentication verification records.
Session records contain an account association, session token, expiry, creation and update times, and may contain your IP address and user agent (browser or app information). These records support sign-in and session authentication.
Browser sign-in uses cookies that page scripts cannot read. Production account cookies require HTTPS. The native app stores its account session token in the device vault and sends it as a bearer token to the account service. This account token is separate from your infrastructure credentials and does not give the account service infrastructure access.
Sign-in and billing providers
Google or Apple browser sign-in contacts the chosen provider only when configured and selected. The account service can store the provider identity, access token, refresh token, identity token, permissions and token expiry when supplied. Native Google and Apple sign-in are not available in the current build.
When billing is configured and used, Stripe supports existing subscription verification and billing management. The account service stores the link between your account and a Stripe customer. It can request subscription and invoice information from Stripe.
RevenueCat supports configured native product loading and restoration through Apple’s App Store or Google Play. It uses your ObserveifyNow account ID to associate store subscriptions; the account service requests subscription status to verify access. These services process account, product and purchase information for billing, without your infrastructure URLs, credentials or readings. The account service also stores billing webhook event IDs and receipt times to recognize repeated events.
New purchases are disabled while remote controls are unavailable. Existing subscription verification, restoration and billing management depend on provider configuration. Reading and local connection management remain free.
Your controls and current limits
You can add, edit and remove local connections without an account. Removing a native connection removes its saved credential from the app’s vault. Clearing browser site data removes browser connection metadata and local preferences. You can disable local alerts in Settings or manage notification permission in your device settings.
Signing out ends your current account session and clears the native saved account token. It does not delete your account.
When the account service is configured, you can delete your account in the app after a recent sign-in. Enter your current password if your account uses one and explicitly confirm deletion.
Completed deletion removes active account records and sessions and clears the account identity on this device. Independent local connections and infrastructure credentials are kept. Deletion does not cancel subscriptions or request refunds; manage existing subscriptions separately.
If deletion is unavailable or cleanup is unconfirmed, use the public deletion request route for support. External provider records and backups have separate handling.
Remote create, edit and delete controls are not exposed; they require verified paid access and explicit confirmation before they can be made available.
Operator and contact
ObserveifyNow is operated by Bartosz Litwa, an individual operator. For privacy, data and deletion questions, use the DoifyNow contact page and put ObserveifyNow in the subject. Requests are handled on a best-effort basis; no response time is promised. Account requests require ownership verification.
Do not send passwords, access tokens, infrastructure URLs, service credentials or raw logs. The DoifyNow company-site privacy notice does not cover ObserveifyNow product records.
Policy status
This page describes current app behavior. It is not yet a complete, reviewed privacy policy. The legal basis for each purpose, your rights and how to exercise them, retention periods, service providers and their processing locations, and app store privacy disclosures are pending owner review.