Expand description
§Legalis-BR: Brazilian Law Library
Comprehensive Brazilian legal framework implementation in Pure Rust.
§Overview
Brazil operates under a Civil Law system, part of the Romano-Germanic tradition. This library provides validation, types, and utilities for key Brazilian legislation:
| Domain | Law | Year | Key Provisions |
|---|---|---|---|
| Consumer | CDC (Lei 8.078) | 1990 | Consumer as vulnerable party, strict liability |
| Labor | CLT (Lei 5.452) | 1943 | 44h/week, 13th salary, FGTS |
| Civil | Código Civil (Lei 10.406) | 2002 | Contracts, property, obligations |
| Data Protection | LGPD (Lei 13.709) | 2018 | Brazil’s GDPR (10 legal bases) |
| Corporate | Lei das S.A. (Lei 6.404) | 1976 | Corporations, governance |
| Constitution | CF/88 | 1988 | Fundamental rights, federalism |
§Brazilian Legal Citation Format
Brazilian citations follow a specific format:
Lei nº [number]/[year], Art. [article]º, §[paragraph]º, inciso [clause]§Examples
use legalis_br::citation::*;
// Consumer Defense Code
let cdc = format_cdc_citation(5, None, None);
assert_eq!(cdc, "Lei nº 8.078/1990, Art. 5º");
// CLT with paragraph
let clt = format_clt_citation(58, Some(1), None);
assert_eq!(clt, "Lei nº 5.452/1943, Art. 58º, §1º");
// Constitution with clause (inciso)
let cf = format_constitution_citation(5, None, Some(RomanNumeral::X));
assert_eq!(cf, "Constituição Federal, Art. 5º, inciso X");§Currency: Brazilian Real (BRL)
use legalis_br::common::BrazilianCurrency;
let salary = BrazilianCurrency::from_reais(1412); // Minimum wage 2024
assert_eq!(salary.to_string(), "R$ 1412,00");
let fine = BrazilianCurrency::from_centavos(150050);
assert_eq!(fine.reais(), 1500);
assert_eq!(fine.cents(), 50);§Document Validation (CPF/CNPJ)
use legalis_br::common::{validate_cpf, validate_cnpj};
// CPF - Individual taxpayer ID (11 digits)
assert!(validate_cpf("123.456.789-09").is_ok());
// CNPJ - Corporate taxpayer ID (14 digits)
assert!(validate_cnpj("11.222.333/0001-81").is_ok());§Brazilian States
use legalis_br::common::BrazilianState;
let sp = BrazilianState::SP;
assert_eq!(sp.nome_pt(), "São Paulo");
assert_eq!(sp.region_pt(), "Sudeste");
assert_eq!(sp.abbreviation(), "SP");§Key Legal Principles
§Consumer Law (CDC)
| Principle | Description |
|---|---|
| Vulnerability | Consumer presumed vulnerable (Art. 4) |
| Strict Liability | Manufacturer/provider liable regardless of fault (Arts. 12-14) |
| 7-Day Withdrawal | Right to withdraw from distance contracts (Art. 49) |
| Contract Interpretation | Ambiguities resolved in favor of consumer (Art. 47) |
§Labor Law (CLT)
| Provision | Details |
|---|---|
| Working Hours | 44h/week maximum (Art. 58) |
| 13th Salary | Christmas bonus = 1 month salary |
| Vacation | 30 days + 1/3 bonus |
| FGTS | 8% monthly severance fund |
| Notice Period | 30 days minimum |
§Data Protection (LGPD)
| Aspect | LGPD (Brazil) |
|---|---|
| Legal Bases | 10 (Art. 7) |
| Data Subject Rights | 9 (Art. 18) |
| DPO Required | Yes (Encarregado) |
| Authority | ANPD |
| Penalties | Up to 2% revenue (R$50M max) |
§Bilingual Support
All types support both Portuguese (authoritative) and English translations:
use legalis_br::common::BrazilianState;
let state = BrazilianState::MG;
assert_eq!(state.nome_pt(), "Minas Gerais"); // Portuguese§Module Structure
citation- Brazilian legal citation formattingcommon- Currency, dates, documents, statesconsumer_protection- CDC consumer defense codelabor_law- CLT labor regulationsdata_protection- LGPD data protectioncivil_code- Código Civil (Lei 10.406/2002)criminal_code- Código Penal (Decreto-Lei 2.848/1940)tax_law- Tax system (ICMS, ISS, IPI, IRPF, IRPJ)corporate_law- Corporations, limited liability, CVMbankruptcy_law- Insolvency and reorganization (Lei 11.101/2005)intellectual_property- IP rights (Lei 9.279/1996)environmental_law- Environmental legislationbanking_law- Banking and financial system regulations
§References
Re-exports§
pub use citation::BrazilianCitation;pub use citation::RomanNumeral;pub use citation::format_cdc_citation;pub use citation::format_civil_code_citation;pub use citation::format_clt_citation;pub use citation::format_constitution_citation;pub use citation::format_law_number;pub use citation::format_lei_citation;pub use citation::format_lei_das_sa_citation;pub use citation::format_lgpd_citation;pub use citation::parse_roman_numeral;pub use citation::to_roman_numeral;pub use common::BrazilianCurrency;pub use common::BrazilianDate;pub use common::BrazilianDocument;pub use common::BrazilianState;pub use common::DocumentType;pub use common::FederalEntity;pub use common::Municipality;pub use common::validate_cnpj;pub use common::validate_cpf;pub use consumer_protection::AbusiveClause;pub use consumer_protection::AbusiveClauseType;pub use consumer_protection::CdcError;pub use consumer_protection::CdcResult;pub use consumer_protection::Consumer;pub use consumer_protection::ConsumerCompliance;pub use consumer_protection::ConsumerContract;pub use consumer_protection::ConsumerRight;pub use consumer_protection::ContractType;pub use consumer_protection::Product;pub use consumer_protection::ProductDefect;pub use consumer_protection::Provider;pub use consumer_protection::ProviderLiability;pub use consumer_protection::Recall;pub use consumer_protection::WithdrawalRight;pub use data_protection::DataSubjectRight;pub use data_protection::LegalBasis;pub use data_protection::LgpdCompliance;pub use data_protection::LgpdError;pub use data_protection::LgpdResult;pub use data_protection::PersonalDataProcessing;pub use data_protection::ProcessingPurpose;pub use data_protection::SecurityIncident;pub use labor_law::CltError;pub use labor_law::CltResult;pub use labor_law::EmploymentContract;pub use labor_law::EmploymentType;pub use labor_law::LaborCompliance;pub use labor_law::LaborRight;pub use labor_law::Severance;pub use labor_law::TerminationType;pub use labor_law::WorkingHours;pub use civil_code::CivilCodeError;pub use civil_code::CivilCodeResult;pub use civil_code::Contract;pub use civil_code::ContractError;pub use civil_code::ContractResult;pub use civil_code::FamilyError;pub use civil_code::FamilyResult;pub use civil_code::Inheritance;pub use civil_code::LegalAct;pub use civil_code::LegalActType;pub use civil_code::LegalPerson;pub use civil_code::LegalPersonType;pub use civil_code::Marriage;pub use civil_code::NaturalPerson;pub use civil_code::Obligation;pub use civil_code::ObligationType;pub use civil_code::ObligationsError;pub use civil_code::ObligationsResult;pub use civil_code::Ownership;pub use civil_code::Possession;pub use civil_code::PossessionType;pub use civil_code::PropertyError;pub use civil_code::PropertyKind;pub use civil_code::PropertyRegime;pub use civil_code::PropertyResult;pub use civil_code::StableUnion;pub use civil_code::SuccessionError;pub use civil_code::SuccessionResult;pub use civil_code::SuccessionType;pub use criminal_code::Crime;pub use criminal_code::CrimeCategory;pub use criminal_code::CriminalCodeError;pub use criminal_code::CriminalCodeResult;pub use criminal_code::CriminalProcedure;pub use criminal_code::Penalty;pub use criminal_code::PenaltyType;pub use tax_law::IcmsError;pub use tax_law::IcmsResult;pub use tax_law::IcmsTransaction;pub use tax_law::IpiError;pub use tax_law::IpiResult;pub use tax_law::IpiTransaction;pub use tax_law::IrpfCalculation;pub use tax_law::IrpfError;pub use tax_law::IrpfResult;pub use tax_law::IrpjCalculation;pub use tax_law::IrpjError;pub use tax_law::IrpjResult;pub use tax_law::IssError;pub use tax_law::IssResult;pub use tax_law::IssTransaction;pub use tax_law::TaxError;pub use tax_law::TaxResult;pub use corporate_law::Corporation;pub use corporate_law::CorporationType;pub use corporate_law::CorporationsError;pub use corporate_law::CorporationsResult;pub use corporate_law::CvmError;pub use corporate_law::CvmResult;pub use corporate_law::LimitedLiabilityCompany;pub use corporate_law::LimitedLiabilityError;pub use corporate_law::LimitedLiabilityResult;pub use corporate_law::Partner;pub use corporate_law::PublicOffering;pub use corporate_law::Security;pub use corporate_law::SecurityType;pub use bankruptcy_law::BankruptcyError;pub use bankruptcy_law::BankruptcyResult;pub use bankruptcy_law::CreditClass;pub use bankruptcy_law::Creditor;pub use bankruptcy_law::InsolvencyProceeding;pub use bankruptcy_law::ProceedingType;pub use bankruptcy_law::ReorganizationPlan;pub use intellectual_property::IntellectualProperty;pub use intellectual_property::IpError;pub use intellectual_property::IpResult;pub use intellectual_property::IpType;pub use intellectual_property::PatentabilityCheck;pub use intellectual_property::TrademarkType;pub use environmental_law::EnvironmentalError;pub use environmental_law::EnvironmentalLicense;pub use environmental_law::EnvironmentalResult;pub use environmental_law::ForestReserve;pub use environmental_law::LicenseType;pub use banking_law::BankingError;pub use banking_law::BankingOperation;pub use banking_law::BankingResult;pub use banking_law::FinancialInstitution;pub use banking_law::InstitutionType;pub use banking_law::OperationType;
Modules§
- banking_
law - Banking Law - Direito Bancário
- bankruptcy_
law - Bankruptcy Law - Lei de Falências e Recuperação de Empresas
- citation
- Brazilian Legal Citation Format
- civil_
code - Civil Code - Código Civil (Lei nº 10.406/2002)
- common
- Common Brazilian legal types and utilities
- consumer_
protection - Consumer Protection - CDC (Código de Defesa do Consumidor)
- corporate_
law - Corporate Law - Direito Societário
- criminal_
code - Criminal Code - Código Penal (Decreto-Lei nº 2.848/1940)
- data_
protection - Data Protection - LGPD (Lei Geral de Proteção de Dados)
- environmental_
law - Environmental Law - Direito Ambiental
- intellectual_
property - Intellectual Property Law - Propriedade Industrial
- labor_
law - Labor Law - CLT (Consolidação das Leis do Trabalho)
- tax_law
- Tax Law - Direito Tributário