セキュリティ
Parla はマイクを扱うため、悪用されにくいように作られています。あなたの声がデバイスの外に出ることはなく、拡張機能が求める権限は必要最小限で、私たちが配布するすべてのコードはお手元に届く前にバージョン固定・スキャン・テストされています。
Parla を使っている間
- あなたの声はデバイス上のブラウザー内で処理されます。Parla には音声を受け取るサーバーがなく、盗まれるようなアカウントやパスワードもありません。
- エンジンは私たち自身のコードで、サードパーティのライブラリを使わずに Rust で書かれ、ブラウザーのサンドボックス内で WebAssembly として動作します。AI モデルはプログラムではなくデータ(数値)です。モデル作者のコードがあなたのコンピューターで実行されることはありません。
- 拡張機能が求めるのは、マイクのノイズ除去に必要なものだけです。設定の保存と、マイクを使うページでの動作です。拡張機能自身のページは自分のスクリプトだけを実行します(厳格な Content Security Policy)。
- ウェブページが拡張機能とやり取りできるのは限られた経路だけです。受け取れるのはエンジンのファイルだけで、ページから送られるものはすべて検査され、サイズも制限されます。
- レポートはあなたがオンにするまでオフです。レポートは匿名で、すべての項目がドキュメントに記載されています。
私たちのコードからあなたのブラウザーまで
- ビルドで使うものはすべて正確なバージョンに固定され、フィンガープリントで検証されます。GitHub Actions はコミットで、コンテナイメージはダイジェストで、ダウンロードは SHA-256 で、npm と Python のパッケージはロックファイルで。
- 公開から 3 日未満のリリースは取り込みません。悪意あるパッケージのバージョンの多くは数日以内に発見・削除されるため、まずそれを待ちます。自動更新は 1 週間待ち、それぞれビルドとテストを経てから受け入れます。
- パッケージにインストールスクリプトの実行は一切許可せず、npm レジストリの署名はビルドのたびに検証します。
- リリースをビルドするのは、メインブランチからの自動パイプラインだけです。ストアと npm の認証情報は、リリース処理だけが使える保護された環境に保管され、ビルドはリポジトリのアクセストークンを保持しません。
変更のたびにチェック
- 静的解析:CodeQL が TypeScript、Rust エンジン、ビルドワークフローを解析し、zizmor がワークフローを監査します。
- ウェブサイトの動的スキャン(OWASP ZAP)を変更のたびと毎週実施します。
- 既知の脆弱性があるパッケージを追加する変更はブロックされ、Dependabot アラートがすべてのロックファイルを監視します。
- プッシュ保護付きのシークレットスキャン:パスワードや鍵を含むコミットは GitHub が拒否します。
- 厳密に型付けされたコード(TypeScript と Python)と、リリースごとの Chrome と Firefox での自動テスト。
問題を見つけましたか?
非公開でお知らせください:GitHub で脆弱性を報告する。そうすれば、公開される前に修正できます。
このページの内容はすべて確認できます。コード、ビルドパイプライン、セキュリティチェックはオープンソースです。リリースのビルドと検証の方法