セキュリティ

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 で脆弱性を報告する。そうすれば、公開される前に修正できます。

このページの内容はすべて確認できます。コード、ビルドパイプライン、セキュリティチェックはオープンソースです。リリースのビルドと検証の方法