eJawi browser extension — local pilot, Chrome/Edge Manifest V3

Extract the ZIP. Open chrome://extensions or edge://extensions, enable Developer
mode and choose Load unpacked with the extracted folder. Click the extension
on a normal HTTP(S) reading page. Click again, or use Restore, to recover text.
No registration, telemetry, network requests, cookies or browsing-history store.
No permanent site permission. Only activeTab and scripting. No remote scripts.

Limits: 2,000 text nodes / 120,000 characters / 4,000 characters per node.
Automatically observes new text only after activation, for this page lifetime.
Skips forms, editable fields, controls, hidden regions, code, SVG and iframes.
Unknown/ambiguous words remain Rumi. Translation changes text nodes only; it does
not change URLs, attributes, links, scripts, inputs or source documents.
Restores only nodes still containing its own output; site updates are preserved.
Some reactive websites may replace or reject modified text. Reload also restores.
Isolated worlds protect JS variables, not the shared DOM. The page can see its own
converted text. This is a reading aid, not isolation from a malicious website.
Do not use it as approval for banking, medical, legal or transactional content.

Dictionary: goodmami/rumi-jawi, pinned fe75ae7c, plus eJawi internal draft overlays.
Source: https://github.com/goodmami/rumi-jawi
Source README permits use; specific upstream licensing remains unresolved as
documented by eJawi. Dictionary presence is not expert/DBP approval.
No historical orthography conversion or auto AI decision is included.
Not published to Chrome Web Store or independently security audited.
