namespace org.openagreements.commonpaper.commonpapercsawithai@1.0.0

import org.accordproject.contract.Contract from https://models.accordproject.org/accordproject/contract.cto

/**
 * Common Paper CSA With AI
 *
 * A cloud service agreement with AI provisions, key terms, and standard
 * terms, based on Common Paper's standard form. Extends the standard CSA with
 * AI-specific terms covering model training, input/output rights, and AI
 * usage policies.
 * Source: https://commonpaper.com/standards/cloud-service-agreement/2.1
 * License: CC-BY-4.0
 */

enum General_cap_typeType {
  o multiplier
  o dollar
  o greater_of
}

enum Increased_cap_typeType {
  o multiplier
  o dollar
  o greater_of
}

enum Provider_signatory_typeType {
  o entity
  o individual
}

enum Customer_signatory_typeType {
  o entity
  o individual
}

asset CommonPaperCsaWithAi extends Contract {
  o String company_name
  o String provider_name
  o String customer_name
  o String key_terms_effective_date
  o String cloud_service
  o String custom_start_date optional
  o String subscription_period
  o String pilot_period optional
  o String fees optional
  o String fee_unit optional
  o String custom_fee_structure optional
  o String use_limitations optional
  o String professional_services_billing optional
  o String fee_increase_max_percent optional
  o String fee_increase_percent optional
  o String sla_terms optional
  o String increased_claim_other_detail optional
  o String unlimited_claim_other_detail optional
  o String additional_warranty_provider_detail optional
  o String additional_warranty_customer_detail optional
  o String other_security_certification optional
  o String payment_frequency optional
  o String payment_terms_days optional
  o String payment_due_from optional
  o String non_renewal_notice_days optional
  o String technical_support optional
  o String support_policy_reference optional
  o String professional_services_reference optional
  o String professional_services_description optional
  o String custom_effective_date optional
  o String governing_law default="Delaware"
  o String jurisdiction default="courts located in New Castle County, Delaware"
  o String general_cap_amount optional
  o String cap_multiplier optional
  o String increased_cap_amount optional
  o String greater_of_dollar optional
  o String greater_of_multiplier optional
  o String dpa_reference optional
  o Boolean pilot_has_fee optional
  o Boolean pilot_modifications optional
  o Boolean fee_is_per_unit optional
  o Boolean fee_is_other optional
  o Boolean fee_may_increase optional
  o Boolean fee_will_increase optional
  o Boolean fee_inclusive_of_taxes optional
  o Boolean payment_by_invoice optional
  o Boolean no_auto_renew optional
  o Boolean professional_services_by_reference optional
  o Boolean professional_services_described optional
  o Boolean professional_services_payment optional
  o Boolean has_provider_covered_claims optional
  o Boolean has_customer_covered_claims optional
  o General_cap_typeType general_cap_type optional
  o Increased_cap_typeType increased_cap_type optional
  o Boolean increased_claim_breach_privacy optional
  o Boolean increased_claim_breach_conf optional
  o Boolean increased_claim_indemnification optional
  o Boolean increased_claim_breach_privacy_gross optional
  o Boolean increased_claim_breach_conf_gross optional
  o Boolean increased_claim_other optional
  o Boolean unlimited_claim_indemnification optional
  o Boolean unlimited_claim_breach_privacy_gross optional
  o Boolean unlimited_claim_breach_conf_gross optional
  o Boolean unlimited_claim_breach_privacy optional
  o Boolean unlimited_claim_breach_conf optional
  o Boolean unlimited_claim_other optional
  o Boolean additional_warranty_by_provider optional
  o Boolean additional_warranty_by_customer optional
  o Boolean security_reasonable_efforts optional
  o Boolean has_security_policy optional
  o Boolean has_security_certifications optional
  o Boolean cert_iso_27001 optional
  o Boolean cert_penetration_testing optional
  o Boolean cert_soc2_type1 optional
  o Boolean cert_pci_level1 optional
  o Boolean cert_soc2_type2 optional
  o Boolean cert_pci_level2 optional
  o Boolean cert_hitrust optional
  o Boolean cert_fedramp optional
  o Boolean cert_other optional
  o Boolean insurance_commercial_liability optional
  o Boolean insurance_workers_comp optional
  o Boolean insurance_errors_omissions optional
  o Boolean insurance_cyber optional
  o Boolean insurance_additional_insured optional
  o Boolean additional_insured_commercial optional
  o Boolean additional_insured_eo optional
  o Boolean additional_insured_cyber optional
  o String ai_policy_reference optional
  o String ai_additional_terms optional
  o Boolean ai_training_data_none optional
  o Boolean ai_training_data_usage optional
  o Boolean ai_training_data_feedback optional
  o Boolean ai_training_data_input optional
  o Boolean ai_training_data_output optional
  o Boolean ai_training_data_user_prompts optional
  o Boolean ai_training_data_customer_content optional
  o Boolean ai_training_data_other optional
  o Boolean ai_training_data_aggregated optional
  o Boolean ai_training_data_deidentified optional
  o Boolean ai_training_data_deidentify_efforts optional
  o Boolean ai_training_restrictions_other optional
  o Boolean ai_provider_covered_claims optional
  o Boolean ai_customer_covered_claims optional
  o Boolean ai_acceptable_use_policy optional
  o Provider_signatory_typeType provider_signatory_type default="entity"
  o String provider_signatory_name optional
  o String provider_signatory_title optional
  o String provider_signatory_company optional
  o String provider_signatory_email optional
  o Customer_signatory_typeType customer_signatory_type default="entity"
  o String customer_signatory_name optional
  o String customer_signatory_title optional
  o String customer_signatory_company optional
  o String customer_signatory_email optional
}
