EULA(End User License Agreement:エンドユーザー使用許諾契約)は、製品の利用条件を定める重要な法的文書です。AWS Marketplaceでは、AWS標準契約(SCMP)またはカスタムEULAを選択できます。
推奨: 多くの場合、**SCMP(Standard Contract for AWS Marketplace)**の使用が推奨されます。審査が早く、顧客にとっても馴染みのある契約形態です。
EULAの選択肢
SCMP(Standard Contract for AWS Marketplace)
AWS Marketplaceが提供する標準的な契約形態です。
SCMPとは
**Standard Contract for AWS Marketplace(SCMP)**は、AWSが提供する標準的な利用規約テンプレートです。多くのAWS Marketplace製品で使用されており、顧客にとって馴染みのある契約形態です。
- AWS Marketplaceの標準条項
- 顧客にとって理解しやすい
- 審査プロセスが迅速
- 法務レビューが不要(AWSが提供)
- 多言語対応
メリット
- ✅ 迅速な審査(1-2営業日)
- ✅ 顧客の信頼が高い
- ✅ 法務コストの削減
- ✅ 標準化された条項
- ✅ 自動更新対応
デメリット
- ❌ カスタマイズができない
- ❌ 特殊な条件を追加できない
- ❌ 業界特有の要件に対応困難
適用シナリオ
- 標準的なSaaS製品
- 中小企業向け製品
- 迅速な市場投入が優先
- 法務リソースが限定的
SCMPの主要条項
1. ライセンス付与
- 非独占的な使用権
- サブスクリプション期間中の利用
- 指定されたユーザー数/使用量の範囲内
- 商用利用可能
2. 知的財産権
- ISVが全ての知的財産権を保持
- 顧客は使用権のみ
- 逆コンパイル・リバースエンジニアリング禁止
- 第三者への再販禁止
3. データとプライバシー
- 顧客データの所有権は顧客
- ISVはデータ保護義務を負う
- GDPR、CCPA等のコンプライアンス
- データ処理の透明性
4. サービスレベル
- 可用性の保証(SLA)
- サポート対応時間
- メンテナンス通知
- ダウンタイムの補償
5. 責任制限
- 間接損害の免責
- 責任上限の設定(通常は支払額)
- 不可抗力条項
- 保証の制限
6. 解約条件
- 解約通知期間(通常30日前)
- 自動更新の条件
- 返金ポリシー
- データ返却・削除
SCMPの設定手順
AWS Marketplace Management Portal(AMMP)
1. AMMPにログイン
2. "Products" → 製品を選択
3. "Legal" タブを選択
4. "Contract Type" で "SCMP" を選択
5. 追加条項(オプション):
- Refund Policy(返金ポリシー)
- Support Terms(サポート条件)
- SLA(サービスレベル契約)
6. "Save" をクリック
7. 審査リクエストを提出
SCMPへの追加条項
SCMPをベースに、以下の追加条項を設定できます:1. 返金ポリシー
const refundPolicy = {
enabled: true,
period: 30, // 30日間
conditions: [
"製品が説明通りに機能しない場合",
"重大なバグが修正されない場合",
"サービスレベルが達成されない場合"
],
exclusions: [
"使用量ベースの課金は返金対象外",
"カスタム開発費用は返金対象外"
],
process: "サポートチケットを通じて申請"
};
2. データ保持ポリシー
const dataRetention = {
activeSubscription: {
retention: "unlimited",
backups: "daily",
encryption: "AES-256"
},
afterCancellation: {
retention: 90, // 90日間
access: "read-only for 30 days",
deletion: "automatic after 90 days"
},
dataExport: {
formats: ["JSON", "CSV", "SQL"],
availability: "anytime during subscription",
cost: "free"
}
};
3. セキュリティとコンプライアンス
const security = {
certifications: [
"SOC 2 Type II",
"ISO 27001",
"GDPR compliant",
"HIPAA compliant"
],
dataResidency: {
regions: ["US", "EU", "APAC"],
customerChoice: true
},
encryption: {
inTransit: "TLS 1.3",
atRest: "AES-256"
},
accessControl: {
mfa: "required",
sso: "supported",
rbac: "enabled"
}
};
カスタムEULA
独自の利用規約を作成する場合に選択します。
カスタムEULAとは
ISVが独自に作成する利用規約です。特殊な業界要件や、標準的なSCMPでカバーできない条件がある場合に使用します。メリット
- ✅ 完全なカスタマイズが可能
- ✅ 業界特有の要件に対応
- ✅ 特殊な条件を追加可能
- ✅ ブランドイメージの統一
デメリット
- ❌ 法務レビューが必要
- ❌ AWS審査に時間がかかる(5-10営業日)
- ❌ 顧客の法務レビューが必要
- ❌ 更新時の再審査が必要
適用シナリオ
- 規制の厳しい業界(金融、ヘルスケア)
- 特殊なライセンス条件
- 既存の企業標準契約がある
- エンタープライズ顧客向け
カスタムEULAの必須条項
AWS MarketplaceでカスタムEULAを使用する場合、以下の条項が必須です:1. ライセンス付与
## ライセンス付与
ISV(以下「当社」)は、お客様に対し、本契約の条件に従い、
本ソフトウェアを使用する非独占的、譲渡不可能なライセンスを
付与します。
### 使用範囲
- 商用利用: 可
- ユーザー数: [契約プランに応じて]
- 地理的制限: なし
- 期間: サブスクリプション期間中
### 禁止事項
- 逆コンパイル、リバースエンジニアリング
- 第三者への再販、再配布
- ソースコードの抽出
- ベンチマークテストの公開
2. 知的財産権
## 知的財産権
本ソフトウェアおよび関連する全ての知的財産権は、
当社または当社のライセンサーに帰属します。
お客様は、本契約に明示的に付与されていない権利を
一切取得しません。
3. データ保護とプライバシー
## データ保護
### 顧客データの所有権
お客様が本サービスを通じて入力、アップロード、または
生成したデータ(以下「顧客データ」)の所有権は、
お客様に帰属します。
### データ処理
当社は、顧客データを以下の目的でのみ処理します:
- サービスの提供
- サービスの改善
- サポートの提供
- 法的義務の遵守
### データ保護規制
当社は、以下の規制を遵守します:
- GDPR(EU一般データ保護規則)
- CCPA(カリフォルニア州消費者プライバシー法)
- その他適用される地域のデータ保護法
4. 責任制限
## 責任制限
### 間接損害の免責
いかなる場合も、当社は以下の損害について責任を負いません:
- 間接的、偶発的、特別、懲罰的損害
- 利益、収益、データの喪失
- 事業機会の喪失
- 代替サービスの調達費用
### 責任上限
当社の責任は、損害発生前12ヶ月間にお客様が当社に
支払った金額を上限とします。
### 例外
以下の場合、責任制限は適用されません:
- 故意または重過失による損害
- 人身傷害
- 法律で制限できない責任
5. 解約条件
## 解約
### お客様による解約
お客様は、30日前の書面通知により、いつでも本契約を
解約できます。
### 当社による解約
当社は、以下の場合に本契約を解約できます:
- お客様が本契約に違反した場合
- 支払いが30日以上遅延した場合
- お客様が破産手続きを開始した場合
### 解約後の処理
- データは90日間保持されます
- 30日間はデータのエクスポートが可能です
- 90日後、データは完全に削除されます
カスタムEULA作成のステップ
- テンプレートの選択: AWS提供のSCMPをベースにするか、自社EULAを使用するか決定
- カスタマイズ: 業界要件、データ保護、SLA等の条項を追加
- 法務レビュー: 社内法務または外部弁護士によるレビュー
- AWS審査提出: AMMPから製品に紐付けて提出
Deshimaのプロセスガイド: Deshimaのタスク一覧でEULA作成の各ステップを確認でき、漏れなく進められます。
業界別の特殊要件
金融業界(FINRA、SEC規制)
## 金融業界特有の条項
### 規制遵守
- FINRA Rule 4511(記録保持)
- SEC Rule 17a-4(電子記録保持)
- Dodd-Frank Act(金融規制改革法)
### 監査とレポート
- 監査ログの保持期間: 7年
- 監査人への直接アクセス提供
- 四半期ごとのコンプライアンスレポート
### データ保護
- 暗号化: FIPS 140-2準拠
- アクセス制御: 多要素認証必須
- データ保持: 規制要件に準拠
ヘルスケア業界(HIPAA)
## HIPAA準拠条項
### Business Associate Agreement (BAA)
当社は、HIPAAのBusiness Associateとして、
以下の義務を負います:
- PHI(保護対象保健情報)の適切な保護
- セキュリティ規則の遵守
- 違反通知義務
- サブコントラクターの管理
### 技術的セーフガード
- アクセス制御
- 監査制御
- 完全性制御
- 伝送セキュリティ
### 違反通知
PHIの違反が発生した場合、60日以内に通知します。
公共セクター(FedRAMP)
## FedRAMP準拠条項
### 認証レベル
本サービスは、FedRAMP [Low/Moderate/High] 認証を
取得しています。
### セキュリティ管理策
- NIST SP 800-53準拠
- 継続的監視
- 年次評価
### データ主権
- データは米国内でのみ保存
- 米国市民によるサポート
- 外国政府へのデータ開示なし
法務レビューのプロセス
法務レビューのチェックリスト
1. AWS Marketplace要件
2. 法的リスク
3. コンプライアンス
4. 顧客保護
法務レビューの実施
カスタムEULAは、以下のステップで法務レビューを進めることを推奨します。
- 社内法務レビュー(目安: 5営業日)
- AWS Marketplace要件の確認
- リスク評価
- コンプライアンス確認
- 外部顧問弁護士レビュー(目安: 7営業日)
- 役員承認(目安: 3営業日)
法務レビューでよく指摘される問題
1. 責任制限が不十分
問題:修正:「当社の責任は、損害発生前12ヶ月間にお客様が
当社に支払った金額を上限とします。ただし、
故意または重過失による損害、人身傷害、
法律で制限できない責任については、この限りではありません。」
2. データ保護条項が曖昧
問題:修正:「お客様のデータは、以下の方法で保護されます:
- 転送時: TLS 1.3による暗号化
- 保管時: AES-256による暗号化
- アクセス制御: RBAC、MFA必須
- 監査: すべてのアクセスをログ記録
- コンプライアンス: GDPR、CCPA準拠」
3. 解約条件が不明確
問題:修正:「お客様は、30日前の書面通知により解約できます。
解約後、以下の処理が行われます:
- データは90日間保持されます
- 30日間はデータのエクスポートが可能です
- 90日後、データは完全に削除されます
- 未使用期間の返金は行いません」
AWS審査要件
AWSの審査基準
1. 必須条項の確認
- ライセンス付与条項
- 知的財産権条項
- データ保護条項
- 責任制限条項
- 解約条項
2. 禁止事項
以下の条項は禁止されています:
- 顧客に不利な一方的な変更権
- 過度に広範な免責条項
- 不合理な解約制限
- AWS Marketplaceの利用を制限する条項
3. 明確性
- 平易な言葉で記述
- 曖昧な表現を避ける
- 矛盾する条項がない
- 構造が論理的
AWS審査の流れ
審査期間
| EULA種類 | 審査期間 |
|---|
| SCMP | 1-2営業日 |
| カスタムEULA(標準的) | 5-7営業日 |
| カスタムEULA(複雑) | 10-15営業日 |
審査ステータスの確認
// 審査ステータスの追跡
const status = await client.legal.getAWSReviewStatus({
submissionId: submission.id
});
console.log("ステータス:", status.status);
console.log("審査者コメント:", status.comments);
console.log("必要なアクション:", status.requiredActions);
// 自動通知の設定
await client.legal.setupReviewNotifications({
submissionId: submission.id,
events: [
"status_change",
"comment_added",
"approval",
"rejection"
],
recipients: ["legal@yourcompany.com", "pm@yourcompany.com"]
});
修正依頼への対応
// 修正依頼の取得
const feedback = await client.legal.getAWSFeedback(submission.id);
feedback.items.forEach(item => {
console.log("セクション:", item.section);
console.log("問題:", item.issue);
console.log("推奨修正:", item.recommendation);
console.log("優先度:", item.priority);
});
// 修正版の提出
const revision = await client.legal.submitRevision({
submissionId: submission.id,
changes: [
{
section: "Liability Limitation",
oldText: "当社は一切の責任を負いません",
newText: "当社の責任は、支払額を上限とします",
reason: "AWS審査フィードバックに基づく修正"
}
],
documents: [
{ type: "revised_eula", file: "eula-v2.pdf" },
{ type: "change_log", file: "changes.pdf" }
]
});
console.log("修正版提出完了:", revision.id);