# Guard — Terms and Conditions of Use

*Effective date: July 2, 2026*
*Last updated: July 2, 2026*

These Terms and Conditions ("**Terms**") govern your access to and use of the Guard emergency-alert platform, including the Guard mobile-web application, the ePass premise vehicle access-control system, and all associated services (collectively, the "**Service**") operated by **Contrivances Engineering Ent. Ltd.** ("**we**", "**us**", "**Operator**").

By creating an account, signing in, clicking **"I accept"** on the welcome dialog, or otherwise using the Service, you ("**User**", "**you**") acknowledge that you have read, understood, and agreed to be bound by these Terms. If you do not agree, you must not use the Service.

---

## 1. Eligibility & Account

1.1 You must be **at least 16 years of age** to use Guard. If you are under 18 you must have a parent or legal guardian's permission.

1.2 Guard uses **passwordless magic-link authentication** sent to your email address via Resend. You are responsible for keeping your inbox secure. We are not liable for unauthorised access resulting from a compromised email account.

1.3 Government-issued role assignments (`@contritrack.com` → System Admin; `.gov.ng` → Government Admin) are granted automatically by email-domain match and may be revoked at any time by the Operator.

---

## 2. Permitted Use — Emergency Alerts

2.1 Guard is intended for **genuine emergency reporting and situational awareness**. You agree to use it in good faith.

2.2 You may report the following alert types: **Security Threat**, **Fire**, **Medical**, **Accident**, **Banditry**, **Location Share**, and **eCaution** (road caution). You must not invent, exaggerate, or misrepresent emergencies.

2.3 Each alert is broadcast to nearby users, administrators, and (where applicable) government agencies based on the proximity radii configured for each alert type. **You consent to your alert being shared with these recipients.**

2.4 Guard is **not a substitute for calling official emergency services** (Police 112, Fire Service, Medical Services). Always call emergency services first when life is at immediate risk.

---

## 3. Peer Verification & Anti-Abuse Sanctions

3.1 Other users **within 500 m** of any alert you create may vote whether the alert is genuine ("**True**") or fabricated ("**False**").

3.2 If your alert receives **three (3) `False` votes from citizens** OR **one (1) `False` vote from an administrator**, your account will be **automatically sanctioned**:

- You will be blocked from creating new alerts.
- Your trust score will decrease.
- A fine of **₦10,000** (ten thousand Nigerian Naira) is required to lift the sanction; payment is processed via Flutterwave.
- An administrator may instead lift the sanction at no cost via the Appeals process (§ 3.3).

3.3 You may submit an **appeal** at any time after a sanction. Appeals are reviewed by administrators in the order received. Decisions are final but you may submit a fresh appeal if circumstances change.

3.4 **False or malicious reporting may also constitute a criminal offence** under Nigerian law (e.g., Cybercrimes (Prohibition, Prevention etc.) Act 2015 §24). The Operator reserves the right to share your account, IP, and report data with law enforcement on lawful request.

---

## 4. Location Data & Privacy

4.1 Guard requires access to your device's GPS to:
- Decide which proximity-based alerts to deliver to you,
- Tag every alert you send with accurate coordinates,
- Verify your eligibility to peer-verify nearby alerts (§ 3.1),
- Power Driving Mode background eCaution announcements, over-speed warnings, and the Safe Route AI advisory (§ 7B).

4.2 The Operator stores your **most recent latitude/longitude** in the database. Background tracking ("Driving Mode") syncs your position **at most every 30 seconds OR every 75 m moved**, whichever comes first. You may turn it off at any time.

4.3 Coordinates from your alerts are reverse-geocoded into a human-readable street address via the **Google Maps Geocoding API**. The address is stored alongside the alert and may be displayed publicly on the Stolen Vehicle `/lookup` page (in the case of vehicle-related alerts).

4.4 We use the following third-party data sub-processors. By using Guard you consent to their respective privacy policies:

