OpsEdge Capture Privacy Policy

Effective date: August 21, 2026

Operator (“we”, “us”): Covenant Labs, LLC — the developer of OpsEdge Capture.

This policy covers OpsEdge Capture, the mobile app, and only that app. It is a separate product from OpsEdge, our Maximo-integrated enterprise application, which has its own privacy policy and a different data posture. Please do not read one as describing the other.

Summary

OpsEdge Capture is a field tool for documenting physical assets. Technicians photograph equipment, capture asset details, and sync those records to an OpsEdge server that your own organization operates.

We do not run a cloud service for this app. We do not collect, receive, store, or have access to your photos, asset records, location, or account. The app contains no analytics, advertising, or tracking software. Photo text recognition and the “Nameplate AI” feature run entirely on your device — your photos are never uploaded to us or to any third party for processing.

The app does check for its own software updates, and apart from a no-content connectivity check while it is not paired to a server, that is the only thing it sends anywhere other than your organization’s server. The check carries an anonymous installation identifier and, if the app failed to start the last time you opened it, the error message — never your photos, records, location, username, or anything you typed. Details in App updates.

The app records where you document each asset. With your permission, it attaches your device’s GPS position to the asset record you are capturing — while you are using the app, never in the background — and that position travels with the record to your organization’s own server, so their mapping and asset-management systems know where the equipment is. It is not used to track you and it never reaches us. Declining the permission is a real choice: the app works exactly the same, and the records simply carry no position. Details in Device location.

1. Information the app handles

Camera and photos

The app uses the device camera to photograph assets and equipment nameplates. Photos are stored on the device (in the app’s private storage) and are attached to the asset record you are creating. Photos are used only to document assets.

You can also attach an existing photo with Add from Library. That opens your device’s own system photo picker, which hands the app only the photos you choose — the app has no access to the rest of your photo library, and does not browse, index, or read it.

On-device text recognition and Nameplate AI

To help you fill in asset details, the app reads text from your photos using on-device optical character recognition (Google ML Kit) and an on-device AI model (“Nameplate AI”, running via LiteRT). This processing happens locally on the phone. No photo, and no data derived from a photo, is sent to us or to any third party for this processing. The AI model file is downloaded from the same OpsEdge server your organization operates.

Your account and sign-in

To use the app, you pair it to your organization’s OpsEdge server (by entering its URL or scanning a QR code) and sign in with a username and password issued by your organization. Your username and password are sent only to that server to authenticate you. Your password is not stored on the device; a session token and your username are stored on the device so you stay signed in. We never receive your credentials.

Asset records you create and sync

The records you capture — including photos, recognized/entered text (such as asset tag, manufacturer, model, serial number, description, notes, condition, and the facility location and classification you select) — are stored on the device and, when you Sync, uploaded only to your organization’s OpsEdge server. The “facility location” is a place you choose from your organization’s catalog; it is separate from the device location described below.

Device location (GPS) attached to asset records

What we collect. When you allow it, the app records your device’s position while you are documenting an asset and stores it on that asset record. Each position consists of latitude and longitude, an accuracy figure in meters, the time of the reading, and whether it was taken when the record was created or when you took the first photo for it.

When. Only while you are actively using the app to document an asset: when a record is created, and when you keep the first photo taken with the in-app camera. The app never collects your location in the background, when it is closed, or between captures. It does not track your movements, and it never uses location for anything other than stamping the asset record.

Why. So the organization’s asset-management and mapping systems can place the equipment you documented on a map or at a service address.

Where it goes. With the rest of the record, to your organization’s own OpsEdge server, when you Sync. It is not sent to us and not sent to any third party.

The app adds no location to photo files. Photos the app takes carry no GPS coordinates; the position on the record is the only place the app puts location. (A photo you attach from your device’s photo library is stored as your device recorded it, so if your camera app saved coordinates in that file, they stay in it. The app neither reads nor uses them.)

Your control. The app asks for location permission once. If you decline, the app works exactly as it otherwise would — your records simply carry no position, and nothing prompts you again. You can also turn location off for OpsEdge Capture at any time in your device’s system settings (iOS: Settings → Privacy & Security → Location Services; Android: Settings → Apps → OpsEdge Capture → Permissions), and records captured afterwards carry no position. If you grant only approximate / non-precise location, the app stores exactly what your device reports, labelled with its true (much larger) accuracy figure.

What we, Covenant Labs, receive: nothing. As with everything else in a record, your position goes only to the server your organization operates. Positions already synced live on that server; see Your organization’s role below for how to have them removed.

