# Verified A simple Ruby Gem to verify and parse MRZ codes on passports. Useful if you need to meet KYC or Money Laundering requirements. ## Installation Add this line to your application's Gemfile: ```ruby gem 'verified' ``` And then execute: $ bundle Or install it yourself as: $ gem install verified ## Usage ### Passport Setup your passport instance like so: ```ruby passport = Verified::Passport.new("mrz_line_1", "mrz_line_2") ``` ``` mrz_line_1: The first line of a Passport MRZ (the long strip of text on the bottom). (string, required) mrz_line_2: The second line of a Passport MRZ (the long strip of text on the bottom). (string, required) ``` It then can be called using any of the folllowing methods: ``` verified? : Returns true if it's a valid passport MRZ, false if it's not. issuing_state : Issuing country of the passport last_name : Last name on the passport first_names : Array of first names on the passport (First and any middle names) passport_number : Passport Number nationality : Nationality of the person on the passport. Different from the issuing state (eg. Swedish person who is also a citizen of UK.) date_of_birth : Date of Birth, given as a Ruby Date object. gender : Gender, given as M, F or nil if not specified. expiry_date : Expiry date of the passport, given as a Ruby Date object. personal_number : Personal number, if chosen to be given by issuer. Nil if not specified. ``` ### UK Drivers License This is coming soon, as I'm currently waiting for the DVLA to respond to a [freedom of information request]() that will allow me to understand how the check digits in UK driver numbers are calculated. ## Development After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. To install the gem onto your local machine, run `bundle exec rake install`. ## Contributing Bug reports and pull requests are welcome on GitHub at https://github.com/rubymeow/verified. ## License The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT). MRZ parsing based on Document 9303 (Machine Readable Travel Documents - Part 1 - Machine Readable Passports. Volume 1 - Passports with Machine Readable Data Stored in Optical Character Recognition format) by the ICAO which can be found here: http://www.icao.int/publications/pages/publication.aspx?docnum=9303 Warning: This is by no means a KYC solution on it's own. This merely parses MRZ's and validates they are valid **mrz codes**. This does **not** confirm the document you are verifying is legitimate.