| Sub-processor | Purpose |
|---|---|
| **Resend** | Magic-link sign-in emails |
| **Flutterwave** | Donations, sanction fines, ePass vehicle subscriptions, Scan2Call wallet top-ups, physical QR sticker orders |
| **Google Maps Platform** | Basemap tiles, Geocoding API (reverse address lookup), Directions API (Safe Route advisory), navigation deep-links from push notifications |
| **OpenStreetMap Nominatim** | Reverse geocoding of visitor GPS coordinates on Scan2Call rings, and other coarse geocoding fall-backs |
| **Agora RTC** | Live video calls between alert reporters and proximity-eligible admins, AND Scan2Call visitor↔resident video calls; no media is recorded or stored by Guard |
| **Anthropic Claude (via Emergent LLM Key)** | AI-generated intelligence summaries (admin only), Safe Route advisory reasoning, Nigerian license-plate OCR, multi-language alert translations for TTS |
| **ipwho.is** | Best-effort visitor IP → City, Country resolution shown to Scan2Call residents when the visitor declines browser GPS permission |
| **Cloudflare** | CDN + WAF for `contritrack.com`; the `CF-IPCountry` HTTP header is used as a fallback country hint on Scan2Call rings when other geo lookups fail |

4.5 We **do not sell** your data. We may share aggregated, anonymised statistics for research, journalism, or government policy purposes.

4.6 **Photo evidence on alerts.** You may attach up to **three (3) photographs** to any alert you create, and the alert's creator (or any administrator) may add more photos at any time before the alert is resolved (subject to the 3-photo cap). Images are stored as Base64 inside the alert document and shipped to viewers on demand only — the active-map feed transmits only a count, not the images themselves, to keep network usage low. Images you upload become part of the alert record and fall under the licence in § 12.2; do not upload anything you do not have the right to share. Resolved alerts retain their attached images for the audit retention window stated in § 13.1.

---

## 5. ePass — Vehicle Access Control & Stolen Vehicle Network

5.1 ePass is an **opt-in subscription**. By subscribing you may register vehicles you own, manage fleets, operate premises (fixed or mobile checkpoints), and scan license plates of other vehicles.

5.2 **Annual vehicle subscription — ₦5,000 per vehicle, per year.** Each registered vehicle must hold an active subscription to be considered "Active" on the network. New registrations enter a `Pending` state until payment is confirmed by Flutterwave, at which point the vehicle becomes `Active` for 365 days. Once that year elapses the vehicle is marked `Expired`; renewing extends the period by another 365 days from the later of (i) today or (ii) the existing expiry. Inactive/expired vehicles remain on your registry but do not unlock the full set of ePass features.

5.3 You warrant that **you are the lawful owner** of any vehicle you register. The Operator is not liable for ownership disputes. Marking a vehicle as **"stolen"** is a serious declaration; falsely flagging another person's vehicle as stolen may constitute defamation or a criminal offence under § 24, Cybercrimes Act 2015.

5.4 When a stolen-flagged vehicle is scanned at any premise on the network, an automatic alert is broadcast to the vehicle's owner, registered admins, and on the public `/lookup` page.

5.5 License-plate recognition is performed by **Anthropic Claude Sonnet 4.5** (via the Emergent LLM Key) using a Nigerian-format-aware system prompt. The cropped plate image (a JPEG of the framed plate strip) is sent to Claude over an encrypted channel, hashed by SHA-256 server-side, and cached so a repeat scan of the same frame is free. We log the predicted plate, confidence, latency, and (with your final submit) whether the prediction was kept or corrected — used solely to monitor and improve accuracy. Raw images are **not** retained; only the small evidence thumbnail attached to any resulting stolen-vehicle alert is stored.

---

## 6. Payments — Donations, Fines & Subscriptions

6.1 Donations, sanction fines, and ePass vehicle subscriptions are processed by **Flutterwave** (a third-party payments processor licensed by the Central Bank of Nigeria).

6.2 **Donations are voluntary, non-refundable, and not tax-deductible**. Anonymous donations are honoured but do not entitle the donor to any benefit.

6.3 **Sanction fines and ePass vehicle subscriptions are non-refundable** once paid, except where required by law or in cases of administrative error proven by the Operator. Subscriptions do **not** auto-renew — payment must be initiated manually before each renewal cycle.

6.4 Subscription products and current pricing:

