Expand description
§India Jurisdiction - Legalis-RS
Comprehensive modeling of Indian law for the Legalis legal reasoning framework.
§Legal System Overview
India has a common law legal system inherited from British rule, with a written constitution that is the supreme law of the land. The legal system features a three-tier court structure: Supreme Court, High Courts, and subordinate courts.
§Key Characteristics
- Constitution: Constitution of India, 1950 (longest written constitution)
- Legal Tradition: Common Law with statutory modifications
- Court System: Supreme Court → High Courts → District Courts
- Languages: English (official for courts), Hindi (national)
- Citation Formats: AIR, SCC, SCR, High Court citations
§Module Coverage
§Data Protection
The data_protection module implements India’s Digital Personal Data
Protection Act, 2023 (DPDPA), which came into effect in 2024.
Key Concepts:
- Data Principal (individual whose data is processed)
- Data Fiduciary (entity determining purpose of processing)
- Significant Data Fiduciary (SDF) with additional obligations
- Consent Manager (registered consent facilitator)
use legalis_in::data_protection::*;
use chrono::NaiveDate;
// Validate SDF compliance
let fiduciary = DataFiduciary {
registration_number: Some("REG001".to_string()),
name: "TechCorp India".to_string(),
category: DataFiduciaryCategory::Significant,
principal_place: "Bengaluru".to_string(),
contact_email: "privacy@techcorp.in".to_string(),
dpo: Some(DataProtectionOfficer {
name: "Rahul Sharma".to_string(),
designation: "Chief Privacy Officer".to_string(),
contact_email: "dpo@techcorp.in".to_string(),
phone: "+91-9876543210".to_string(),
based_in_india: true,
appointment_date: NaiveDate::from_ymd_opt(2024, 1, 1).unwrap(),
}),
consent_manager: None,
registration_date: Some(NaiveDate::from_ymd_opt(2024, 1, 1).unwrap()),
};
let report = validate_fiduciary_compliance(&fiduciary);
assert!(report.compliant);§Citation System
The citation module provides Indian legal citation formatting:
use legalis_in::citation::{Citation, cite};
// Statutory citation
let dpdpa_cite = cite::dpdpa(4);
assert_eq!(dpdpa_cite.format(), "Digital Personal Data Protection Act, 2023, s. 4");
// Supreme Court AIR citation
let sc_cite = cite::air_sc(2024, 1234);
assert_eq!(sc_cite.format(), "AIR 2024 SC 1234");
// SCC citation
let scc_cite = Citation::scc(2024, 5, 789);
assert_eq!(scc_cite.format(), "(2024) 5 SCC 789");§Currency Formatting
The common module provides Indian currency formatting with lakhs and crores:
use legalis_in::common::{InrAmount, format_inr, to_lakhs, to_crores};
let amount = InrAmount::new(25000000.0); // 2.5 crore
assert_eq!(amount.format(), "₹2,50,00,000");
assert_eq!(to_crores(25000000.0), 2.5);
let lakhs_amount = InrAmount::new(500000.0); // 5 lakhs
assert_eq!(lakhs_amount.format_lakhs(), "₹5.00 lakhs");§Legal Framework Coverage
| Domain | Primary Legislation | Module |
|---|---|---|
| Data Protection | DPDPA 2023 | data_protection |
| Companies | Companies Act 2013 | companies |
| Contracts | Indian Contract Act 1872 | contract |
| IT/Cyber | IT Act 2000 | Planned |
| GST | CGST Act 2017 | Planned |
| Labour | Labour Codes 2020 | Planned |
| Criminal | BNS 2023 | Planned |
| Constitution | Constitution of India | Planned |
§DPDPA Penalty Structure (Section 33)
| Tier | Maximum Penalty | Violations |
|---|---|---|
| Principal | Rs. 10,000 | Data principal duty breaches |
| Tier 1 | Rs. 50 crore | Security safeguard failures |
| Tier 2 | Rs. 200 crore | Breach notification, child data |
| Tier 3 | Rs. 250 crore | Processing without lawful grounds |
§Data Principal Rights (Chapter III, DPDPA)
| Right | Section | Description |
|---|---|---|
| Access | 11 | Summary of personal data and processing |
| Correction | 12 | Correct inaccurate/misleading data |
| Erasure | 12 | Erase data no longer necessary |
| Grievance | 13 | Redressal mechanism |
| Nomination | 14 | Nominate for incapacity/death |
§Indian Number System
India uses a unique numbering system for large amounts:
| Term | Value | Example |
|---|---|---|
| Lakh (लाख) | 1,00,000 | Rs. 5 lakhs = Rs. 5,00,000 |
| Crore (करोड़) | 1,00,00,000 | Rs. 2 crore = Rs. 2,00,00,000 |
| Arab (अरब) | 1,00,00,00,000 | Rs. 1 arab = Rs. 100 crore |
§Court Hierarchy
Supreme Court of India (Article 124-147)
│
├── 25 High Courts (Article 214-231)
│ │
│ ├── District Courts (Article 233-237)
│ │ │
│ │ └── Subordinate Courts
│ │
│ └── Family Courts, Labour Courts, Consumer Forums
│
└── Tribunals (SAT, CAT, NCLT, NCLAT, etc.)§References
Re-exports§
pub use citation::Citation;pub use citation::CitationType;pub use citation::Court;pub use citation::acts;pub use citation::cite;pub use common::Address;pub use common::DeadlineType;pub use common::FinancialYear;pub use common::IndianName;pub use common::IndianNameFormatter;pub use common::InrAmount;pub use common::NationalHoliday;pub use common::State;pub use common::Title;pub use common::business_days_between;pub use common::calculate_deadline;pub use common::crores_to_rupees;pub use common::format_crores;pub use common::format_inr;pub use common::format_inr_precision;pub use common::format_lakhs;pub use common::is_national_holiday;pub use common::is_weekend;pub use common::is_working_day;pub use common::lakhs_to_rupees;pub use common::national_holidays_in_year;pub use common::next_working_day;pub use common::parse_inr;pub use common::previous_working_day;pub use common::to_crores;pub use common::to_lakhs;pub use common::working_days_between;pub use data_protection::ChildDataProcessing;pub use data_protection::ConsentManager;pub use data_protection::ConsentRecord;pub use data_protection::CrossBorderTransfer;pub use data_protection::DataFiduciary;pub use data_protection::DataFiduciaryCategory;pub use data_protection::DataPrincipalDuty;pub use data_protection::DataPrincipalRight;pub use data_protection::DataProtectionOfficer;pub use data_protection::DpdpaComplianceReport;pub use data_protection::DpdpaError;pub use data_protection::DpdpaResult;pub use data_protection::LawfulPurpose;pub use data_protection::LegitimateUseType;pub use data_protection::PenaltyTier;pub use data_protection::ProcessingRecord;pub use data_protection::SdfCriteria;pub use data_protection::check_sdf_status;pub use data_protection::get_obligations;pub use data_protection::get_principal_duties;pub use data_protection::get_principal_rights;pub use data_protection::validate_child_processing;pub use data_protection::validate_consent;pub use data_protection::validate_cross_border_transfer;pub use data_protection::validate_fiduciary_compliance;pub use data_protection::validate_processing_record;pub use data_protection::validate_retention;pub use companies::AnnualFilingType;pub use companies::Committee;pub use companies::CommitteeType;pub use companies::CompaniesActError;pub use companies::CompaniesActResult;pub use companies::Company;pub use companies::CompanyStatus;pub use companies::CompanyType;pub use companies::ComplianceReport;pub use companies::CsrCategory;pub use companies::CsrObligation;pub use companies::DinStatus;pub use companies::Director;pub use companies::DirectorCategory;pub use companies::Kmp;pub use companies::KmpType;pub use companies::PenaltyInfo;pub use companies::RelatedPartyTransactionType;pub use companies::RelatedPartyType;pub use companies::ResolutionType;pub use companies::SpecialResolutionMatter;pub use companies::calculate_filing_penalty;pub use companies::check_filing_deadline;pub use companies::get_compliance_checklist;pub use companies::validate_agm;pub use companies::validate_board_composition;pub use companies::validate_board_meetings;pub use companies::validate_buyback;pub use companies::validate_committees;pub use companies::validate_company_formation;pub use companies::validate_csr_compliance;pub use companies::validate_kmp_appointments;pub use companies::validate_ordinary_resolution;pub use companies::validate_resolution;pub use contract::AgentAuthority;pub use contract::AgentType;pub use contract::BreachType;pub use contract::ConsentVitiator;pub use contract::Consideration;pub use contract::ConsiderationTiming;pub use contract::ConsiderationType;pub use contract::ContingentContract;pub use contract::Contract;pub use contract::ContractActError;pub use contract::ContractActResult;pub use contract::ContractEssentials;pub use contract::ContractParty;pub use contract::ContractStatus;pub use contract::ContractType;pub use contract::ContractValidityReport;pub use contract::DamagesType;pub use contract::DischargeMode;pub use contract::IncompetentParty;pub use contract::LegalityCheck;pub use contract::PartyType;pub use contract::QuasiContractType;pub use contract::Remedy;pub use contract::VoidAgreementType;pub use contract::calculate_damages;pub use contract::check_frustration;pub use contract::get_limitation_period as get_contract_limitation_period;pub use contract::get_quasi_contract_obligation;pub use contract::validate_consent as validate_contract_consent;pub use contract::validate_consideration;pub use contract::validate_contingent_contract;pub use contract::validate_contract_formation;pub use contract::validate_legality;pub use contract::validate_liquidated_damages;pub use contract::validate_performance;pub use contract::validate_void_agreements;pub use it_act::AdjudicatingOfficerPower;pub use it_act::BailStatus;pub use it_act::CaFunction;pub use it_act::CatJurisdiction;pub use it_act::ComputerOffence;pub use it_act::ConsentRequirement;pub use it_act::CyberCrimeCategory;pub use it_act::DigitalCertificate;pub use it_act::DigitalSignatureType;pub use it_act::EcommerceModel;pub use it_act::ElectronicRecord;pub use it_act::ElectronicRecordType;pub use it_act::IntermediaryComplianceCheck;pub use it_act::IntermediaryType;pub use it_act::ItActError;pub use it_act::ItActResult;pub use it_act::ItComplianceReport;pub use it_act::NetworkProviderLiability;pub use it_act::PenaltyInfo as ItPenaltyInfo;pub use it_act::Punishment;pub use it_act::SafeHarborConditions;pub use it_act::SensitivePersonalData;pub use it_act::calculate_section43_compensation;pub use it_act::classify_cyber_crime;pub use it_act::get_jurisdiction;pub use it_act::get_limitation_period as get_cyber_limitation_period;pub use it_act::validate_certificate;pub use it_act::validate_data_protection_compliance;pub use it_act::validate_ecommerce_compliance;pub use it_act::validate_intermediary_compliance;pub use it_act::validate_safe_harbor;pub use it_act::validate_takedown_compliance;pub use gst::BlockedItcReason;pub use gst::CompensationCess;pub use gst::CompositionBusinessType;pub use gst::CompositionScheme;pub use gst::EwayBill;pub use gst::EwayDocType;pub use gst::FilingStatus;pub use gst::GstComplianceReport;pub use gst::GstError;pub use gst::GstRate;pub use gst::GstRegistration;pub use gst::GstResult;pub use gst::GstState;pub use gst::Gstin;pub use gst::HsnSacCode;pub use gst::HsnSacType;pub use gst::InputTaxCredit;pub use gst::Invoice;pub use gst::InvoiceType;pub use gst::ItcType;pub use gst::ItcUtilization;pub use gst::ItcUtilizationPlan;pub use gst::ItcUtilizationStep;pub use gst::NatureOfBusiness;pub use gst::PenaltyInfo as GstPenaltyInfo;pub use gst::PenaltyType as GstPenaltyType;pub use gst::RefundType;pub use gst::RegistrationStatus;pub use gst::RegistrationType;pub use gst::ReturnComplianceStatus;pub use gst::ReturnStatus;pub use gst::ReturnType;pub use gst::ReverseCharge;pub use gst::SupplyCategory;pub use gst::SupplyType;pub use gst::TaxLiability;pub use gst::TaxpayerCategory;pub use gst::TransportMode;pub use gst::calculate_interest as calculate_gst_interest;pub use gst::calculate_late_fee;pub use gst::calculate_tax;pub use gst::determine_supply_type;pub use gst::get_return_due_date;pub use gst::is_refund_within_time_limit;pub use gst::validate_composition_eligibility;pub use gst::validate_eway_bill_requirement;pub use gst::validate_gst_compliance;pub use gst::validate_gstin;pub use gst::validate_invoice;pub use gst::validate_itc_eligibility;pub use gst::validate_itc_utilization;pub use gst::validate_registration_requirement;pub use gst::validate_return_filing;pub use gst::validate_reverse_charge;pub use labour_codes::Bonus;pub use labour_codes::ComplianceChecklistItem;pub use labour_codes::ContractLabour;pub use labour_codes::ContractWorkNature;pub use labour_codes::DeductionType;pub use labour_codes::DisputeStage;pub use labour_codes::DisputeType;pub use labour_codes::EpfContribution;pub use labour_codes::EsiContribution;pub use labour_codes::EstablishmentType;pub use labour_codes::GeographicalArea;pub use labour_codes::GigWorker;pub use labour_codes::Gratuity;pub use labour_codes::IndustrialActionType;pub use labour_codes::IndustrialDispute;pub use labour_codes::InterStateMigrantWorker;pub use labour_codes::LabourCodeError;pub use labour_codes::LabourCodeResult;pub use labour_codes::LabourComplianceCheck;pub use labour_codes::LabourComplianceReport;pub use labour_codes::LabourPenaltyInfo;pub use labour_codes::Layoff;pub use labour_codes::LayoffReason;pub use labour_codes::LeaveProvisions;pub use labour_codes::MaternityBenefit;pub use labour_codes::MaternityBenefitType;pub use labour_codes::MinimumWageFloor;pub use labour_codes::Overtime;pub use labour_codes::PaymentMode;pub use labour_codes::PaymentPeriod;pub use labour_codes::PlatformWorker;pub use labour_codes::Retrenchment;pub use labour_codes::SafetyCommittee;pub use labour_codes::SkillLevel;pub use labour_codes::SocialSecurityScheme;pub use labour_codes::StandingOrders;pub use labour_codes::StrikeLockout;pub use labour_codes::TradeUnion;pub use labour_codes::Wage;pub use labour_codes::WageDeduction;pub use labour_codes::WageExclusion;pub use labour_codes::WagePayment;pub use labour_codes::WeeklyOff;pub use labour_codes::WorkerType;pub use labour_codes::WorkingHours;pub use labour_codes::calculate_gratuity;pub use labour_codes::calculate_minimum_wage;pub use labour_codes::get_compliance_checklist as get_labour_compliance_checklist;pub use labour_codes::validate_bonus;pub use labour_codes::validate_contract_labour;pub use labour_codes::validate_deductions;pub use labour_codes::validate_epf_compliance;pub use labour_codes::validate_esi_compliance;pub use labour_codes::validate_establishment_registration;pub use labour_codes::validate_gratuity;pub use labour_codes::validate_labour_compliance;pub use labour_codes::validate_layoff;pub use labour_codes::validate_leave;pub use labour_codes::validate_maternity_benefit;pub use labour_codes::validate_migrant_worker;pub use labour_codes::validate_minimum_wage;pub use labour_codes::validate_overtime;pub use labour_codes::validate_retrenchment;pub use labour_codes::validate_safety_committee;pub use labour_codes::validate_standing_orders;pub use labour_codes::validate_strike_lockout_notice;pub use labour_codes::validate_trade_union;pub use labour_codes::validate_wage_payment;pub use labour_codes::validate_working_hours;pub use criminal::Accused;pub use criminal::BailStatus as CriminalBailStatus;pub use criminal::BnsError;pub use criminal::BnsPenaltyInfo;pub use criminal::BnsResult;pub use criminal::CaseStatus;pub use criminal::CommunityService;pub use criminal::CommunityWorkType;pub use criminal::Court as CriminalCourt;pub use criminal::CriminalCase;pub use criminal::CriminalComplianceReport;pub use criminal::EFir;pub use criminal::FineType;pub use criminal::ImprisonmentType;pub use criminal::InvestigationStatus;pub use criminal::LimitationPeriod;pub use criminal::Offence;pub use criminal::OffenceCategory;pub use criminal::PleaBargaining;pub use criminal::Punishment as CriminalPunishment;pub use criminal::ZeroFir;pub use criminal::calculate_statutory_bail_eligibility;pub use criminal::get_applicable_court;pub use criminal::get_limitation_period as get_criminal_limitation_period;pub use criminal::get_punishment_for_offence;pub use criminal::validate_arrest_procedure;pub use criminal::validate_bail_status;pub use criminal::validate_criminal_compliance;pub use criminal::validate_fir_registration;pub use criminal::validate_investigation_timeline;pub use criminal::validate_juvenile_handling;pub use criminal::validate_plea_bargaining;pub use criminal::validate_police_remand;pub use criminal::validate_sentencing;pub use criminal::validate_trial_timeline;pub use constitution::AmendmentProcedure;pub use constitution::AmendmentVoteCheck;pub use constitution::Article19Freedom;pub use constitution::BasicStructure;pub use constitution::ConstitutionPart;pub use constitution::ConstitutionalAmendment;pub use constitution::ConstitutionalComplianceReport;pub use constitution::ConstitutionalCourt;pub use constitution::ConstitutionalError;pub use constitution::ConstitutionalResult;pub use constitution::DirectivePrinciple;pub use constitution::EmergencyType;pub use constitution::FundamentalDuty;pub use constitution::FundamentalRight;pub use constitution::HouseVotes;pub use constitution::Legislature;pub use constitution::PilPetitionerType;pub use constitution::PublicInterestLitigation;pub use constitution::Schedule7List;pub use constitution::WritPetition;pub use constitution::WritType;pub use constitution::check_basic_structure_violation;pub use constitution::get_appropriate_writ;pub use constitution::get_constitutional_limitation;pub use constitution::validate_amendment_procedure;pub use constitution::validate_article19_restriction;pub use constitution::validate_constitutional_compliance;pub use constitution::validate_due_process;pub use constitution::validate_emergency_proclamation;pub use constitution::validate_equality;pub use constitution::validate_fundamental_right_claim;pub use constitution::validate_legislative_competence;pub use constitution::validate_pil_maintainability;pub use constitution::validate_writ_petition;pub use civil_procedure_code::AppealStatus as CpcAppealStatus;pub use civil_procedure_code::AppealType as CpcAppealType;pub use civil_procedure_code::CivilSuit;pub use civil_procedure_code::CourtFees;pub use civil_procedure_code::CourtType as CpcCourtType;pub use civil_procedure_code::CpcComplianceReport;pub use civil_procedure_code::CpcError;pub use civil_procedure_code::CpcResult;pub use civil_procedure_code::ExecutionMode;pub use civil_procedure_code::ExecutionProceeding;pub use civil_procedure_code::ExecutionStatus;pub use civil_procedure_code::JurisdictionBasis;pub use civil_procedure_code::LimitationPeriod as CpcLimitationPeriod;pub use civil_procedure_code::OrderType;pub use civil_procedure_code::PecuniaryJurisdiction;pub use civil_procedure_code::PleadingType;pub use civil_procedure_code::SuitStatus;pub use civil_procedure_code::SuitType;pub use civil_procedure_code::calculate_appeal_court_fees;pub use civil_procedure_code::calculate_days_between;pub use civil_procedure_code::get_appeal_limitation as get_cpc_appeal_limitation;pub use civil_procedure_code::get_pecuniary_jurisdiction;pub use civil_procedure_code::is_order_appealable;pub use civil_procedure_code::is_within_limitation as is_within_cpc_limitation;pub use civil_procedure_code::validate_appeal_compliance as validate_cpc_appeal_compliance;pub use civil_procedure_code::validate_execution_compliance;pub use civil_procedure_code::validate_plaint;pub use civil_procedure_code::validate_suit_compliance;pub use civil_procedure_code::validate_territorial_jurisdiction;pub use criminal_procedure_code::AppealType as CrpcAppealType;pub use criminal_procedure_code::ArrestType;pub use criminal_procedure_code::BailApplication;pub use criminal_procedure_code::BailStatus as CrpcBailStatus;pub use criminal_procedure_code::BailType;pub use criminal_procedure_code::Chargesheet;pub use criminal_procedure_code::CompoundableOffence;pub use criminal_procedure_code::CriminalAppeal;pub use criminal_procedure_code::CrpcComplianceReport;pub use criminal_procedure_code::CrpcError;pub use criminal_procedure_code::CrpcResult;pub use criminal_procedure_code::InvestigationStage;pub use criminal_procedure_code::PoliceRemand;pub use criminal_procedure_code::TrialProceedings;pub use criminal_procedure_code::TrialStage;pub use criminal_procedure_code::Verdict;pub use criminal_procedure_code::check_default_bail_eligibility;pub use criminal_procedure_code::get_appeal_limitation_days as get_crpc_appeal_limitation_days;pub use criminal_procedure_code::validate_appeal_limitation;pub use criminal_procedure_code::validate_bail_application;pub use criminal_procedure_code::validate_chargesheet_timing;pub use evidence_act::Admissibility;pub use evidence_act::BurdenOfProof;pub use evidence_act::Evidence;pub use evidence_act::EvidenceActError;pub use evidence_act::EvidenceActResult;pub use evidence_act::EvidenceComplianceReport;pub use evidence_act::EvidenceType;pub use evidence_act::Presumption;pub use evidence_act::check_hearsay_exception;pub use evidence_act::validate_electronic_evidence;pub use evidence_act::validate_evidence_admissibility;pub use arbitration_act::ArbitralAward;pub use arbitration_act::ArbitrationAgreement;pub use arbitration_act::ArbitrationType;pub use arbitration_act::AwardType;pub use insolvency_code::CorporateInsolvencyProcess;pub use insolvency_code::Creditor;pub use insolvency_code::CreditorType;pub use insolvency_code::IbcStage;pub use insolvency_code::InsolvencyProcessType;pub use competition_law::AbuseOfDominance;pub use competition_law::AntiCompetitiveAgreement;pub use competition_law::AntiCompetitiveAgreementType;pub use competition_law::CombinationNotification;pub use environmental_law::EnvironmentalClearance;pub use environmental_law::EnvironmentalClearanceType;pub use environmental_law::PollutionControlCompliance;pub use environmental_law::PollutionType;pub use environmental_law::ProjectCategory;pub use fema::AccountType as FemaAccountType;pub use fema::FdiRoute;pub use fema::FemaViolationType;pub use fema::ForeignInvestment;pub use fema::RemittanceTransaction;
Modules§
- arbitration_
act - Arbitration and Conciliation Act 1996
- citation
- Indian Legal Citation System
- civil_
procedure_ code - Code of Civil Procedure (CPC) 1908
- common
- Common utilities for Indian legal system
- companies
- Companies Act 2013 Module
- competition_
law - Competition Act 2002
- constitution
- Constitution of India
- contract
- Indian Contract Act 1872 Module
- criminal
- Bharatiya Nyaya Sanhita (BNS) 2023 - Indian Criminal Law
- criminal_
procedure_ code - Criminal Procedure Code (CrPC) 1973 / BNSS 2023
- data_
protection - Digital Personal Data Protection Act, 2023 Module
- environmental_
law - Environmental Protection Act 1986
- evidence_
act - Indian Evidence Act 1872 / Bharatiya Sakshya Adhiniyam (BSA) 2023
- fema
- Foreign Exchange Management Act (FEMA) 1999
- gst
- Goods and Services Tax (GST) Module
- insolvency_
code - Insolvency and Bankruptcy Code (IBC) 2016
- intellectual_
property - Intellectual Property Law
- it_act
- Information Technology Act 2000 Module
- labour_
codes - Labour Codes 2020 Module
- securities_
law - Securities Law