Problem
app/src/utils/technicianKeypair.ts generates and stores the technician's secret key in localStorage as JSON. The private key remains exposed in the browser.
This was a shortcut to be able to run the demo with a single wallet. It is unacceptable for production.
Plan
- Remove
technicianKeypair.ts and all its references
- The
complete_maintenance workflow already requires dual signatures — the change is only in the frontend
- The technician must connect their own Phantom wallet before being able to accept and complete jobs
- Update the demo instructions in README (already updated, see
docs/ARCHITECTURE.md)
Affected files
app/src/utils/technicianKeypair.ts — remove
- Any component that imports
loadOrCreateTechnicianKeypair()
Milestone: v1.1 — Before Demo Day
Problem
app/src/utils/technicianKeypair.tsgenerates and stores the technician's secret key inlocalStorageas JSON. The private key remains exposed in the browser.This was a shortcut to be able to run the demo with a single wallet. It is unacceptable for production.
Plan
technicianKeypair.tsand all its referencescomplete_maintenanceworkflow already requires dual signatures — the change is only in the frontenddocs/ARCHITECTURE.md)Affected files
app/src/utils/technicianKeypair.ts— removeloadOrCreateTechnicianKeypair()Milestone: v1.1 — Before Demo Day