文書化されていない挙動を直接調査
Parall の互換性プロファイルは、各対象アプリの起動方法、データ保存方法、別プロセスの扱い、Dock との連携を直接観察して作られています。Spotlight、Raycast、Alfred から開いたときにショートカットが正しく動作することも、同じリバースエンジニアリングの成果です。macOS やアプリが変化するたびに、この調査も続きます。
Parall が存在する理由、ショートカット用パッケージの仕組み、ローカルでプライバシー重視の設計を支える技術的選択。
独自の macOS エンジニアリング
Parall の中核は公開資料から組み立てられるものではありませんでした。必要となるアプリの挙動が文書化されていないためです。macOS アプリのアーキテクチャを長年リバースエンジニアリングし、個々のアプリを検証し、実際に機能する方法に基づいてエンジンを磨き続けた結果です。
Parall の互換性プロファイルは、各対象アプリの起動方法、データ保存方法、別プロセスの扱い、Dock との連携を直接観察して作られています。Spotlight、Raycast、Alfred から開いたときにショートカットが正しく動作することも、同じリバースエンジニアリングの成果です。macOS やアプリが変化するたびに、この調査も続きます。
スクリプトでも別のプロセスを起動できる場合があります。Parall が解決するのは、対応インスタンスに実用的な独自のアイデンティティと Dock の動作を与え、対象アプリが許す場合には、元アプリとのつながりを保ちながらデータ、アカウント、プロファイル、設定も分離するという、より難しい課題です。
Parall は対象アプリを変更せず、特定のバージョンに固定もしません。各ショートカットはインストール済みの元アプリを引き続き起動するため、元アプリのコード署名が保たれ、内蔵アップデーターも動作し続けられます。アプリが更新されると、すべてのショートカットは再起動後に新しいバージョンを使います。アプリの更新にはセキュリティ脆弱性の修正が含まれることが多いため、これは重要です。
調査結果は、Parall が標準の macOS 起動メカニズムをどう構成するかを決めるために使われます。Parall は非公開 API を使わず、コードの注入やパッチも行わず、macOS や元アプリを変更しません。
各 Parall ショートカット内のランチャーは低レベル C++ で記述されており、サードパーティ製ライブラリや Swift ランタイムに依存しません。互換性を確認し、対象アプリの通常の動作を維持するため、macOS 10.11 以降のすべてのメジャーバージョンで手動テストを行っています。将来の macOS アップデート後もショートカットが動作し続けることを目指した設計で、新しいバージョンが登場するたびに互換性を確認します。
その成果は、人が主導する独自のエンジニアリングです。Parall のエンジンは人工知能への指示で生成したものでも公開された手順をコピーしたものでもなく、Ihor July が設計、実装、テスト、保守しています。
異なるアーキテクチャ
複数インスタンスを実現する多くの回避策では、対象アプリのバンドルを複製し、識別情報を変更してから再署名します。Parall は別のショートカットからインストール済みの元のアプリを起動します。対象バンドルの変更、再パッケージ、再署名は一切行いません。
| 比較項目 | 一般的なコピーと再パッケージ方式 | Parall |
|---|---|---|
| 対象アプリのバンドル | 2つ目のコピーを作成し、その内容やバンドル識別情報を変更して、再度パッケージ化することがあります。 | インストール済みの対象アプリには手を加えず、別のショートカットから元の実行ファイルを起動します。 |
| 署名とセキュリティ | 署名済みバンドルを変更すると、開発元の元の署名は無効になります。再署名すると異なる署名のコピーになり、権限、サンドボックスの動作、その他の保護機能が変更または削除される可能性があります。 | 対象バンドルを一切変更しないため、対象アプリの開発元署名、サンドボックス、権限、セキュリティ対策を維持します。 |
| 更新後のプライバシー権限 | 再パッケージ化や再署名によってアプリの識別情報が変わり、更新後に保存済みの権限が機能しなくなることがあります。スイッチをオンに戻すだけではアクセスが復旧せず、権限のリセットと再承認が必要になる場合があります。 | 元のアプリの署名上の識別情報を維持するため、通常のアプリ更新後も macOS が既存の権限設定を認識できます。 |
| ネイティブアプリサービス | 識別情報、署名、権限の変更により、キーチェーングループ、パスキー、プッシュ通知の識別情報、認証コールバック、アップデータが前提とする情報など、それらに結び付いたサービスが機能しなくなる可能性があります。 | 署名済みの対象バンドルをそのまま起動するため、対象アプリ本来の機能を取り除きません。個々のサービスは対象アプリと macOS に依存し、既知の複数インスタンス制限は FAQ に記載されています。 |
| アップデート | コピーまたは再パッケージされたビルドは元の更新経路から外れ、再作成または置き換えられるまで古いバージョンに留まる可能性があります。 | 元の更新経路を維持します。対象アプリが更新されると、すべての Parall ショートカットは次回起動時から更新済みアプリを使用します。 |
| 外部依存 | スクリプト、手作業の署名手順、アプリ外から入手する補助ツールに依存する場合があります。 | Parall のメインアプリは単体で動作するサンドボックスアプリで、Mac App Store から配布されます。補助ツールのダウンロードやバックグラウンドデーモンは不要です。 |
| 元のアイコンの更新 | コピーしたアイコンは、更新するまで古いまま残る場合があります。 | カスタマイズしていないショートカットアイコンは、元のアプリのアイコンにリンクしたままです。 |
この比較は、ネイティブアプリのショートカットと、アプリバンドルをコピー、変更、再署名する回避策を対象としています。利用できる機能は対象アプリによって異なります。コピーだけで署名が無効になることはありませんが、署名された内容を変更すると無効になる場合があります。
アップデートではセキュリティ脆弱性が頻繁に修正されます。Codex や Claude のように変化の速い AI ツールや開発ツールには重要な修正が頻繁に提供されることがあり、AI を活用したセキュリティ研究も脆弱性の発見を加速させています。ソフトウェアを最新に保つことは、マルウェア対策やその他のセキュリティ制御と並ぶ重要な防御層です。
Parall のショートカット生成フローは、外部の補助ツールなしでメインアプリをサンドボックス内に保ち、Mac App Store から配布できるように設計されています。ショートカットの作成と起動はローカルかつオフラインで動作します。任意の互換性設定をダウンロード操作だけが、プライバシーポリシーに明記されたネットワーク利用の例外です。
Parall が使用するショートカットアーキテクチャには、公開 API、完全なドキュメント、公開された実装手順がありません。私は macOS のネイティブな動作を個人的にリバースエンジニアリングし、直接テストしてこのエンジンを開発しました。公開例や一般的な AI 生成実装は、スクリプト、コピーしたバンドル、再パッケージ方式に戻る傾向があります。私の知る限り、Parall は対象アプリに手を加えずにこの問題を解決した初の一般ユーザー向けツールです。より多くの macOS の動作を調査しながら、エンジンは今後も進化します。
10年以上、同じアプリの複数インスタンスを実行するときの macOS の制限に向き合ってきました。以前は自分用にスクリプト化したアプリバンドルを作って回避していましたが、一般ユーザーが真に独立したアプリインスタンスを簡単かつ洗練された方法で実行できないことに気づきました。Parall は、対象アプリをコピーも変更もせずにこの問題を解決するために設計された、この種のものとして初めてのツールになりました。
Parall は対象アプリがサンドボックス化されている場合でも、Chrome、Firefox、Electron、Eclipse、ToDesktop ベースの対応アプリで自動データ分離をサポートします。高度な HOME リダイレクトモードは、その他の多くの対応アプリでも利用できます。詳しい最新一覧は互換性ページをご覧ください。
マルチインスタンスモードが不要な場合でも、Parall では Web サイト、アプリ、ファイル、フォルダ、コマンドのショートカットを独自のアイデンティティと起動設定付きで作成できます。アプリショートカットでは、カスタムコマンドライン引数を追加したり、HOME を含む環境変数を上書きしたりして、動作の制御、プロファイル選択、データパスのリダイレクトができます。HOME 上書きは、互換性に必要な macOS リンクを保持しながら、コンテナのような構造を構築します。
そのショートカットにだけ適用されるカスタム環境変数を定義できます。細かな設定、デバッグ、プロジェクトごとの環境に最適です。Parall は Arduino IDE もサポートしており、異なる toolchain、ボード、ライブラリを持つ分離された開発環境を並べて実行できます。
教育用ラボや教室では、ショートカット終了時に Parall がリダイレクトされたデータストレージを自動的に消去できます。学生の実験ごとに手動で片付けることなく、毎回きれいな状態から始められます。
Parall は、同じ macOS アプリの複数インスタンスを、それぞれ独自の Dock アイコンと設定を持つ別々のアプリのように起動することを、これまでになく簡単にします。回避策や複雑なスクリプトに頼るのではなく、Parall は複数のアプリインスタンスを起動する独立ショートカットを作成し、複数のプロファイルやセッションを同時に使えるようにします。
各ショートカットは元のアプリバンドルに直接接続されたままです。対象アプリが更新されると、各 Parall ショートカットは次回起動時から新しいバージョンを使用します。対象アプリが変わったという理由だけでショートカットを作り直す必要はありません。ただし、Parall の更新でショートカットエンジンの修正や改善を反映するには、ショートカットの再生成が必要になる場合があります。
Parall には高度な環境管理が含まれており、各アプリインスタンスがデータを保存し分離する方法を細かく制御できます。これにより、macOS 上で複数の分離された Philips Hue Sync インスタンスを実行し、異なるディスプレイに専用 LED 設定を割り当ててもインスタンス同士が重ならないようにする、といった高度なワークフローも可能になります。
私は Ihor July です。サイバーセキュリティ専門家兼リバースエンジニアとして、安全でプライバシーを尊重する macOS ツールに注力しながら Parall を開発しています。また、複数ディスプレイで Dock の動作を制御する Mac Dock ユーティリティ DockLock Pro、アプリを開く前に署名、サンドボックス、権限、内部コンポーネントをわかりやすいレポートへ変換するローカル優先の Mac アプリ検査ツール App Trust Preview、macOS に収まるプレーンテキストのロック画面メッセージを設計、プレビュー、コピーする Mac ユーティリティ LockLines、アプリを元の場所に残したままアーカイブしてストレージ容量を確保し、開くと復元する Mac ユーティリティ App Archiver、ファイルを元の場所に残したままネイティブのファイル圧縮と APFS の重複排除で容量を節約する Mac ユーティリティ DiskPress の開発者でもあります。
Parall は私自身が設計、実装、テストしています。アプリコードを書き、すべての変更を検証し、複数のアプリで使う再利用可能な Objective-C フレームワークを保守しています。人工知能とオンライン検索はバグ調査、境界ケース、文章、翻訳を補助しますが、中核エンジン、アプリごとの互換性調査、実装、テストは私自身のリバースエンジニアリングとコードによるものです。
このアプリは性能のために C++ でネイティブに構築され、最大限の安全性のためにサンドボックス化されています。Parall は、macOS ユーザー向けに実用的でプライバシー優先の解決策を届けるための長年の研究開発を反映しています。
Parall ショートカットは、インストール済み対象アプリのバイナリを直接実行する小さな macOS ランチャーバンドルです。対象アプリのコピーは含みません。これらのショートカットバンドルは、設計上サンドボックス化されていません。追加の層を介さず、元のアプリケーションを直接起動する必要があるためです。
生成される各アプリショートカットは、元の開発者署名がそのまま保たれる署名済みの対象アプリとは分離されています。ショートカットに必要な承認や署名は、この別個のランチャーバンドルだけに適用されます。macOS はショートカットが「別のアプリを変更しようとしている」というメッセージを表示することがありますが、これは変更ではなくアクセスによって発生する一般的なシステム通知です。
Parall が作成するのは、元のアプリを起動するために必要な別個のランチャーバンドルと設定だけです。対象アプリやオペレーティングシステムを変更したり、コードを注入したり、再署名したり、書き込んだりすることはありません。