FairShareCoin is a human-fair monetary system built around identity uniqueness, recoverability, and long-term balance.
A local-first alpha foundation for FairShareCoin wallet/account flows and security controls.
- One person ↔ one identity lineage in the system (no mining model)
- Value model is human-centered and fairness-oriented
- Identity-backed account continuity with recovery-oriented design
Register → identity uniqueness check path (future ICAO integration) → wallet/account activation → send/receive value → recover account continuity if access is lost
You help someone for 10 minutes and receive a small FSC fraction. You keep that value over time under the same fairness rules used for everyone else.
- Not production-ready
- No real ICAO/NFC identity verification live yet
- No decentralized consensus runtime live yet
This repository is an implementation foundation, not the final decentralized protocol runtime.
- Working app flow: register/login, wallet overview, transfer, recipients, history, settings
- UUID-only transfer routing (
walletId -> walletId) - SQLite-backed persistence for auth + ledger state
- Session/auth hardening (password policy, session timeout, progressive login delay)
- CSRF protection + rate limiting + cooldown controls
- Verification lifecycle scaffolding and security telemetry basics
- Production decentralized settlement/consensus network
- Real ICAO/NFC identity verification in live mode
- Final cryptographic protocol implementation
This is the practical foundation layer used to validate product/security behavior ahead of broader protocol decentralization.
npm install
npm run devApp default: http://localhost:4010
npm run build
npm run start:prodnpm run dev— run TS server in watch modenpm run build— compile todist/npm run start— run compiled servernpm run start:staging— run withNODE_ENV=stagingnpm run start:prod— run withNODE_ENV=productionnpm run preflight:staging— strict staging preflight gatenpm run preflight:prod— strict production preflight gatenpm test— test suite
- Session cookie:
HttpOnly,SameSite=Lax,Securein production mode - CSRF on mutating routes (double-submit + same-origin checks)
- Endpoint-level rate limits and cooldown controls
- In staging/production,
FSC_DB_PATHis required (fail-fast if missing)
- Canonical transfer identifier:
transferId(ledger entry UUID generated server-side) - Recipient nickname/email are local contact metadata only, not transfer addressing
OPEN_SOURCE_READINESS.md— publish boundaries, risks, and release checklistdocs/ALPHA_RC_GATE_2026-04-03.md— alpha readiness gate evidencedocs/DECENTRALIZATION_MIGRATION_MAP.md— centralized-now to decentralized-target mappingSECURITY.md— vulnerability reporting policyCONTRIBUTING.md— contribution workflowCODE_OF_CONDUCT.md— community standards
If you want to fully remove this local foundation app from your machine:
# from repo root
# 1) stop any running dev/prod process first (Ctrl+C if foreground)
# 2) one-command local cleanup (includes node_modules, dist, data, .env, .env.local)
npm run clean:localManual equivalent:
rm -rf node_modules dist
rm -rf data
rm -f .env .env.localTo remove the repository itself, delete the project folder after cleanup.
Note:
rmis permanent. Double-check your path before running commands.
Licensed under the terms in LICENSE.