| Product | Price | Period | Coverage |
|---|---|---|---|
| ePass vehicle subscription | ₦5,000 | per vehicle, per year | Keeps the vehicle Active on the ePass network |
| Scan2Call wallet — per-minute call billing | ₦30 | per minute of connected call time | Deducted from the resident's Scan2Call wallet balance while an answered call is live |
| Scan2Call physical QR sticker | market-rate (shown at checkout) | one-time | Weatherproof QR sticker shipped to your premises |

6.5 The Operator's bank account: **GTBank 0035453902 — Contrivances Engineering Ent. Ltd.** All Flutterwave proceeds are remitted to that account.

6.6 **Weekly Digest emails (admins only).** Verified administrators may **opt in** to a weekly compliance digest delivered every Monday at 06:00 (Africa/Lagos) by email via Resend (§ 4.4). The digest contains an inline summary plus three CSV attachments: the last 7 days of alerts, sanctions, and ePass scans. The CSVs include the same fields administrators can already export manually under § 8.6 of the Technical Paper; no new categories of personal data are introduced. Opt-in is per-admin, recorded in your account, and can be withdrawn at any time from `/admin/activity` or the Dashboard sidebar.

6.7 **Scan2Call wallet — top-ups and refunds.** Wallet top-ups are processed by Flutterwave (§ 4.4) and credited immediately on webhook confirmation. Wallet balances are **non-refundable to cash** but may be used against any future Scan2Call call. Automatic **first-minute refunds** are issued when an answered call ends within 15 seconds — see § 7C.4. Manual refunds outside of that window are considered on a case-by-case basis via `alerts@contritrack.com` where the Operator's records show a system-side failure.

---

## 7. Live Video Reports

7.1 If you are the creator of an active alert, you may launch a **live video room** (powered by **Agora RTC**) so administrators within the alert's proximity can witness the incident in real time.

7.2 By starting a live room, you consent to your **audio and video being broadcast** to authenticated, proximity-eligible Guard administrators. **No recording is retained on Guard's servers** — Agora delivers the media stream to participants over its real-time channel and Guard does not enable Agora Cloud Recording.

7.3 You may end the live room at any time. Administrators do not have unilateral access to your camera or microphone outside of a room you have explicitly started.

## 7A. Live Location Sharing ("Track me")

7A.1 In addition to live video, the creator of an active alert may opt in to **live location sharing**, attaching a moving GPS pin and breadcrumb route to that alert. Watchers (proximity-eligible users and administrators) see your real-time position update on the dashboard map.

7A.2 By starting tracking, you consent to **continuous transmission of your latitude, longitude, accuracy, and speed** for as long as the session is active. The Operator stores the full route history for the duration of the session.

7A.3 **Only you can stop tracking** — administrators may also stop your session in exceptional circumstances (e.g., an alert was wrongly created and abandoned). Tracking does **not** auto-expire; if you forget to stop it, your session continues until you do.

7A.4 Administrators within the network are notified once when tracking begins. We deliberately do not mass-broadcast to all users to avoid notification fatigue.

## 7B. Driving Mode, Over-Speed Alerts & Safe Route Advisory

7B.1 **Driving Mode** is an opt-in, in-vehicle safety mode. While active, Guard continuously samples your GPS (at most every 30 s OR every 75 m moved), requests a Screen Wake Lock to keep the display on, and reads nearby road cautions (potholes, checkpoints, flooded roads, etc.) aloud via Text-to-Speech in your chosen Nigerian language (Yoruba, Hausa, Igbo, Pidgin, English).

7B.2 **Over-speed alerts.** While Driving Mode is on, Guard computes your speed from successive GPS samples. When the speed exceeds the configured threshold (default **120 km/h**), an overlay appears with your live speed and a spoken over-speed warning. The speed is **not transmitted to any third party** outside of routine Guard backend storage covered in § 4.

7B.3 **Safe Route AI Advisory.** When you enter a destination in Driving Mode, Guard sends your origin GPS and the destination to Google Directions API to fetch up to three live-traffic-aware routes, cross-references each route's path against active Guard alerts (security / fire / banditry / accident / eCaution within 500 m of the polyline in the last 6 hours), then asks **Anthropic Claude Sonnet 4.5** to recommend the safest fast route and produce a one-sentence advisory. The advisory is read aloud in your chosen language and the chosen route is drawn on the map.

