Security considerations for the current Devnet implementation and guidance toward production readiness.
- User funds (lamports in escrow vaults)
- Wallet private keys
- Program upgrade authority
- Integrity of on-chain state transitions
- PDA-based deterministic account ownership model
- Explicit signer constraints in instructions
- Error checks for invalid states and mismatched profiles
- Frontend transaction signature normalization for safer explorer linking
- Demo technician keypair in localStorage is not production-grade
- Program ID / IDL drift after deploy can cause unsafe behavior
- Users may attempt transactions without enough lamports
- Asset names/locations in localStorage can be lost or manipulated client-side
- Never commit secrets/private keys
- Use dedicated deployment key management
- Verify program/IDL alignment on each release
- Use explicit environment separation (dev/test/prod)
- Follow
docs/RUNBOOK.md - Capture transaction signatures and logs
- Classify impact scope before remediation
- Enforce distinct hospital/technician wallets per role (drop single-wallet demo path)
- Add monitoring/alerting for failed tx patterns
- Introduce audit and formal security review before mainnet