Skip to main content

Crate legalis_eu

Crate legalis_eu 

Source
Expand description

European Union (EU) Jurisdiction Support for Legalis-RS

This crate provides comprehensive modeling of EU law across major regulatory areas.

Status: v0.6.0 - Phase 1C Complete ✅

  • 200+ unit tests passing (0 warnings)
  • 25+ comprehensive examples
  • Production-ready

§Core Data & Privacy

  1. GDPR (General Data Protection Regulation 2016/679) - ✅ COMPLETE

    • Data processing legal bases (Article 6)
    • Special categories (Article 9)
    • Data subject rights (Articles 15-22)
    • Controller accountability (Article 24)
    • Data Protection by Design & Default (Article 25)
    • Joint controllers (Article 26)
    • Processor contracts (Article 28)
    • Records of Processing Activities - ROPA (Article 30)
    • Security and breach notification (Articles 32-34)
    • Data Protection Impact Assessment - DPIA (Articles 35-36)
    • Data Protection Officer - DPO (Articles 37-39)
    • Cross-border transfers (Articles 44-49, Chapter V)
    • Administrative fines (Article 83)
  2. ePrivacy Directive (Directive 2002/58/EC) - ✅ NEW in v0.6.0

    • Cookie consent requirements (Article 5(3))
    • Direct marketing (Article 13)
    • Location data processing (Article 9)
    • Confidentiality of communications (Article 5)

§Digital Services & Markets

  1. Digital Services Act (DSA) (Regulation EU 2022/2065) - ✅ NEW in v0.6.0

    • Platform classification (VLOP, VLOSE, online platforms)
    • Notice and action mechanism (Article 16)
    • Content moderation transparency (Article 17)
    • Systemic risk assessment (Article 34)
    • Risk mitigation measures (Article 35)
    • Algorithmic transparency (Article 27)
  2. Digital Markets Act (DMA) (Regulation EU 2022/1925) - ✅ NEW in v0.6.0

    • Gatekeeper designation (Article 3)
    • Core platform services
    • Gatekeeper obligations (Articles 5-7)
    • Interoperability requirements

§Artificial Intelligence

  1. AI Act (Regulation EU 2024/1689) - ✅ NEW in v0.6.0
    • Risk-based classification (unacceptable, high, limited, minimal)
    • Prohibited AI practices (Article 5)
    • High-risk AI requirements (Articles 9-15)
    • Transparency obligations (Article 52)
    • General-purpose AI models (Article 51)

§Financial Services

  1. MiFID II (Directive 2014/65/EU) - ✅ NEW in v0.6.0

    • Investment services and activities
    • Client categorization (retail, professional, eligible counterparty)
    • Conduct of business rules (Articles 24-25)
    • Best execution (Article 27)
    • Product governance (Article 16)
    • Transaction reporting (Article 26)
  2. PSD2 (Directive 2015/2366/EU) - ✅ NEW in v0.6.0

    • Payment services
    • Strong Customer Authentication (SCA) - Article 97
    • Open banking / API access (Article 67)
    • Payment initiation services (PIS)
    • Account information services (AIS)
    • Passporting rights

§Consumer Protection

  1. Consumer Rights Directive (Directive 2011/83/EU) - ✅ COMPLETE

    • Distance and off-premises contracts (Article 6)
    • 14-day withdrawal right (Articles 9-16)
    • Information requirements
    • All 13 exceptions to withdrawal (Article 17)
  2. Unfair Commercial Practices Directive (Directive 2005/29/EC) - ✅ NEW in v0.6.0

    • Misleading actions and omissions
    • Aggressive practices
    • 31 prohibited practices (“blacklist”)
    • Average consumer standard

§Competition & Markets

  1. Competition Law (Articles 101-102 TFEU) - ✅ COMPLETE
  • Anti-competitive agreements (Article 101)
  • De minimis test, exemption criteria
  • Abuse of dominant position (Article 102)
  • Market definition and dominance assessment

§Treaty Framework

  1. Treaty Framework (TFEU, TEU, Charter) - ✅ COMPLETE
  • Four freedoms (goods, persons, services, capital)
  • Charter of Fundamental Rights
  • CJEU landmark cases (Van Gend en Loos, Costa v ENEL, etc.)

§Primary vs Secondary Law

Primary Law (Treaties)
    ├── TEU (Treaty on European Union)
    ├── TFEU (Treaty on Functioning of EU)
    └── Charter of Fundamental Rights
         ↓
Secondary Law
    ├── Regulations (directly applicable)
    ├── Directives (require member state transposition)
    └── Decisions (binding on specific addressees)
         ↓