7B.4 **Voice destination.** You may also speak your destination instead of typing it. Voice recognition is performed entirely **in your browser** by the standard Web Speech API; **no audio leaves your device**. Only the recognised text string is sent to Guard's backend (and onward to Google for geocoding).

7B.5 **Live Re-route.** After a route is computed you may enable Live Re-route. Guard re-queries Directions + alerts every 60 s using your fresh GPS. You will only be re-notified (toast + TTS) when the recommendation **meaningfully changes** (a new alert lands on the chosen path, or an alternative becomes safer) — otherwise the system stays silent.

7B.6 **Arrival detection.** Live Re-route stops automatically when your GPS dwells within **100 m of the destination for 30 s**. "You have arrived" is spoken in your chosen language; no manual stop is required.

7B.7 **Routing cache.** Two drivers in the same neighbourhood (~110 m grid) asking for the same destination within a 5-minute time bucket may receive a **shared cached response** for performance and cost reasons. This means: your origin GPS may briefly be compared with another driver's origin GPS at a coarse grid; **no other driver's data is shared with you**, and no Guard user is told that anyone else has made the same query.

7B.8 **No legal status.** A Safe Route advisory is a recommendation only. **It does not relieve you of any legal duty as a driver** — observe the Highway Code, posted signs, traffic officers, and your own judgment at all times. The Operator is not liable for the consequences of following or disregarding any advisory (see § 10 below).

## 7C. Scan2Call — Video Doorbell Service

7C.1 **Scan2Call** is an opt-in Guard feature that turns any Guard user's front door (or gate) into a scan-to-call video doorbell. Residents may order a physical QR sticker (or generate a printable QR) and mount it at their premises. Any visitor with a smartphone can scan the QR to open a live audio/video call to the resident.

7C.2 **Visitor side (no Guard account required).**
- The visitor page (`/d/:qrToken`) is public and does **not** require a Guard account. Opening the QR link auto-initiates the ring — no additional taps are needed.
- To place a call, the visitor's browser must grant **microphone and camera** permission. Their live audio + video are transmitted over Agora RTC to the resident for the duration of the call. No recording is retained on Guard's servers.
- If the resident does not answer within **60 seconds**, the visitor may leave a **voicemail up to 30 seconds long**. Voicemails are stored (as base64 audio) on Guard's servers and delivered to the resident in-app.
- **Visitor location.** With the visitor's browser permission, their **GPS coordinates** are reverse-geocoded (via OpenStreetMap Nominatim) and shown to the resident as "Calling from Street, City" so the resident can decide whether to answer. If GPS permission is denied, Guard falls back to **IP-based city resolution** (via ipwho.is / Cloudflare's country header) — the visitor's public IP is briefly sent to those services for that purpose. Location is stored on the ring record.
- **After the call ends,** the visitor sees an invitation to sign up for their own Guard doorbell and is optionally redirected (in a new tab) to the Guard marketing site. This is a one-time prompt per page load.

7C.3 **Resident side.**
- Answering a ring places the resident into an audio-only Agora call with the visitor by default. The resident may optionally publish their camera mid-call via a **"Show face"** toggle; their video is unpublished immediately when they toggle it off or hang up. The camera feed is never recorded.
- The resident may play **deterrent sounds** (dog barks, siren) into the visitor's audio stream instead of answering, e.g. to discourage an unknown or unwanted visitor.
- If the resident does not answer within 60 s, the visitor is prompted to leave a voicemail (7C.2 above). Voicemails appear as an unread badge on the resident's Scan2Call widget until played.

7C.4 **Scan2Call Wallet — billing model.**
- Each resident has a **Scan2Call wallet** in Nigerian Naira. Calls are billed **₦30 per minute**, with the first minute debited on answer and every subsequent 60 s window debited automatically via a server-side billing watchdog. There is **no upper time limit** — a call runs as long as the wallet holds credit.
- If the wallet cannot cover the next minute, the call is auto-ended with a clear "wallet_empty" reason and the resident sees a top-up prompt.
- **Auto-refund window (15 s):** if an answered call ends within 15 seconds — for example because the Agora media session failed to establish — the ₦30 first-minute charge is refunded automatically. This is best-effort but reliable in normal operation.
- **Welcome bonus.** Every new Guard account (first magic-link verification) receives **₦100 in the Scan2Call wallet** as a one-time welcome credit. Existing users are not affected. The credit has no cash-equivalent value and cannot be withdrawn.
- **Voicemails and unanswered rings are FREE** — no debit occurs unless the resident actually answers the call.

