Skip to main content

A package for pseudonymizing travel-specific PII data

Project description

TravelSpecificPIIPseudonymization

TravelSpecificPIIPseudonymization is a Python-based tool designed to detect and pseudonymize personally identifiable information (PII) in travel-related documents. It leverages custom recognizers and fake data generators for specific aviation industry entities such as Passenger Name Records (PNRs), e-tickets, flight numbers, airline and aircraft codes, and airport codes. The pseudonymization tool ensures the privacy and confidentiality of sensitive data commonly found in aviation documents, making it suitable for airline companies, travel agencies, and other organizations dealing with flight information.

Features

  • Pseudonymization of Travel-Related PII: Detects and pseudonymizes common entities in airline and aviation-related documents such as:

    • Passenger Name Records (PNRs)
    • E-tickets
    • Aircraft registration numbers
    • IATA/ICAO aircraft and airline codes
    • IATA/ICAO/FAA airport codes
    • Contact information (phone numbers, email addresses)
  • Custom Recognizers: Includes custom patterns to detect industry-specific codes such as flight numbers, e-ticket prefixes, and more.

  • Faker Integration: Replaces sensitive data with synthetic data using the Faker library, while also providing flexibility for adding custom fake data generators (e.g., generating fake PNRs, e-tickets).

  • Reversible Pseudonymization: The tool provides mapping between the original and pseudonymized data, allowing for reversible pseudonymization when required (useful for testing or regulatory purposes).

Project Structure

The project is organized into several Python modules for better scalability and maintenance:

Files Overview:

  1. main.py: This is the main entry point for the project. It handles document input, pseudonymization execution, and saving the pseudonymized document to a file.

  2. pseudonymizer.py: Contains the core class CustomPseudonymizer, which performs the pseudonymization process and stores the depseudonymization mappings. It integrates with custom recognizers and synthetic data generators.

  3. recognizers.py: Defines custom recognizers to detect specific PII entities in travel-related documents (e.g., PNR, e-tickets, IATA/ICAO codes).

  4. generators.py: Implements custom fake data generators that create realistic synthetic data for aviation-related entities (e.g., generating fake PNRs or e-tickets).

  5. test_pseudonymizer.py: Contains unit tests for the CustomPseudonymizer class, validating the accuracy of the pseudonymization process and ensuring that sensitive information is properly anonymized while maintaining a correct mapping for potential deanonymization.

Usage

To use the tool, follow these steps:

  1. Install Dependencies: Ensure you have Python installed, then install the required libraries:
    pip install langchain==0.2.11 presidio-analyzer==2.2.351 presidio-anonymizer==2.2.351 faker==20.1.0
    

Contributing

Contributions to improve the tool are welcome! Feel free to open issues for bugs or feature requests, or submit pull requests for enhancements.

Acknowledgements

This project utilizes various libraries, including LangChain for document processing and Presidio for PII detection and anonymization.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

travel_pii_anonymisation-0.1.0.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

travel_pii_anonymisation-0.1.0-py3-none-any.whl (3.8 kB view details)

Uploaded Python 3

File details

Details for the file travel_pii_anonymisation-0.1.0.tar.gz.

File metadata

File hashes

Hashes for travel_pii_anonymisation-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7d4977cd564d4a54abf59b01935cc62890344bbe49209487ac39d22611117a2e
MD5 047a2fff15c7b1ed21f895c40c96ed3e
BLAKE2b-256 22f27a6f816574e8fbfe8b26be58b9a056acc01c27be7cc14feb8ce8da98f593

See more details on using hashes here.

File details

Details for the file travel_pii_anonymisation-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for travel_pii_anonymisation-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 872ef53e189bf98aa3539bdaa3fbe8514a27972bfc5c11e888de83bffdacdef9
MD5 eb01f5aac50c86c37d39cb240dcce29b
BLAKE2b-256 8f647dcff95f890406629e1c521e7a533126c464be103132bf6e0b9c4fc5b623

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page