SecurityGuard Build Status Dependency Status

This gem is a collection of useful tools for auditing data and performing security checks.



$ gem install security_guard

As part of your application

Add this line to your application's Gemfile:

gem 'security_guard'

And then execute:

$ bundle



There is an sguard command if you intend to use security_guard as a command line tool. Please refer to the help option for its usage.

sguard -h


You can pass in setters during initialisation, for example:

country_ips =
country_ips.countries = ['Australia', 'United Kingdom']
country_ips.ips = ['', '', '']

# the above is equivalent to:

country_ips =
  :countries => ['Australia', 'United Kingdom'],
  :ips       => ['', '', '']

Country IPs

Returns a list of the IPs from given country and IP dictionaries. Useful for auditing IPs from higher risk nations.
  :countries => ['Australia'],
  :ips       => ['', '', '']
).result # => ['']

You may also pass country and IP data as a line-delimited file by appending _from_file at the end of the attributes:

country_ips.countries_from_file = '/path/to/the/file'
country_ips.ips_from_file = '/path/to/the/file'


Deduplicates line-delimited content contained within a list of files. Useful for deduplicating email newsletter subscription lists.
  :input_folder  => '/path/to/the/input/folder',
  :output_folder => '/path/to/the/output/folder'


Prepends line-delimited content with a comma-delimited sequence column (1, 2, 3...) for counting.
  :input_folder  => '/path/to/the/input/folder',
  :output_folder => '/path/to/the/output/folder'


v0.0.6 [2012-03-07]

  • Output file names are now automatically mapped from the input file names

v0.0.5 [2012-03-07]

  • Fixed the file ordering issue on some OSes like Linux
  • Fixed the non-existing specs/tmp directory that causes specs to fail

v0.0.4 [2012-02-08]

  • Fixed Concerns::Initializable for CountryIps
  • Added Deduplication

v0.0.3 [2012-01-20]

  • Added Concerns::Initializable

v0.0.2 [2012-01-19]

  • Added IP address sanity check
  • Coloured test output
  • Added changelog

v0.0.1 [2012-01-18]

  • First release, implemented CountryIps and bin/sguard


  1. Fork it
  2. Make sure you add documentation to
  3. Make sure you test all your code
  4. Do your magic!
  5. Create a new Pull Request


Brought to you by SitePoint.