0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

給与明細をサーバーにPOSTするな。完全クライアントサイド(WASM/JS)で「年末調整」を再実装した話

Posted at

Gemini_Generated_Image_hie69hhie69hhie6.png

「無料ツール」の多くが、実はデータ収集装置であることをご存知でしょうか。年収や家族構成といった PII(個人特定情報)を、計算のためだけにサーバーの DB へ送信する。これはエンジニアとして「アーキテクチャ上の罪」です。

私が開発した Yamada Tools の年末調整シミュレーターは、この慣習へのアンチテーゼです。

信頼のためのアーキテクチャ

ゼロ知識証明的な計算

扶養控除の判定から住宅ローン控除の複雑なキャップ計算まで、全てのロジックを WebAssembly および Client-side JS にコンパイルしています。あなたの給与データが計算中にブラウザの外に出ることは、1パケットたりともありません。

浮動小数点問題(IEEE 754)との戦い

JS エンジニアならご存知の 0.1 + 0.2 !== 0.3 問題。1円単位の正確性が求められる税金計算において、これはバグではなく致命傷です。本ツールでは、国税庁の手順書を再現するために独自の Decimal 処理ライブラリを実装し、端数処理(切り捨て/切り上げ)を完全制御しています。

物理的な安全性

静的アセットの配信には厳格な SSL を強制し、サーバーは全て「国内リージョン」に限定しています(透明性レポート参照)。


「便利さ」と「プライバシー」はトレードオフではありません。DevTools の Network タブを開きながら、この「セキュアな電卓」の挙動を検証してみてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?