しくみ
リンクを貼るだけです。訪問者のブラウザと同じようにアプリを開き、見える情報を集め、リリース前によくある問題のリストと照合します。AI で作られたアプリによくある問題も含みます。スコア、6 つの領域のステータス、見つかった問題が届きます。
チェックする項目
セキュリティ
ページのコードに残ったデータベースや決済のキー、誰でも読めるテーブル、不足しているセキュリティヘッダー、.env や source map などの露出したファイル。
SEO
検索エンジンにコンテンツが見えているか、空のページに見えているか。タイトル、説明文、リンクプレビュー、sitemap、robots.txt。
速度
Core Web Vitals、スクリプトのサイズ、画像。Lighthouse のモバイル設定で計測します。
デザインと UX
トップページがひとつの製品として見えるか(文字サイズ、ボタン、見出し、わかりやすい最初の画面)、そしてスマートフォンで使いやすいか(横スクロールがない、タップしやすい大きさ、入力時に拡大されないフォーム)。
決済
決済が動くか、訪問者がブラウザで価格を変えられないか、コードに決済の秘密キーがないか。
法務
プライバシーポリシー、利用規約、トラッカー使用時の Cookie バナー、連絡手段、メールの SPF・DKIM・DMARC レコード。
コスト
OpenAI や Anthropic などの有料 AI API をブラウザから直接呼び出していないか。そこでは誰でもキーを使い回し、請求額をふくらませられます。
チェックしない項目
高いスコアは、私たちのチェックで問題が見つからなかったことを意味します。アプリに問題がまったくないという意味ではありません。
ログインが必要なページ
無料スキャンが見るのは、ログインしていない訪問者に見える範囲です。
ソースコード
読むのは、サイトがすべてのブラウザーに送るコードだけです。サーバーのコードやデータベースには届きません。
ビジネスルール
割引が重ねて使えるか、無料トライアルをやり直せるか、など。製品を知っている人の判断が必要です。
負荷テストと攻撃テスト
サイトに過剰な負荷をかけたり、パスワードを推測したり、侵入を試みたりすることは決してありません。
モバイルアプリ
まだ対応していません。App Store や Google Play のアプリはチェックしません。Telegram ボットはベータで対応しています:同じ入力欄に @ユーザー名 を貼り付けてください。
パッシブチェックとアクティブチェック
パッシブ:毎回のスキャンで実施
どのブラウザでも見える範囲だけ。アプリが自分のものか、許可を得ていることを確認していただきます。
- ページと、そのページが使うスクリプトを読み込む
- レスポンスヘッダーと Cookie 設定を読む
- ドメインの DNS レコードを確認する
- /.env や /.git/config など、よく知られたファイルの短いリストを通常の GET リクエストで取得する
- Lighthouse で速度と SEO を計測する
アクティブ:所有者確認のあとだけ
データに触れるため、所有者であることが確認できたアプリでのみ実行します。
- コード内の公開データベースキーを使い、ログインなしでテーブルを読めるか確認する
- 提供いただいた 2 つのテストアカウントでログインし、あるユーザーが別のユーザーのデータを見られないか確認する
アプリの所有者確認
近日公開。3 つの方法から 1 つを選びます。どれもプロジェクトページのトークンを使います。
meta タグ
トップページの <head> に、トークン入りのタグを追加します。
ファイル
トークン入りのファイルを /.well-known/okaytoship.txt にアップロードします。
DNS レコード
ドメインにトークン入りの TXT レコードを追加します。
制限
- 1 ドメインあたり 1 日 3 回まで無料。簡単なボット確認があります。
- 政府、銀行、医療、教育機関のサイトはスキャンしません。
- 公開ドメインのみ。IP アドレスや社内ネットワークは対象外です。