7C.5 **QR sticker orders.**
- Residents may order a **physical Scan2Call QR sticker** for delivery to their premises. Sticker orders are processed by Flutterwave; the price at time of order and shipping status are shown in-app on the sticker-order page.
- System-administrator accounts (`@contritrack.com`) may bypass sticker-order payment for internal fulfilment.
- Stickers ship at cost + logistics. Refunds are handled on a case-by-case basis via `alerts@contritrack.com`; a printed but not-yet-shipped sticker may be refunded, a shipped sticker cannot.

7C.6 **Rate limits & abuse controls.**
- The public visitor endpoint is rate-limited to **5 ring attempts per 10-minute window per (visitor IP, QR-token) pair.** Exceeding it returns HTTP 429 for the remainder of the window.
- Each resident's inbox is capped at **20 voicemails per 24-hour period** to prevent a hostile visitor from exhausting the resident's Mongo footprint. A visitor exceeding this cap gets HTTP 429; the ring itself still connects.
- Residents may **revoke their QR** at any time from the Scan2Call settings; a revoked QR immediately rejects new rings with a 404.

7C.7 **Data retained by Guard for Scan2Call:**
- Ring records: `ring_id`, `qr_token`, resident `user_id`, channel name, visitor IP (truncated), visitor GPS (when granted), visitor-provided name (when supplied), start/answered/ended timestamps, duration, wallet amount debited, refund amount, and the resolved "City, Country" or "Street, City" label.
- Wallet transactions: top-ups, per-minute call debits, welcome bonus credits, refunds.
- Voicemails: base64-encoded audio (typical ≤ 400 KB), MIME type, duration; retained until the resident deletes them or the account's audit-retention window elapses (§ 13.1).
- **Agora media (live audio, live video, resident camera when toggled on) is NEVER recorded or persisted by Guard.**

7C.8 **Visitor consent.** By scanning a Scan2Call QR and permitting microphone / camera / geolocation access on the visitor page, the visitor consents to (a) their live audio + video being transmitted to the resident via Agora RTC, (b) their GPS or IP being used to derive a location label shown to the resident, and (c) their voicemail being stored on Guard's servers and delivered to the resident. **Guard does not fingerprint visitors, does not create a Guard account on their behalf, and does not retain their audio/video beyond the call itself.**

## 8. User Conduct — Prohibited Activities

You agree **not to**:

- Submit false, malicious, or fictitious alerts;
- Impersonate any other person, agency, or organisation;
- Scrape, mirror, or reverse-engineer the Service;
- Bypass sanctions, rate limits, or administrative controls;
- Use the Service to harass, dox, or threaten any individual;
- Upload illegal or copyrighted content as alert evidence;
- Disrupt service availability for other users (DoS, flooding, etc.);
- Use the Service in any jurisdiction where its operation is unlawful.

Violation may result in **immediate account suspension, sanction, fine, and/or referral to law enforcement.**

---

## 9. Service Availability

9.1 Guard is provided **"AS IS" and "AS AVAILABLE"**. We aim for high availability but make **no guarantee of uptime, latency, accuracy of geolocation, or successful delivery of any specific alert** to any specific recipient.

9.2 You acknowledge that emergency response depends on factors outside our control: cellular coverage, your battery level, GPS accuracy, recipient device state, third-party service health, and Nigerian internet infrastructure.

9.3 We reserve the right to **suspend or terminate the Service** for maintenance, abuse mitigation, or other operational reasons without prior notice.

---

## 10. Limitation of Liability

10.1 To the maximum extent permitted by Nigerian law, neither **Contrivances Engineering Ent. Ltd.** nor any of its directors, employees, or contractors shall be liable for any indirect, incidental, consequential, special, or punitive damages — including but not limited to: loss of life, injury, property loss, lost profits, lost data, or reputational harm — arising out of or related to your use of, or inability to use, the Service.

10.2 In no event shall our aggregate liability exceed **the greater of ₦10,000 or the total fees you have paid to us in the twelve (12) months preceding the claim**.