Member State Law
    └── National implementations of directives

§Regulations vs Directives

FeatureRegulationDirective
Direct applicabilityYesNo (requires transposition)
Binding forceEntirely bindingResult binding, means flexible
ExampleGDPR (Regulation 2016/679)Consumer Rights (Directive 2011/83/EU)
  • Direct Effect: EU law creates individual rights enforceable in national courts
  • Supremacy: EU law prevails over conflicting national law
  • Proportionality: EU action must not exceed what is necessary

§Multi-Language Support

All EU legislation exists in 24 official languages. This crate provides:

  • English (primary implementation language)
  • German (German legal tradition, largest member state)

Future: French, Spanish, Italian, and other EU languages

§Citation Format

EU legal citations follow EUR-Lex/CELEX format:

  • GDPR: CELEX:32016R0679 or GDPR Art. 6(1)(a)
  • TFEU: CELEX:12012E/TXT or Article 101 TFEU
  • Case law: C-26/62 (Van Gend en Loos) or C-6/64 (Costa v ENEL)

§Example Usage

use legalis_eu::gdpr::*;

// Validate GDPR consent-based processing
let processing = DataProcessing::new()
    .with_controller("Acme Corp")
    .with_purpose("Marketing emails")
    .add_data_category(PersonalDataCategory::Regular("email".to_string()))
    .with_lawful_basis(LawfulBasis::Consent {
        freely_given: true,
        specific: true,
        informed: true,
        unambiguous: true,
    });

match processing.validate() {
    Ok(validation) => {
        if validation.is_compliant() {
            println!("✅ Processing is GDPR compliant");
        }
    }
    Err(e) => println!("❌ Compliance error: {}", e),
}

Re-exports§

