OpenAgentID documentation
Source referencesRust module referenceoas-document

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.

On this page