Privacy & disclaimer
Current version (v2) · Updated 8 November 2026
Your financial inputs stay in your browser. This app does not upload or collect them.
Free personal project
FIRE SG is a free-to-use personal project run on a non-profit basis for education and illustrative planning. No payment is required to use the calculator. It is not an official CPF Board service and is not affiliated with or endorsed by CPF Board, the Singapore Government or any financial institution.
Use this tool with discretion and your own judgement. Results are not official or personalised financial, investment, tax or legal advice. No adviser–client relationship is created. Verify important figures using CPF's official tools and seek qualified advice before making financial decisions.
What happens to your inputs
Calculations, charts and market-path illustrations run on your device using JavaScript. There is no financial-data backend, account login, analytics, advertising tracker or app-set tracking cookie in v2. Inputs are not added to page URLs or sent with feedback automatically. This app does not connect to your CPF account or request Singpass credentials.
The page and its local scripts, styles and images must load first. After loading is complete, you can disconnect from the internet and continue changing inputs and running calculations in the open tab. Reloading, opening another page or following an external link may require a connection. This is not an installed offline app or a promise of offline reload support.
Optional encrypted saving
Unsaved inputs stay in the open page. Saving a plan or named scenario now requires a passphrase of at least 12 characters. The app uses browser Web Crypto to encrypt saved details with AES-256-GCM, deriving a key with salted PBKDF2-SHA256 at 600,000 iterations. Only ciphertext and encryption parameters are stored in local storage. The app never uploads or saves your passphrase or encryption key.
Reloading locks the saved data. An unlocked key stays in this tab's memory until you reload or choose “Lock & reset draft”. Locking resets the open draft and scenario list, so save changes first. There is no account or password recovery. Readable JSON/CSV exports are separate files; keep your own backups securely.
Older unencrypted v2 saves are not automatically loaded or deleted. “Encrypt old saves & remove plaintext copies” validates them, writes the encrypted copy first and then removes the old keys. If migration fails, the source copies are kept. Until you migrate or clear them, older plaintext copies remain exposed to scripts on this origin.
“Clear v2 data” removes encrypted saves and older v2 copies and resets the draft. Exported files and old v1 data are unaffected.
Browser storage boundaries
Browser storage is shared by origin, not page path. Other pages on the same hostname, including the v1 archive, can read or delete the encrypted record. Encryption protects locked saved contents; it does not protect an unlocked page from malicious scripts on the same origin, browser extensions, a guessed passphrase or a compromised device. Use a long unique passphrase and a browser profile you trust.
The calculator refuses to initialize inside an embedded frame. This is an app-side safeguard. Complete anti-framing response headers require compatible hosting; GitHub Pages does not apply the supplied Cloudflare header configuration. Browser saves do not automatically move between the GitHub address and a custom hostname.
Page requests and external services
Loading a hosted website involves normal requests to its hosting provider. The host may process request metadata such as an IP address, browser information and requested URL for delivery, security or operational logging. We cannot promise that loading the site generates no server metadata. The v2 application does not attach your financial inputs to those requests.
CPF links and the portfolio link open other websites governed by their own policies. The v1 archive now serves its integrity-checked Chart.js copy locally and disables automatic browser saving/loading. Old v1 saves are not silently deleted; its Clear All control can remove them. Its historical calculation code and inline handlers remain, so it has a weaker script policy than v2.
Files and feedback you choose to share
JSON and CSV exports contain your entered financial details and projections. Importing a file reads it locally; it is not uploaded to a server. Printing or saving a PDF uses your browser. You control any later sharing, device backup or cloud synchronisation of these files.
Feedback opens your email application with a blank report template and version number. Nothing is sent automatically. If you send an email, its contents and sender details are shared with hello@angjiahui.com and processed by email providers. Use fictional amounts when reporting problems; do not send account identifiers, CPF statements or login details.
Accuracy and limitations
The tool is provided as-is and may contain errors or omissions. Forecasts depend on your inputs and assumptions, including returns, inflation and future CPF policy. Returns and outcomes are not guaranteed; a funded projection does not establish that retirement is safe.
The current CPF model has documented limits. The initial full-earned-interest benchmark differs from CPF's public RA examples by 2.03–2.56%. A July-start comparison using credited balances, excluding uncredited interest, reproduces those six examples after rounding down to S$100. CPF has not confirmed this interpretation; it does not establish full planner parity. See the calculation checks. Blank CPF LIFE inputs use male Standard Plan reference figures, not a personalised quotation. Female payouts are generally lower. Basic/Escalating plans, other payout ages and several CPF transactions are not modelled. Prefer an official payout estimate.
Income tax is optional. Gross-income mode estimates resident employment / net trade income and qualifying SRS withdrawal tax using frozen brackets and entered relief assumptions; it is not an IRAS assessment. Manual income inputs must already allow for mandatory CPF/MediSave, income tax and applicable costs. Optional PR rates, self-employed MediSave, CPFIS, self SA/RA cash top-ups and verified property scenarios have stated limits. No automatic property, grant or dependant-relief eligibility is established. Non-resident rules, investment taxes, temporary rebates and several other deductions are not modelled. SRS uses a separate constant return and a new penalty-free ten-year withdrawal window; early and already-started windows are outside scope.
Use the calculator's “CPF sources & limits” section for the dated rules and supported scope. Verify the model version and assumptions whenever you revisit a plan.
Contact
Questions, corrections or feedback: hello@angjiahui.com.