OxiMedia
訪問看護の現場を例に、写真や音声にひそむ個人情報を、外部へ送らずに取り除く。
ファイルの選択・録音・書き出しを行っても、外部とは通信しません。
| oximedia | v— (Pure Rust, Apache-2.0) |
|---|---|
| target | wasm32-unknown-unknown |
| wasm size | 235 KB (gzip 104 KB) |
| external requests | — |
| server round-trips | 0 |
| C / C++ / Fortran | 0 bytes |
ページ読込後の外部リクエスト: — 件
計測は、画像・音声の読み込みが完了した時点から開始しています。ファイルの選択・録音・書き出しを行っても、この数は動きません。開発者ツールの Network タブでも確認できます。
実装コード
// crates/oximedia-wasm/src/document.rs:292-310 — verbatim, the code running above
pub fn redact_fill_inner(
&mut self,
x: u32,
y: u32,
width: u32,
height: u32,
) -> Result<(), OxiMediaWasmError> {
let rect = self.clip_rect(x, y, width, height)?;
let stride = u32_as_usize(self.width) * 4;
for row in rect.top..rect.bottom {
for column in rect.left..rect.right {
let index = row * stride + column * 4;
if let Some(pixel) = self.rgba.get_mut(index..index + 3) {
pixel.copy_from_slice(&INK_RGB);
}
}
}
Ok(())
} これがいま上で動いているコードです。