10.3 Nothing in these Terms excludes liability for death or personal injury caused by our gross negligence, fraud, or any liability that cannot lawfully be excluded under Nigerian law.

---

## 11. Indemnity

You agree to **indemnify, defend, and hold harmless** the Operator from and against any claims, liabilities, damages, losses, and expenses (including reasonable legal fees) arising out of (a) your use of the Service, (b) your violation of these Terms, or (c) your violation of any third-party right, including any intellectual-property or privacy right.

---

## 12. Intellectual Property

12.1 All Guard branding, source code, design, written content, AI-generated summaries, and database compilations are the property of **Contrivances Engineering Ent. Ltd.** and protected by Nigerian and international copyright law.

12.2 You retain ownership of the **content you submit** (alert descriptions, evidence images), but grant the Operator a **worldwide, royalty-free, perpetual, irrevocable licence** to host, display, broadcast, and process that content for the purpose of operating the Service.

---

## 13. Account Termination

13.1 You may **delete your account** at any time by contacting `alerts@contritrack.com`. Account-linked data (alerts, scans, donations) may be retained for up to **24 months** for audit and legal-compliance purposes after deletion.

13.2 We may **suspend or terminate your account** without notice for any breach of these Terms.

---

## 14. Governing Law & Dispute Resolution

14.1 These Terms are governed by the laws of the **Federal Republic of Nigeria**.

14.2 Any dispute arising out of or in connection with these Terms shall first be referred to **good-faith negotiation** between you and the Operator. If unresolved within 30 days, disputes shall be settled by **arbitration in Lagos** under the Arbitration and Conciliation Act (Cap. A18, LFN 2004).

---

## 15. Changes to These Terms

15.1 We may update these Terms from time to time. Material changes will be announced via in-app notification and email. Your continued use of the Service after the **Effective date** of the updated Terms constitutes acceptance.

15.2 The current version is identified by the **Effective date** at the top of this document. Earlier versions are archived on request to `alerts@contritrack.com`.

15.3 **Changes in this revision (Feb 14, 2026).** Removed § 7C in full — the Google Maps system-wide subscription product has been retired and Google Maps is now the only basemap, free for every Guard user. § 4.3 (geocoding) and § 4.4 (sub-processors table) updated to reflect the removal of OpenStreetMap / Nominatim. § 6.1, § 6.3, and § 6.4 updated to drop the Google Maps subscription product line. No new clauses were added; no existing user obligations changed.

15.4 **Earlier changes (Feb 13, 2026).** Added § 4.6 explaining how photo evidence on alerts is stored and handled, and § 6.6 covering the new admin-opt-in Weekly Digest email.

15.5 **Changes in this revision (July 2, 2026).** Added a full new § 7C ("Scan2Call — Video Doorbell Service") covering the visitor page, resident controls, wallet-based per-minute billing (₦30/min, first-minute auto-refund inside 15 s, ₦100 welcome bonus for every new signup), physical QR sticker orders, and the visitor-side data collected (audio + video, GPS, IP-derived city, optional voicemail). § 4.4 sub-processor table updated to add **ipwho.is** (visitor IP → city fallback), **Cloudflare** (country-code header hint), and to restore **OpenStreetMap Nominatim** (now used for visitor GPS reverse-geocoding on Scan2Call rings) — no other sub-processor was added or removed. § 6.4 pricing table extended with the ₦30/min Scan2Call call rate and the physical sticker line item. § 6.7 added covering Scan2Call wallet top-ups, refund windows, and the welcome bonus. Existing clauses relating to alerts, ePass, driving mode, live video, sanctions, and privacy were **not changed**; no existing user obligations were tightened. Because visitors on Scan2Call are asked for microphone / camera / GPS access, all existing Guard users are being re-prompted to accept these Terms so consent is fresh across the new feature.

---

## 16. Contact

**Operator:** Contrivances Engineering Ent. Ltd.
**Email:** alerts@contritrack.com
**Donation account:** GTBank 0035453902 — Contrivances Engineering Ent. Ltd.

For privacy-specific requests, please send the subject line **"Data Request — Guard"** to the email above.

---

*By using Guard, you acknowledge you have read, understood, and agreed to be bound by these Terms.*
