App ディレクトリのチェックリスト・最新版

Published: 2020-02-26 Updated: 2022-02-10

注意 : アプリをご自身のワークスペース、または他の Slack ワークスペースで機能させるために App ディレクトリに必ずしも掲載する必要はありません。

アプリを構築したら、他の Slack ワークスペースに使用してもらえるよう App ディレクトリに提出することができます。提出されたアプリは、ユーザにとって使いやすいかどうか、そして API TOS (API サービス利用規約)や、開発者向けポリシー、ブランドガイドラインに準拠しているかといった点を Slack によって審査されます。

提出する際には、次の総合的なチェックリストが表示されます。本リストには、審査で失格になる共通項目が記載されています。このチェックリストに沿ってアプリの審査プロセスを素早くスムーズに進められるようにしてください。

掲載済みのアプリを更新する、またアプリを提出するにはこちらの記事をお読みください。


App ディレクトリ提出のチェックリスト

権限スコープを確認する

  • 新しいアプリを App ディレクトリに提出する場合、または、App ディレクトリに掲載済みのアプリを再提出する場合、そのアプリが Granular Permissions と呼ばれる権限モデル (英語) を使用していることを確認します。

  • リクエストされるスコープは、サービスが機能するために必要な最低限のもののみです。私のアプリは、メッセージのデータやセンシティブな情報にアクセスする広範囲なアクセスを要求したり、Slack の管理上やプライバシー保護のために必要なコントールを迂回したり、readpostclientsearch:read のようなスコープを使用したりすることはありません 。

  • アプリの設定には OAuth フローの毎ステップでリクエストされるすべてのスコープが含まれており、私はそれぞれのスコープがどのように利用されるかについての詳細な理由を明記しています。

ユーザエクスペリエンスを検証する

  • 私のアプリは、業務での利用にふさわしい質の高いSlack での体験を提供します。

  • 私のアプリが送信するメッセージでは、明確で一貫性のあるメッセージフォーマットを使います。(より詳細な情報はブロックキットを利用したメッセージの構築 (英語)を参照してください。Block Kit Builder を使えば、メッセージのプレビューを確認したり、アプリで使うためのテンプレートを探すことができます)

  • 私のアプリからのメッセージには誤記や文法上の誤りはありません。

  • ユーザからの明確かつ個別の合意なしに、私のアプリが Slack から入手した連絡先情報を利用することはありません。

  • 私のアプリは @channel または @here の通知やダイレクトメッセージを適切な時にのみ送信します。

  • 私のアプリはデフォルトの設定で #general チャンネルやユーザの Slackbot ダイレクトメッセージにメッセージを送信することはありません。

  • 私のアプリでスラッシュコマンドを使用する場合は、ユーザがヘルプを依頼したり、フィードバックを送信したりできる機能が備わっています。例えば、「/mycommand help」が入力された場合には、アプリの使用に関する情報を含んだレスポンスが送信されることになっています。

  • App Home の「メッセージ」タブ を使っている場合、このアプリのボットはユーザのダイレクトメッセージに応答します。また、初めてユーザがこのビューを開いた時にウェルカムメッセージを送信するために app_home_opened イベントを使います。ユーザからのメッセージをリッスンする必要がない場合、メッセージタブからダイレクトメッセージやスラッシュコマンドを送信することを無効にします。無効するには、Slack アプリ設置画面から Features > App Home > Messages Tab > Allow users to send Slash commands and messages from the messages tab をオフにします。

  • App Home の「ホーム」タブ を使う場合、それぞれのユーザに適した役立つコンテンツをタブに表示します。

  • 私のアプリは機能上必要のあるドメインイベントのみリクエストします。

  • 私はアプリを Slack App ディレクトリに提出する前に、そのインストール、オンボーディング、機能性を徹底的にテストするため新しいワークスペースにインストールしたことがあります。

  • 私のアプリは App ディレクトリ掲載後に増えていくユーザをサポートする体制を備えており、現時点でプライベートベータ版ではありません。

  • 私のアプリは Slack で金融取引を行いません。

  • もしアプリの提供を継続しないことになった場合、アプリが取得した API トークンをすべて破棄(revoke)するとともに、利用者と App ディレクトリチームに対して、廃止に関する計画をプランをお知らせします。

  • 私のアプリはリダイレクト URI 、ウェブページ、またはエンドポイントすべてで TLS 1.2 またはそれ以上を使用しています。