Local storage on the device

Records, photos, cached catalog data, app settings, and your session are stored in the app’s private storage on the device. You can erase all of it at any time with Reset Device in the app. Uninstalling the app also removes this data.

Network connections

The app connects to (a) the OpsEdge server URL you paired with, to sign in, sync records, and download the AI model; (b) when the app is not paired to a server (for example in an unconfigured/demo state), it may make a no-content connectivity check to a public “connectivity check” endpoint to detect whether the device is online — no personal data is included in that check; and (c) Expo’s update service, described next.

App updates

The app can receive software updates without a new install from the app store, using EAS Update, a service operated by Expo (650 Industries, Inc.). Each time you open the app it asks that service whether a newer version of its code is available, and downloads it if so.

What the request contains. An installation identifier — a random identifier created the first time you run the app and stored on your device. It is not your name, your username, your account, your device’s serial number, or an advertising identifier, and it is not linked to any of them. It is not guaranteed to change when you reinstall: both Android and iOS carry app preferences across a backup restore or a transfer to a new phone, so the same identifier can come with you. The request also carries the app’s version, platform and release channel, so the service can tell whether an update applies to your build.

And, after a failed start, one error message. If the app failed to start the last time you opened it, that error text is included so a broken update can be detected and withdrawn. It is an error message from the app’s own code — it does not contain your photos, records, location, or anything you typed.

What it does not contain. Your photos, your asset records, your location, your username or password, your organization’s server address, or any data you have captured. None of that ever goes to Expo.

What we can see. Expo’s dashboard shows us delivery activity for updates we publish — aggregate counts derived from these requests. It is a count, not a list: it does not tell us who you are, which organization you use the app for, or anything you captured. The app does not include Expo’s separate analytics package, so no launch, session, screen, or usage data is reported to anyone.

This is not analytics and not user tracking. The identifier exists so an update can be delivered to a device and, if the update is bad, withdrawn from it. It is not used to build a profile, is not shared with advertisers, and is not joined to anything else.

Turning it off. The update check is part of the app and cannot be switched off from inside it. A device kept off the network will not perform it. Organizations that need the app to reach no destination other than their own server should talk to us about a build with updates disabled.

Expo’s handling of this data is governed by its own privacy policy at expo.dev/privacy.

2. What we do NOT do

  • We do not operate a backend that receives your photos, asset records, location, account, or anything else you capture.
  • We do not collect analytics or usage tracking. We do not record what you do in the app, which screens you open, or how long you spend there.
  • We do not use advertising or any advertising identifier (no IDFA/AAID).
  • We do not collect your device’s identity — no serial number, IMEI, MAC address, or advertising ID. The app-update check does send an anonymous installation identifier, which identifies a copy of the app, not you and not your device; see App updates.
  • We do not run a crash-reporting or telemetry service. The one exception is the error message carried on the update check described in App updates, which exists so a bad update can be withdrawn.
  • We do not access your contacts, microphone, or calendar. (The microphone is not used; the app takes photos only.)
  • We do not collect your location in the background, when the app is closed, or between captures — see Device location.
  • We do not sell your information, and we do not share it with third parties for their own purposes. One company receives anything at all — Expo, which runs the app-update service on our behalf and receives only what App updates lists.

3. Your organization’s role

Because your photos and records are sent to a server your organization operates and controls, your organization is the data controller for that information. How your organization stores, retains, and uses the data it collects through OpsEdge is governed by your organization’s policies, not this one. Direct questions about your captured data to your organization’s OpsEdge administrator.

4. Children

OpsEdge Capture is a workplace tool and is not directed to children under 13 (or the equivalent minimum age in your jurisdiction).

5. Security

Data you sync travels over the network to your organization’s server. We recommend your organization serve OpsEdge over HTTPS/TLS; production app builds require an https:// server URL for pairing.

6. Changes to this policy

We may update this policy; material changes will be reflected by a new effective date at the top. Continued use after an update constitutes acceptance.

7. Contact and data deletion

Questions about this policy, or requests relating to it:

Covenant Labs, LLC

Email: help@covenantlabsllc.com

Website: covenantlabsllc.com

For questions about data captured through your deployment — including requests to delete records you have synced — contact your organization’s OpsEdge administrator. Because those records live on your organization’s own server, we have no access to them and cannot delete them on your behalf. To erase the copy on your device, use Reset Device in the app or uninstall it.