oas-document · compliance
Declared module signatures, types, configuration, and source documentation.
Source: oas/oas/oas-document/src/compliance.rs. SHA-256: d8e7bef91c2192744c6174ed6ca1caeff461d721db91f8f4f9a7e9149cdecbb0.
This source reference follows declared modules and preserves feature attributes. It includes public declarations and implementation methods in those modules. Private-module exports and trait resolution still require the compiler; not every declaration is a crate-root import. Function bodies and constant values are omitted. Source comments describe their implementation context and are not a production deployment claim.
compliance::Certification
A compliance certification held by the entity.
Examples
use oas_document::compliance::Certification;
let cert = Certification {
standard: "SOC2 Type II".to_string(),
issuer: Some("Vanta".to_string()),
valid_until: Some("2027-06-30".to_string()),
url: Some("https://acme.com/compliance/soc2".to_string()),
};#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Certification {
/// Standard name: `"SOC2 Type II"`, `"GDPR"`, `"HIPAA"`, `"ISO 27001"`.
pub standard: String,
/// Issuing body or audit firm.
#[serde(skip_serializing_if = "Option::is_none")]
pub issuer: Option<String>,
/// Expiry date (ISO 8601 date or datetime).
#[serde(skip_serializing_if = "Option::is_none")]
pub valid_until: Option<String>,
/// URL to certification evidence or public report.
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>
}Source line: 25.
compliance::ComplianceSection
Compliance and jurisdiction section of an OAS Identity Document.
Examples
use oas_document::compliance::{ComplianceSection, Certification};
let compliance = ComplianceSection {
jurisdictions: vec!["US".to_string(), "EU".to_string()],
certifications: vec![Certification {
standard: "GDPR".to_string(),
issuer: None,
valid_until: None,
url: None,
}],
terms_of_service_url: Some("https://acme.com/tos".to_string()),
privacy_policy_url: Some("https://acme.com/privacy".to_string()),
data_handling_policy_url: Some("https://acme.com/data-policy".to_string()),
data_residency: Some("EU".to_string()),
};
assert_eq!(compliance.jurisdictions.len(), 2);#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ComplianceSection {
/// Operating jurisdictions (ISO 3166-1 alpha-2 country codes).
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub jurisdictions: Vec<String>,
/// Compliance certifications.
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub certifications: Vec<Certification>,
/// Terms of service URL.
#[serde(skip_serializing_if = "Option::is_none")]
pub terms_of_service_url: Option<String>,
/// Privacy policy URL.
#[serde(skip_serializing_if = "Option::is_none")]
pub privacy_policy_url: Option<String>,
/// Data handling / data processing policy URL.
#[serde(skip_serializing_if = "Option::is_none")]
pub data_handling_policy_url: Option<String>,
/// Data residency region (ISO 3166-1 alpha-2 or region name).
#[serde(skip_serializing_if = "Option::is_none")]
pub data_residency: Option<String>
}Source line: 66.