pub use gdpr::AdministrativeFine;
pub use gdpr::Article9Exception;
pub use gdpr::Article9Processing;
pub use gdpr::Article83Factors;
pub use gdpr::ComplianceStatus;
pub use gdpr::DataBreach;
pub use gdpr::DataProcessing;
pub use gdpr::DataSubjectRequest;
pub use gdpr::DataSubjectRight;
pub use gdpr::FineCalculation;
pub use gdpr::FineTier;
pub use gdpr::GdprError;
pub use gdpr::HealthcarePurpose;
pub use gdpr::LawfulBasis;
pub use gdpr::PersonalDataCategory;
pub use gdpr::ProcessingOperation;
pub use gdpr::ResearchPurpose;
pub use gdpr::SpecialCategory;
pub use gdpr::ViolatedArticle;
pub use citation::EuCitation;
pub use citation::EuLegalInstrument;
pub use consumer_rights::AggressivePractice;
pub use consumer_rights::ConsumerRightsError;
pub use consumer_rights::ContractType;
pub use consumer_rights::DistanceContract;
pub use consumer_rights::MisleadingAction;
pub use consumer_rights::MisleadingOmission;
pub use consumer_rights::OffPremisesContract;
pub use consumer_rights::ProhibitedPractice as ConsumerProhibitedPractice;
pub use consumer_rights::UnfairCommercialPractice;
pub use consumer_rights::WithdrawalException;
pub use consumer_rights::WithdrawalPeriod;
pub use consumer_rights::WithdrawalRight;
pub use competition::AbuseType;
pub use competition::Article101Agreement;
pub use competition::Article101Exemption;
pub use competition::Article101Validation;
pub use competition::Article102Conduct;
pub use competition::Article102Validation;
pub use competition::CompetitionError;
pub use competition::ConcertedPractice;
pub use competition::DominanceAssessment;
pub use competition::ExclusionaryAbuse;
pub use competition::ExploitativeAbuse;
pub use competition::GeographicMarket;
pub use competition::MarketAllocation;
pub use competition::RelevantMarket;
pub use competition::Undertaking;
pub use treaty::CharterArticle;
pub use treaty::CjeuCase;
pub use treaty::CjeuPrinciple;
pub use treaty::FourFreedom;
pub use treaty::FreedomType;
pub use treaty::FundamentalRight;
pub use treaty::JustificationGround;
pub use treaty::LandmarkCase;
pub use treaty::Restriction;
pub use treaty::TreatyArticle;
pub use treaty::TreatyProvision;
pub use treaty::TreatyType;
pub use intellectual_property::AcquisitionMethod;
pub use intellectual_property::CommunityDesign;
pub use intellectual_property::CopyrightException;
pub use intellectual_property::CopyrightValidation;
pub use intellectual_property::CopyrightWork;
pub use intellectual_property::DesignType;
pub use intellectual_property::DesignValidation;
pub use intellectual_property::EuTrademark;
pub use intellectual_property::IpError;
pub use intellectual_property::MarkType;
pub use intellectual_property::MisappropriationAnalysis;
pub use intellectual_property::NiceClass;
pub use intellectual_property::TradeSecret;
pub use intellectual_property::TradeSecretCharacteristics;
pub use intellectual_property::TradeSecretValidation;
pub use intellectual_property::TrademarkStatus;
pub use intellectual_property::TrademarkValidation;
pub use intellectual_property::WorkType;
pub use i18n::MultilingualText;
pub use shared::MemberState;
pub use reasoning::ComplianceStatus as ReasoningComplianceStatus;
pub use reasoning::EuEvaluationContext;
pub use reasoning::LegalAnalysis;
pub use reasoning::LegalReasoningEngine;
pub use reasoning::ReasoningError;
pub use reasoning::ReasoningResult;
pub use reasoning::ReasoningStep;
pub use reasoning::RiskLevel;
pub use reasoning::Violation;
pub use reasoning::ViolationSeverity;
pub use reasoning::all_eu_statutes;
pub use reasoning::competition_statutes;
pub use reasoning::consumer_rights_statutes;
pub use reasoning::gdpr_statutes;
pub use digital_services::AlgorithmicTransparency;
pub use digital_services::CorePlatformService;
pub use digital_services::DigitalServicesError;
pub use digital_services::DmaComplianceReport;
pub use digital_services::DsaValidationResult;
pub use digital_services::GatekeeperDesignation;
pub use digital_services::GatekeeperObligation;
pub use digital_services::IllegalContent;
pub use digital_services::IllegalContentNotice;
pub use digital_services::InteroperabilityRequirement;
pub use digital_services::ModerationDecision;
pub use digital_services::NoticeDecision;
pub use digital_services::NoticeResponse;
pub use digital_services::PlatformType;
pub use digital_services::QuantitativeThresholds;
pub use digital_services::StatementOfReasons;
pub use digital_services::SystemicRisk;
pub use digital_services::TransparencyReport;
pub use ai_regulation::AiActValidationResult;
pub use ai_regulation::AiRegulationError;
pub use ai_regulation::AiSystem;
pub use ai_regulation::ConformityStatus;
pub use ai_regulation::GeneralPurposeAiModel;
pub use ai_regulation::HighRiskCategory;
pub use ai_regulation::HighRiskRequirements;
pub use ai_regulation::HumanOversight;
pub use ai_regulation::LimitedRiskType;
pub use ai_regulation::ProhibitedPractice;
pub use ai_regulation::RiskLevel as AiRiskLevel;
pub use ai_regulation::TransparencyObligation;
pub use financial_services::AccountInformationProvider;
pub use financial_services::AuthenticationElement;
pub use financial_services::BestExecutionPolicy;
pub use financial_services::ClientCategory;
pub use financial_services::ConductOfBusiness;
pub use financial_services::FinancialServicesError;
pub use financial_services::InvestmentService;
pub use financial_services::OpenBankingApi;
pub use financial_services::Passport;
pub use financial_services::PaymentInitiationProvider;
pub use financial_services::PaymentService;
pub use financial_services::ScaExemption;
pub use financial_services::StrongCustomerAuthentication;
pub use financial_services::ThirdPartyProvider;
pub use eprivacy::CookieBanner;
pub use eprivacy::CookieCategory;
pub use eprivacy::CookieConsent;
pub use eprivacy::CookieDuration;
pub use eprivacy::CookieExemption;
pub use eprivacy::DirectMarketing;
pub use eprivacy::LocationDataProcessing;
pub use eprivacy::MarketingChannel;

Modules§

ai_regulation
EU AI Act (Regulation EU 2024/1689) Implementation
citation
EUR-Lex citation system and CELEX identifiers
competition
Competition Law (Articles 101-102 TFEU)
consumer_rights
Consumer Rights and Protection in the EU
digital_services
Digital Services Act (DSA) and Digital Markets Act (DMA) Implementation
eprivacy
ePrivacy Directive (Directive 2002/58/EC) Implementation
financial_services
EU Financial Services Regulation
gdpr
GDPR (General Data Protection Regulation 2016/679) Implementation
i18n
Internationalization (i18n) support for EU legal texts
intellectual_property
European Union Intellectual Property Law Module
reasoning
Legal Reasoning Engine for EU Law.
shared
Shared utilities and types for EU jurisdiction
treaty
Treaty Framework - EU Primary Law (TFEU, TEU, Charter)