copilotBC Sign in

Security & privacy

How copilotBC protects your records.

Last reviewed: August 12, 2026. Every protection described here is built and switched on today. Where a safeguard is narrower than its heading suggests, the narrower thing is what is written.

copilotBC is built so that your students' records are reachable only by you, and by a driving school you have both agreed to work with; those records can't be secretly altered or deleted; and the sensitive parts, signatures, lesson audio and payment cards, are handled with the strongest practical safeguards. Verified by adversarial security testing, not just promised.

Area What we do
Where your data lives Google Cloud Firestore in the Toronto, Canada region, encrypted at rest and in transit
Who can see it Strict per-instructor isolation, enforced on the server. No instructor can reach another instructor's data
If you work for a school A school owner sees your records only after you accept a seat, read-only, and never your signature, driver's licence number or payout details
Account protection Verified-email sign-in + Google App Check (bot/abuse defence) enforced on every request
Record integrity Signed lessons are permanently locked: they can't be edited, un-signed, or deleted, even by the account owner
Tamper evidence Append-only audit log + append-only correction trail: nothing is silently overwritten
Connection security HTTPS-only, with HSTS (2-year, preload) so browsers refuse any insecure connection
Lesson audio Only with that student's signed consent. Transcribed entirely on your own device, never uploaded, and deleted automatically
Payment cards Processed by Stripe on a Stripe-hosted checkout page: copilotBC never sees or stores card numbers
Privacy rights Built around BC's PIPA: data export, correction trail, retention controls, clean sign-out
Independent checks Regularly subjected to adversarial penetration testing; findings are fixed and re-verified

1. Your data stays in Canada

Student records (names, licence details, lesson history, readiness scores, and reports) are stored in Google Cloud Firestore in the Toronto (northamerica-northeast2) region. This keeps personal information of BC learners on Canadian soil, which directly addresses data-residency expectations under British Columbia's Personal Information Protection Act (PIPA).

All data is encrypted at rest (Google-managed AES-256) and encrypted in transit (TLS 1.2+), automatically, on every read and write. We do not take or hold separate backup copies of the database ourselves; its durability is Google Cloud's, inside that region.

2. Who can see your students — enforced by the server, not the app

Every instructor's data lives in a private, isolated space keyed to their account. The rules that govern access run on Google's servers, not in the app on your device, so they can't be bypassed by tampering with the app, calling the database directly, or any other client-side trick.

The server independently checks, on every single request, that:

We tested this the hard way, attempting to read, list, query, and write another instructor's records through every channel we could find, and every cross-instructor attempt was denied.

There is exactly one deliberate exception, and it only exists when you have agreed to it: a driving school you hold a seat with. Section 3 sets out what that means.

3. Driving schools: what an owner can see, and what they never can

copilotBC has a School plan, where one owner account pays for several instructors. BC's driver-training rules put the record-keeping duty on the school, so the school has to be able to reach the records created under its licence. That access is built to be narrow, consensual, and impossible to grant one-sidedly.

4. Strong account protection

5. Records can't be secretly changed or deleted

A driving-instruction record only has value if everyone can trust it wasn't altered after the fact. copilotBC enforces this at the database level:

6. Trustworthy electronic signatures

copilotBC's in-person signature flow follows the two-party model recognised by British Columbia's Electronic Transactions Act (section 11): the instructor signs, then hands the device to the student, who types their full name and ticks explicit consent boxes while the instructor witnesses it.

For the scan-to-sign-on-your-own-phone option, each link is protected by a 192-bit cryptographically random token. It expires after 10 minutes (enforced on the server), can be used once only, and is deleted automatically once the signature is captured.

7. Hardened connections and infrastructure

8. Defence against malicious data and code injection

copilotBC defends in three independent layers:

  1. Input is sanitised before it's ever stored. HTML-control characters and injection vectors are stripped.
  2. The database validates the security-critical parts of every write on the server: who owns the record, what type it is, which status values are legal, the shape of every signature and consent, size limits on stored images and documents, and the immutability of anything already signed. Free text an instructor types into their own records is accepted without a per-field length check.
  3. The app renders all text safely, using a framework that escapes content by default, with no use of dangerous code paths (eval, innerHTML, dangerouslySetInnerHTML).

Our third-party software dependencies are audited for published vulnerabilities, and advisories that affect the code we actually ship to the browser are patched.

9. Works offline, syncs safely

copilotBC is a Progressive Web App: it keeps working in a car with no signal and syncs automatically when you're back online. The same server-side security rules apply to every synced change: going offline never relaxes who can read or write what.

10. Privacy by design

11. We test ourselves — adversarially

copilotBC is put through adversarial security testing: deliberate attempts to break in without an account, read or modify another instructor's data, forge or delete signed records, inject malicious content, and abuse the system to run up costs. When a test surfaces a gap, we aim to fix it promptly and re-verify before shipping. To be clear about what this is and is not: these are our own reviews. copilotBC does not hold a third-party security certification such as SOC 2 or ISO 27001.

What this means for you

Parents & students: Your young driver's name, licence details, and progress are stored in Canada, visible to your instructor and, if they work for a driving school, to the people who run that school. They can't be quietly changed or deleted.

Instructors: Your records are tamper-evident and built for long-term retention by default. Sign-out fully clears the device, so a shared computer or a sold phone won't leak your students' information.

Regulators: copilotBC is built around BC's MVAR Division 27 retention rules, the Electronic Transactions Act signature model, and PIPA privacy obligations. Record integrity, retention, and auditability are enforced at the server layer.

Security questions: [email protected]

← Back to home