App ディレクトリ掲載に向けて準備する

アプリを提出する前に、App ディレクトリに載せるためのガイドラインをご参照ください。

  • 私のアプリは Slack のブランドガイドライン に準拠しています。

  • 私のアプリはいかなる商標、著作権、またはその他の知的所有権も侵害していません。

  • 私のアプリの名前は、現在 App ディレクトリにあるどのアプリとも重複していません。

  • 私のアプリでは、サードパーティのインテグレーションとして明記する場合以外は、名前やドメイン名に「Slack」を使用していません。 (例えば、「Slack での本サービス」は構いませんが「本Slack サービス」は上記に反します。)

  • 私のアプリは質の高い独自のアイコンを持っており、Slackbot または Slack アイコンに類似していません。

  • 私のアプリには、機能と動作方法についての簡単な説明があります (25 文字程度またはそれ以下が理想的です) 。(Slack アプリ設定画面から Settings > Basic Information > Display Information > Short Description)

  • 私のアプリには、機能について正確かつ詳細でわかりやすい説明があります。(Slack アプリ設定画面から Settings > Basic Information > Display Information > Long Description)

  • YouTube リンクが含まれる場合、そのリンク先での動画では Slack での私のアプリの使い方がわかりやすく説明されています。

  • 画像が含まれる場合、その画像は質が高く、アプリの使い方をわかりやすく説明しています。

  • 私のアプリは選択した言語すべてに対応しています。

  • 私のアプリでは料金に関する正しい情報を提供しています。 (アプリが機能上必要な有料サービスと連携する場合、有料オプションの中から 1 つ選んでください)

  • 私のアプリはプライバシーポリシー、サポート、ランディングページの URL においてドメイン名を所有しています。

  • 私のランディングページには、私のアプリの説明や Slack との連携方法の詳細がまとめられています。 (詳しくは、ランディングページのガイドライン(英語) を参照してください)

  • 私のランディングページには、アプリの設定と使用についての明確な手順が載っています (例えば、アプリのどの部分が Slack のメッセージをトリガーし、どのコメントにボットが応答するのかなど) 。

  • 私のアプリのランディングページには、ユーザがアプリをインストールするための「Slack に追加」ボタンがわかりやすく表示されています。ボタンがログインページ以降に設置されている場合には、その Slack ボタンへのアクセス方法についての詳しい手順が表示されています。

  • 私のアプリのランディングページには、サードパーティのデータを収集、管理、保存する方法をわかりやすく説明したプライバシーポリシーへのリンクが含まれています。(プライバシーポリシーが英語に対応していない場合は、機械翻訳ではなく人間によって翻訳された英語版を当社宛にメールで送っていただく必要があります)

  • ダイレクトインストールの URL が含まれる場合には、302 リダイレクトで Slack の認証 URL に戻ります。

  • Slack を顧客のプライベートな情報につなげる場合、私のアプリの OAuth フローではステートパラメータが使われます。

  • 私のアプリが Slack 経由で顧客に大規模言語モデル(例: ChatGPT)と連携する場合、不正確な応答を生成する可能性について、アプリを説明する Long Description とランディングページに明確な免責事項を記載しています。(Slack アプリ設定画面から Settings > Basic Information > Display Information > Long Description)

カスタマーサポートの準備をする

  • 私のアプリには、問題が起こった時やヘルプが必要な場合のために、チームへの問い合わせ方法をわかりやすく説明したページへのリンクがあります。

  • ユーザはサポートが必要な時、チームに連絡するのに新しいアカウントを作る必要はありません。

  • アプリを最新の状態に保ち、サポートチャンネルを常に開いておくことに同意します。

