メインコンテンツへ移動

toolsbyus.comについて

端末内で処理

1つの前提の上に成り立っています。作業中のファイルの行き先は、誰かのサーバーではなく、あなたのブラウザです。

なぜローカル処理なのか

ファイルやデータには個人情報が含まれていることがあります。ToolsByUsはPDF、画像、カラー、テキスト、JSONのローカル処理を提供するため、ファイル処理サーバーは不要です。

機密性の高い素材をどのツールにかけるときも、まずサンプルで試し、制限事項を確認してください。組織のデータ取り扱い要件にも従ってください。

ToolsByUsのアーキテクチャ

この保証は狭く正確であるからこそ、価値があります。 ツールに入力したコンテンツは、決して送信されません。処理コードはファイルをローカルで読み取り、その内容を処理APIに送信しません。

  • 100%静的エクスポート: アプリケーション全体は、静的なHTML、CSS、クライアントサイドのJavaScriptバンドルへと事前レンダリングされます。使用しているのはNext.jsのoutput: 'export'.
  • バックエンドインフラなし: サーバーレス関数も、APIルートも、Node.jsのバックエンドプロセスも、データベース接続も、認証エンドポイントも存在しません。
  • エッジCDN配信: ビルド成果物は静的なファイルで、エッジCDNから配信できます。通常の接続メタデータの処理は、引き続きホスティング側が担います。
  • クライアントサイド分離: 解析、検証、diff、エンコード、スキーマ生成のアルゴリズムは、すべてデバイスのローカルCPUとV8/SpiderMonkey JavaScriptエンジンの中で完結して動作します。
  • 専用Web Worker: 重い処理、たとえば大規模なセマンティックdiff、PDFの結合、画像の再エンコードは、100 MBの上限のもと、分離されたWeb Workerで実行されます。処理に必要な時間そのものは変わりません。Web Workerがもたらすのは、処理の間もフリーズせず応答を保つタブです。

オープンなアーキテクチャの仕組み

ブラックボックスのユーティリティとは違い、ToolsByUsは透明で標準準拠のエンジンを使っています。

  • 反復スタックパーサー: 手書きの反復パーサーで、ブラウザのコールスタックオーバーフローの限界に達することなく、1万段階のネストした括弧を走査できます。
  • セマンティックdiffエンジン: キーの順序に影響されない比較エンジンが対応しているのは RFC 6902 JSON Patchと RFC 7386 JSON Merge Patchの仕様です。
  • JSON Schema Draft 2020-12: リアルタイムのスキーマ推論エンジンで、フォーマット(UUID、email、date-time、uri、IPv4)を自動判定します。
  • RFC 9562 単調増加UUIDジェネレーター: UUID v4と、データベース向けに最適化されたB-tree順序のUUID v7には、ブラウザの暗号学的乱数生成器を使用します。

運営資金と、それによって変わらないもの

このビルドでは広告を無効にしています。アクセス解析は別途設定され、その現在の設定はプライバシーページに記載しています。

ツールはネットワークリクエストに入力内容を含めません。ページ内で動作するサードパーティスクリプトは、ページ環境へアクセスできます。静的エクスポートやCSPだけでは、入力をそれらのスクリプトから分離できません。有効にする統合はすべて、運営者のレビューが必要です。詳しくは プライバシーページ に、ブラウザが通信を許されているオリジンと、その確認方法が正確に記載されています。

このページはどう書かれ、どう検証されているか

すべてのツールページには最終確認日 が付いています。この日付が実際に何を意味するのかを、ここで説明しておく価値があります。多くのサイトでは、それはスクリプトがファイルに触れた日を意味するに過ぎません。

  • ツールが先に完成し、ページは後から書かれます。 説明文が述べるのは、コードにすでに存在する動作です。だからこそ、エッジケースについて書かれがちです。実装の中で表面化するのはエッジケースだからです。
  • 主張は断定するのではなく、テストします。 「何もアップロードされない」という主張は、Content-Security-Policyの connect-src 'self' によって強制され、リクエストにボディが含まれていればビルドが失敗する自動テストで検証されています。本文に登場する数値——サイズの上限、ページ数、出力寸法——は、実際のファイルを使ってテストスイート内で検証されています。
  • 制限は隠さず、文書化します。 ツールにできないことがあれば、たとえばスキーマの$ref の解決、JWT署名の検証、PDFのパスワード復旧、HEICのエンコードです。その場合、黙って失敗するのではなく、ページにその旨と理由を明記します。
  • ツールが変われば、ページも改訂します。 レビュー日は、ナビゲーションとサイトマップを生成するのと同じカタログエントリから取得されます。そのため、記録の裏付けのない新しさを、ページが主張することはありません。

このサイトに誤りがあれば、ぜひ知らせてください。送り先は [email protected]です。このサイトにはアカウントも、アップロードも、独自のメッセージ機能もありません。メールが唯一の連絡手段であり、そこにはあなたが送ることを選んだ内容だけが流れます。実際の不具合とその修正は 更新履歴に記録されています。何が、いつ変わったのかを正直に示す記録です。

エンジニアリングの哲学

ToolsByUsは、分散システム、マイクロサービス、Webアプリケーションを構築している開発者が維持しています。私たちが「これがあればよかった」と思っていたツールを作りました。速く、待ち時間がなく、プライバシーを守り、オフラインでも完全に機能するツールです。

ツールは誰が維持し、どう検証されているのですか?

ToolsByUsはこのコレクションの発行元です。ツールのドキュメントには、実装されている動作、入力の上限、既知のエッジケースを記載しています。各ツールは関連する操作へリンクしており、すべてのページはコンテンツのレビュー日を構造化データとサイトマップに公開しています。

ソースには、処理エンジンのユニットテスト、代表的なワークフローのブラウザテスト、リンク、メタデータ、構造化データ、セキュリティヘッダーのビルドチェックが含まれています。自動チェックは有力な証拠ですが、あらゆるファイルやブラウザで動作することを保証するものはありません。

気づいた問題がすでに修正済みかどうかは、更新履歴を読んで確認してください。非公開の受信箱は存在しません。このサイトはアカウントを運用せず、アップロードを受け付けず、メッセージも保存しません。したがって、修正する価値のある不具合は公開して説明する価値があり、修正は更新履歴に入ります。非公開の文書や認証情報は、どこにも投稿しないでください。

レビュー日はコンテンツの確認を表します。共有レイアウトの変更は、その日にすべての処理アルゴリズムや記事が個別にレビューされたことを意味しません。