Slack のポリシーを確認して同意する

  • 私のアプリは Slack のガイドラインと API サービス利用規約 を満たしています。

  • 私は Slack のアプリ開発者向けポリシー (英語)App ディレクトリ契約 (英語) に従うことに同意します。

  • 個人情報を収集する場合、私のアプリのプライバシーポリシーページにはリクエストに応じて個人データを削除、アクセス、そして転送するためのプロセスが載っています。

  • データプライバシーに対応するため事前に明示・同意した以外の理由で、収集・処理された個人情報が保持または使用されることはありません。

  • 個人情報は具体的、明示的かつ正当な目的のもとに収集され、その個人情報が処理される目的のために必要な期間を越えて保持されることはありません。

  • 顧客から要望があった場合には、適用対象となるすべての規制や法律を遵守していることを証明できます。

  • Slack App ディレクトリ契約 (英語)およびセキュリティ審査ガイド (英語)の両方に規定された条件に従って、 Slack が私のアプリのセキュリティ審査を行うことを許可し、これに同意します。

  • セキュリティとコンプライアンスの情報を提供している場合、そこに含まれる内容は正確かつ事実に即したものです。

  • 私のアプリは Slack の セキュリティガイドライン(英語) に従っています。

その他審査に必要なものを提出する

  • アプリへのアクセスにアカウントまたは料金プランが必要な場合は、テストアカウントの詳細を提出してください。アカウントとテストデータを提出していただくことで、より迅速にテストを実施できるようになります。アカウントが不要な場合には、「N/A」と入力してください。

  • アプリの変更を届ける際には、変更内容の簡単な説明を添えてください。他にも Slack に知らせたい点があれば入力してください。該当しない場合には、「N/A」と入力してください。

セキュリティとコンプライアンス情報を提出する

ワークスペースの管理者はアプリをインストールする前に、そのアプリが社内の要件を満たしているかどうか判断するためにセキュリティとコンプライアンス情報を共有しておいた方がおすすめです。この情報を追加することで、管理者はアプリをより早くレビューし、インストールすることができます。

一般

  • 会社名 / デベロッパー名
  • 本社の国
  • 利用規約のリンク

プライバシーとデータガバナンス

  • データ保持ポリシー
  • データアーカイブポリシー・データ削除ポリシー
  • データ保存ポリシー
  • データセンターの所在地 (任意)
  • データをどのようにホスティングされていますか? (任意)
  • データホスト名(任意)
  • 復処理者が利用していますか?

コンプライアンス証明および認証

  • SOC 報告書のリンク (任意)
  • COPPA コンプライアンスのリンク (任意)
  • ISO/IEC-27001 認証のリンク (任意)
  • ISO/IEC-27017 認証のリンク (任意)
  • ISO/IEC-27018 認証のリンク (任意)
  • FedRAMP ATO 認証のリンク (任意)
  • CSA STAR認証の リンク (任意)
  • HIPAA コンプライアンスに準拠していますか?
  • プライバシーシールド証明のリンク (任意)
  • GDPRへのコンプライアンスのリンク (任意)
  • データ削除のリクエストをどのように処理しますか?

セキュリティ

  • 最新のペネトレーションテストの日付 (任意)
  • 最新のペネトレーションテストはベンダーによって行われましたか?
  • 顧客からのご要望に応じ、ペネトレーションテストの要旨を共有できますか?
  • サービスは SSO をサポートしていますか?
  • サービスは SAML をサポートしていますか?
  • 専任のセキュリティチームがありますか?
  • 脆弱性情報開示プログラムがありますか?
  • 脆弱性報奨金制度がありますか?
  • 私のアプリは機能上、サードパーティとの連携が必要ですか?
  • セキュリティ上の問題が発生した場合、ユーザはどのように報告すれば良いですか?
  • どのサードパーティサービスを利用していますか? (任意)