vault-rails 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f16a5e1ecf9b12ecf7d936d9e7fa571b9dc724bf
4
- data.tar.gz: 57414fcaf32bba53dc44edc018ec4979f0c44089
3
+ metadata.gz: f424a57360c1017f40c429ec2570a08eb81f582a
4
+ data.tar.gz: 28d0fadd3e06908c2d0b35ff7e4a1eddcbc3a4db
5
5
  SHA512:
6
- metadata.gz: 628d4e1c1560b0787a669679e1ced7f9e85578376aca525d3f17164e7e0306b19e767a0fcfd498071d9920daac2f20a5caf68f551afc71b2e2b1d9fec19fff1c
7
- data.tar.gz: 98dcd9cbf08e4dfe0a2783455768944f48ba07a70ff7d02fc998b7cb4baa7aa731846a34a3245d2dba92c44fac2f04eed9fef3139b51ab7f6d094cf01a9c40cf
6
+ metadata.gz: e1d46eea0dd84f894af558a79379b470b0ace0c0d0efeb0abcd2e1d29b3b55c9985a6b78a213179176713c8a09f665d5e5241af18abb226457716b1d9190d513
7
+ data.tar.gz: bbe7d51daac322bf3eab796cc95912de7016097e7d188e0cebb2ae3a2982c566e0b8630ae8692cec93799d3f54d487079b7bda17ddaf86921abc81975dda0aeb
data/README.md CHANGED
@@ -79,6 +79,32 @@ Quick Start
79
79
  Caveats
80
80
  -------
81
81
 
82
+ ### Mounting/Creating Keys in Vault
83
+ The Vault Rails plugin does not automatically mount a backend. It is assumed the proper backend is mounted and accessible by the given token. You can mount a transit backend like this:
84
+
85
+ ```shell
86
+ $ vault mount transit
87
+ ```
88
+
89
+ The Vault Rails plugin does not automatically create transit keys in Vault. This is intentional so that you can give the policy for the token associated with the Rails application read/write access to the encrypt/decrypt backends _only_, without giving the Rails application the ability to read encryption keys from Vault.
90
+
91
+ If an attacker gained access to the Rails application server, they would be able to read all encryption keys in Vault, making decryption of sensitive data in the database easy.
92
+
93
+ Instead, you should create keys for each column you plan to encrypt using a different policy, out-of-band from the Rails application. For example:
94
+
95
+ ```shell
96
+ $ vault write transit/keys/<key> create=1
97
+ ```
98
+
99
+ Unless customized, the name of the key will always be:
100
+
101
+ <app>_<table>_<column>
102
+
103
+ So for the example above, the key would be:
104
+
105
+ my_app_people_ssn
106
+
107
+
82
108
  ### Searching Encrypted Attributes
83
109
  Because each column is uniquely encrypted, it is not possible to search for a
84
110
  particular plain-text value. For example, if the `ssn` attribute is encrypted,
@@ -92,6 +118,19 @@ This is because the database is unaware of the plain-text data (which is part of
92
118
  the security model).
93
119
 
94
120
 
121
+ Testing
122
+ -------
123
+ The Vault Rails plugin includes a testing harness to avoid needing to spin up a
124
+ real Vault server during tests:
125
+
126
+ ```ruby
127
+ require "vault/rails/testing"
128
+ Vault::Rails::Testing.enable!
129
+ ```
130
+
131
+ This will stub all requests to encrypted attributes to use an in-memory store.
132
+
133
+
95
134
  Development
96
135
  -----------
97
136
  1. Clone the project on GitHub
@@ -37,35 +37,17 @@ module Vault
37
37
  value = instance_variable_get(:@#{column})
38
38
  return value if !value.nil?
39
39
 
40
- encrypted = read_attribute(:#{encrypted_column})
41
- return nil if encrypted.nil?
42
-
43
- self.class._vault_ensure_mounted!("#{path}")
44
- self.class._vault_ensure_key!("#{path}", "#{key}")
45
-
46
- path = File.join("v1", "#{path}", "decrypt", "#{key}")
47
- response = Vault.put(path, JSON.fast_generate(
48
- ciphertext: encrypted,
49
- ))
50
- secret = Vault::Secret.decode(response)
51
- plaintext = Base64.decode64(secret.data[:plaintext])
40
+ ciphertext = read_attribute(:#{encrypted_column})
41
+ return nil if ciphertext.nil?
52
42
 
43
+ plaintext = Vault::Rails.decrypt("#{path}", "#{key}", ciphertext)
53
44
  instance_variable_set(:@#{column}, plaintext)
54
45
  end
55
46
 
56
- def #{column}=(value)
57
- self.class._vault_ensure_mounted!("#{path}")
58
- self.class._vault_ensure_key!("#{path}", "#{key}")
59
-
60
- path = File.join("v1", "#{path}", "encrypt", "#{key}")
61
- response = Vault.put(path, JSON.fast_generate(
62
- plaintext: Base64.encode64(value),
63
- ))
64
- secret = Vault::Secret.decode(response)
65
- ciphertext = secret.data[:ciphertext]
66
-
47
+ def #{column}=(plaintext)
48
+ ciphertext = Vault::Rails.encrypt("#{path}", "#{key}", plaintext)
67
49
  write_attribute(:#{encrypted_column}, ciphertext)
68
- instance_variable_set(:@#{column}, value)
50
+ instance_variable_set(:@#{column}, plaintext)
69
51
  end
70
52
 
71
53
  def #{column}?
@@ -73,7 +55,11 @@ module Vault
73
55
  end
74
56
  EOH
75
57
 
76
- _vault_attributes.store(column.to_sym, true)
58
+ _vault_attributes.store(column.to_sym,
59
+ encrypted_column: encrypted_column,
60
+ path: path,
61
+ key: key,
62
+ )
77
63
 
78
64
  self
79
65
  end
@@ -84,44 +70,6 @@ module Vault
84
70
  def _vault_attributes
85
71
  @vault_attributes ||= {}
86
72
  end
87
-
88
- # Ensure the proper transit backend is mounted at the given path.
89
- #
90
- # @return [true]
91
- def _vault_ensure_mounted!(path)
92
- @_vault_mounts ||= {}
93
- return true if @_vault_mounts.key?(path)
94
-
95
- mounts = Vault.sys.mounts
96
- if mounts[path.to_s.chomp("/").to_sym]
97
- @_vault_mounts[path] = true
98
- return true
99
- end
100
-
101
- Vault.sys.mount(path, :transit)
102
- @_vault_mounts[path] = true
103
- return true
104
- end
105
-
106
- # Ensure a key exists for the transit backend at the given path.
107
- #
108
- # @return [true]
109
- def _vault_ensure_key!(path, key)
110
- @_vault_keys ||= {}
111
-
112
- key_path = File.join("v1", path, "keys", key)
113
- return true if @_vault_keys.key?(key_path)
114
-
115
- begin
116
- Vault.get(key_path)
117
- rescue => e
118
- raise if e.code != 404
119
- Vault.post(key_path, nil)
120
- @_vault_keys[key_path] = true
121
- end
122
-
123
- return true
124
- end
125
73
  end
126
74
  end
127
75
  end
@@ -26,5 +26,40 @@ module Vault
26
26
  autoload :EncryptedModel, "vault/encrypted_model"
27
27
 
28
28
  module Rails
29
+ # Encrypt the given plaintext data using the provided mount and key.
30
+ #
31
+ # @param [String] path
32
+ # the mount point
33
+ # @param [String] key
34
+ # the key to encrypt at
35
+ # @param [String] plaintext
36
+ # the plaintext to encrypt
37
+ #
38
+ # @return [String]
39
+ # the encrypted cipher text
40
+ def self.encrypt(path, key, plaintext)
41
+ route = File.join(path, "encrypt", key)
42
+ secret = Vault.logical.write(route,
43
+ plaintext: Base64.strict_encode64(plaintext),
44
+ )
45
+ return secret.data[:ciphertext]
46
+ end
47
+
48
+ # Decrypt the given ciphertext data using the provided mount and key.
49
+ #
50
+ # @param [String] path
51
+ # the mount point
52
+ # @param [String] key
53
+ # the key to decrypt at
54
+ # @param [String] ciphertext
55
+ # the ciphertext to decrypt
56
+ #
57
+ # @return [String]
58
+ # the decrypted plaintext text
59
+ def self.decrypt(path, key, ciphertext)
60
+ route = File.join(path, "decrypt", key)
61
+ secret = Vault.logical.write(route, ciphertext: ciphertext)
62
+ return Base64.strict_decode64(secret.data[:plaintext])
63
+ end
29
64
  end
30
65
  end
@@ -0,0 +1,73 @@
1
+ require_relative "../encrypted_model"
2
+
3
+ require "base64"
4
+ require "openssl"
5
+
6
+ module Vault
7
+ module Rails
8
+ module Testing
9
+ # Start the vault-rails testing stubs.
10
+ #
11
+ # @return [self]
12
+ def self.enable!
13
+ @enabled = true
14
+ return self
15
+ end
16
+
17
+ # Stop the vault-rails testing stubs.
18
+ #
19
+ # @return [self]
20
+ def self.disable!
21
+ @enabled = false
22
+ return self
23
+ end
24
+
25
+ # Returns whether the testing library is enabled.
26
+ #
27
+ # @return [true, false]
28
+ def self.enabled?
29
+ return defined?(@enabled) ? @enabled : false
30
+ end
31
+ end
32
+
33
+ # Save a reference to the original methods.
34
+ class << self
35
+ alias_method :encrypt_original, :encrypt
36
+ alias_method :decrypt_original, :decrypt
37
+ end
38
+
39
+ # @see Vault::Rails.encrypt
40
+ def self.encrypt(path, key, plaintext)
41
+ if Vault::Rails::Testing.enabled?
42
+ return nil if plaintext.nil?
43
+ cipher = OpenSSL::Cipher::AES.new(128, :CBC)
44
+ cipher.encrypt
45
+ cipher.key = key_for(path, key)
46
+ return Base64.strict_encode64(cipher.update(plaintext) + cipher.final)
47
+ else
48
+ return encrypt_original(path, key, plaintext)
49
+ end
50
+ end
51
+
52
+ # @see Vault::Rails.decrypt
53
+ def self.decrypt(path, key, ciphertext)
54
+ if Vault::Rails::Testing.enabled?
55
+ return nil if ciphertext.nil?
56
+ cipher = OpenSSL::Cipher::AES.new(128, :CBC)
57
+ cipher.decrypt
58
+ cipher.key = key_for(path, key)
59
+ return cipher.update(Base64.strict_decode64(ciphertext)) + cipher.final
60
+ else
61
+ return decrypt_original(path, key, ciphertext)
62
+ end
63
+ end
64
+
65
+ private
66
+
67
+ # The symmetric key for the given params.
68
+ # @return [String]
69
+ def self.key_for(path, key)
70
+ return Base64.strict_encode64("#{path}/#{key}".ljust(32, "x"))
71
+ end
72
+ end
73
+ end
@@ -1,5 +1,5 @@
1
1
  module Vault
2
2
  module Rails
3
- VERSION = "0.1.1"
3
+ VERSION = "0.1.2"
4
4
  end
5
5
  end
@@ -150,3 +150,474 @@ Migrating to CreatePeople (20150428220101)
150
150
  SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:xdqQIbXzzT+3qJLC3/YyCam0/aoG5vddjdYB1m72M7XVRWAtfSHI"], ["created_at", "2015-05-13 22:42:13.590222"], ["updated_at", "2015-05-13 22:42:13.590222"]]
151
151
   (0.8ms) commit transaction
152
152
  Person Load (0.1ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 4]]
153
+  (0.1ms) begin transaction
154
+ SQL (1.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:lyob1HoRyqXtcz0OdyazNRFXSgxEhMStp/qtdIPcKGZXTwavAmNk"], ["created_at", "2015-05-14 21:07:03.013228"], ["updated_at", "2015-05-14 21:07:03.013228"]]
155
+  (0.8ms) commit transaction
156
+  (0.1ms) begin transaction
157
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:x+9YndjJapAygIu3rgfl32LUK0jrwdim+4gAANe1an9t/Md0sjGX"], ["created_at", "2015-05-14 21:07:03.022396"], ["updated_at", "2015-05-14 21:07:03.022396"]]
158
+  (0.6ms) commit transaction
159
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 6]]
160
+  (0.1ms) begin transaction
161
+ SQL (0.5ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:Jq4943AAoz4bguLsMJ6grfXmIMxR/aAvd9n9YJgPRl5TEIb41sZK6hJcErs="], ["created_at", "2015-05-14 21:10:08.400894"], ["updated_at", "2015-05-14 21:10:08.400894"]]
162
+  (2.6ms) commit transaction
163
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 7]]
164
+  (0.1ms) begin transaction
165
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:0fkpwHtDeMF3qFwpPUvWajgSkUDI/Vi9nZf0QZP9xE9I9hXLnQPfNN17jYo="], ["created_at", "2015-05-14 21:10:08.415192"], ["updated_at", "2015-05-14 21:10:08.415192"]]
166
+  (0.9ms) commit transaction
167
+  (0.1ms) begin transaction
168
+ SQL (0.5ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:k+KTc+yiOtglFY7/5RgJLi1+9o19sdLyPbh6API67rIT69IkJ4XkzOhKESs="], ["created_at", "2015-05-14 21:12:10.261002"], ["updated_at", "2015-05-14 21:12:10.261002"]]
169
+  (2.6ms) commit transaction
170
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 9]]
171
+  (0.1ms) begin transaction
172
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:VGH890CFQLCGLQtxQnVDtGS0xMNkKgrEfTIv1dgfIxk2a7Mv2TgT534E1OA="], ["created_at", "2015-05-14 21:12:10.275322"], ["updated_at", "2015-05-14 21:12:10.275322"]]
173
+  (0.8ms) commit transaction
174
+  (0.1ms) begin transaction
175
+ SQL (0.4ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:2eiqCtfkPBrSgDoRJdC4YEWGytVmFanKBryFOYI7KkLC8mdWsN1j"], ["created_at", "2015-05-14 21:13:20.064458"], ["updated_at", "2015-05-14 21:13:20.064458"]]
176
+  (2.5ms) commit transaction
177
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 11]]
178
+  (0.1ms) begin transaction
179
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:px/RLxtNaiFbKxlYTfktuWTHkpFfcbrNfBj6gOIqerUXctFFQO4N"], ["created_at", "2015-05-14 21:13:20.078441"], ["updated_at", "2015-05-14 21:13:20.078441"]]
180
+  (0.8ms) commit transaction
181
+  (0.1ms) begin transaction
182
+ SQL (0.4ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:GNJT/n/8dzkttQVtxNyd0z3M7hryLx4jdoD5LYz5HQ9+stblD/YE"], ["created_at", "2015-05-14 21:13:27.996006"], ["updated_at", "2015-05-14 21:13:27.996006"]]
183
+  (2.5ms) commit transaction
184
+  (0.1ms) begin transaction
185
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:448Y+maKT1Lymffon1wuqMhyPsFE1mFG8GshMDTvlO/QStAhSvOI"], ["created_at", "2015-05-14 21:13:28.005985"], ["updated_at", "2015-05-14 21:13:28.005985"]]
186
+  (0.8ms) commit transaction
187
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 14]]
188
+  (0.1ms) begin transaction
189
+ SQL (0.5ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:cWlIWhf6/h56gRc0UeqJYf9GaKeAPw8kJGgUxiGvDN0gB/yGeRUf"], ["created_at", "2015-05-14 21:13:43.150436"], ["updated_at", "2015-05-14 21:13:43.150436"]]
190
+  (1.0ms) commit transaction
191
+  (0.1ms) begin transaction
192
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:Z59Za9RulxIvwE6fKxv7hg7vsSWcZ2hP0LiKgvz6n4gPgP7YW6z5"], ["created_at", "2015-05-14 21:13:43.158950"], ["updated_at", "2015-05-14 21:13:43.158950"]]
193
+  (0.8ms) commit transaction
194
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 16]]
195
+  (0.1ms) begin transaction
196
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:QkFthcFck8KJrhtCVgTlm0K/gd6a5gUsUSFAy1Yd0z1W0u6s+7wlHH0y7As="], ["created_at", "2015-05-14 21:13:43.171086"], ["updated_at", "2015-05-14 21:13:43.171086"]]
197
+  (0.8ms) commit transaction
198
+  (0.0ms) begin transaction
199
+ SQL (0.2ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:5g2PhOWO/CnJnXChsV/mOGB3dABpQdEZxSju0OR8j7t3C3LnFHejhAVk9gc="], ["created_at", "2015-05-14 21:13:43.174391"], ["updated_at", "2015-05-14 21:13:43.174391"]]
200
+  (0.8ms) commit transaction
201
+ Person Load (0.1ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 18]]
202
+  (0.1ms) begin transaction
203
+ SQL (0.4ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:SWkZPoHjdqKe+w2TyyVyabXOOLe29HzcUE3h+65TgO9qNmS4tH4j"], ["created_at", "2015-05-14 21:13:47.436004"], ["updated_at", "2015-05-14 21:13:47.436004"]]
204
+  (2.5ms) commit transaction
205
+  (0.1ms) begin transaction
206
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:7yFN3ov89OKZfikE/+zbke4KlhK1indaBbJp8Youd3XGPkRTJuQp"], ["created_at", "2015-05-14 21:13:47.445138"], ["updated_at", "2015-05-14 21:13:47.445138"]]
207
+  (0.8ms) commit transaction
208
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 20]]
209
+  (0.1ms) begin transaction
210
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:wSmSZb9I9iS3nxO33rXFWo908seAPY+npb3AEIPxrBHTbauaCGYpcxxiakU="], ["created_at", "2015-05-14 21:13:47.457032"], ["updated_at", "2015-05-14 21:13:47.457032"]]
211
+  (0.8ms) commit transaction
212
+  (0.0ms) begin transaction
213
+ SQL (0.2ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:pCBzwUp/Wb69sCqyq/36bE4CDYlvJZ6t5gSDXbHponiNuT8zqvFvL6E6++8="], ["created_at", "2015-05-14 21:13:47.460244"], ["updated_at", "2015-05-14 21:13:47.460244"]]
214
+  (0.8ms) commit transaction
215
+ Person Load (0.1ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 22]]
216
+  (0.1ms) begin transaction
217
+ SQL (0.4ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:b7BdmSYQKUvHUtSHUS/cetf4czqFRGyc8CVMroGrVE2hCjoBRaaggmaRmLc="], ["created_at", "2015-05-14 21:13:49.672083"], ["updated_at", "2015-05-14 21:13:49.672083"]]
218
+  (2.1ms) commit transaction
219
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 23]]
220
+  (0.1ms) begin transaction
221
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:cnnADgNQXAfFQ+j1liLOxWOoat9jwdyZ0f9311sVek41gvURPeyns3FCWUw="], ["created_at", "2015-05-14 21:13:49.687560"], ["updated_at", "2015-05-14 21:13:49.687560"]]
222
+  (0.9ms) commit transaction
223
+  (0.1ms) begin transaction
224
+ SQL (0.4ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:VojD+RWAEDf8rgZbJ2vaDU6gn8mxEi7TYswoqTfUO6BaIS9Ya7Pm"], ["created_at", "2015-05-14 21:13:49.696817"], ["updated_at", "2015-05-14 21:13:49.696817"]]
225
+  (0.9ms) commit transaction
226
+ Person Load (0.1ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 25]]
227
+  (0.1ms) begin transaction
228
+ SQL (0.2ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:fSFEdWQ1UIUJuW7yiZWcSoluusvXsD6ivPo0bN7OeGFwV6uIQoKx"], ["created_at", "2015-05-14 21:13:49.701818"], ["updated_at", "2015-05-14 21:13:49.701818"]]
229
+  (0.8ms) commit transaction
230
+  (0.1ms) begin transaction
231
+ SQL (0.5ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:zJdapyoZ1mfIEhCFC1qraDzCqyP1nutFtPAPbA5rbqsWazNUgBPK"], ["created_at", "2015-05-14 21:13:55.769105"], ["updated_at", "2015-05-14 21:13:55.769105"]]
232
+  (2.6ms) commit transaction
233
+  (0.1ms) begin transaction
234
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:xjn2EwkwiTMj5PEvaV5ukRi2F9VVH3zlAt2l8A5hEX3LFdHPrfNB"], ["created_at", "2015-05-14 21:13:55.779698"], ["updated_at", "2015-05-14 21:13:55.779698"]]
235
+  (0.8ms) commit transaction
236
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 28]]
237
+  (0.1ms) begin transaction
238
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:MininwjQCDVcZirW32pyzX6yY0Am0rLn2uggem7VcBqc1/yXK8TTiwuOvlw="], ["created_at", "2015-05-14 21:13:55.792096"], ["updated_at", "2015-05-14 21:13:55.792096"]]
239
+  (0.9ms) commit transaction
240
+  (0.0ms) begin transaction
241
+ SQL (0.2ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:gHOVhtldG0/UNVcJSHnpw+hl2E0FiP+DGew+yW453DLHAix3F/Hp7U0hAtk="], ["created_at", "2015-05-14 21:13:55.795469"], ["updated_at", "2015-05-14 21:13:55.795469"]]
242
+  (0.8ms) commit transaction
243
+ Person Load (0.1ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 30]]
244
+  (0.1ms) begin transaction
245
+ SQL (0.4ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:oscT9dMDlGX9g9NlktHJG7CbBySR7XxucsaVHBbVxSV/VKgwkhRL"], ["created_at", "2015-05-14 21:14:00.131326"], ["updated_at", "2015-05-14 21:14:00.131326"]]
246
+  (2.6ms) commit transaction
247
+  (0.1ms) begin transaction
248
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:oC8Yq/jj4W0fSUSdBky1p7R7pXRFHvmR8gg0CfLwEkC0pku0limQ"], ["created_at", "2015-05-14 21:14:00.141288"], ["updated_at", "2015-05-14 21:14:00.141288"]]
249
+  (0.9ms) commit transaction
250
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 32]]
251
+  (0.1ms) begin transaction
252
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:y+q7kMSUbVo4M4us4Yj1TTRiUN43NPtzfX4Zer9anRD4o94RmpBTprL1ZpU="], ["created_at", "2015-05-14 21:14:00.154565"], ["updated_at", "2015-05-14 21:14:00.154565"]]
253
+  (0.7ms) commit transaction
254
+  (0.1ms) begin transaction
255
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:cfXqBHRv/pgf6lXefGNuIxXxv3DV09FFTW5zIGIOUoTlwtCU4P5xYPchdJc="], ["created_at", "2015-05-14 21:14:00.158466"], ["updated_at", "2015-05-14 21:14:00.158466"]]
256
+  (0.7ms) commit transaction
257
+ Person Load (0.1ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 34]]
258
+  (0.1ms) begin transaction
259
+ SQL (0.4ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:4GHhB/qfbLZHc5Y3l+GFX8YzbGsfjcbiS4dRvc41U+tR/8vOeB0m"], ["created_at", "2015-05-14 21:14:04.108935"], ["updated_at", "2015-05-14 21:14:04.108935"]]
260
+  (1.3ms) commit transaction
261
+  (0.1ms) begin transaction
262
+ SQL (0.2ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:tbDgY0iwwwnjfblPPXt+D34B0h2DDGrJsUnio5waaoZGd/Xn/oMH"], ["created_at", "2015-05-14 21:14:04.116967"], ["updated_at", "2015-05-14 21:14:04.116967"]]
263
+  (0.8ms) commit transaction
264
+ Person Load (0.3ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 36]]
265
+  (0.1ms) begin transaction
266
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:0095lfyyP8HkhnXWEJJNpBjcTEKewSey1bO2Tv0qj8L3yYX6cyPOvX8ALy0="], ["created_at", "2015-05-14 21:14:04.129678"], ["updated_at", "2015-05-14 21:14:04.129678"]]
267
+  (0.7ms) commit transaction
268
+  (0.1ms) begin transaction
269
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:RzqY0O3r0LJUt04FDYYav/xn4iMjoyTtrYHIWqKTXrt8JINmUqtC1MPXT5M="], ["created_at", "2015-05-14 21:14:04.133522"], ["updated_at", "2015-05-14 21:14:04.133522"]]
270
+  (0.6ms) commit transaction
271
+ Person Load (0.1ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 38]]
272
+  (0.1ms) begin transaction
273
+ SQL (0.4ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:3aDyYqdapKhr10LQvnyJ+X7Xxy8J02SaDKGFZmcY/flbTAimvR2z"], ["created_at", "2015-05-14 21:14:12.087622"], ["updated_at", "2015-05-14 21:14:12.087622"]]
274
+  (2.6ms) commit transaction
275
+  (0.1ms) begin transaction
276
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:yAV4gzyvYE3bjDD41whScc9s9yT6npfVafIOLfWYjdbpwb1CRq/D"], ["created_at", "2015-05-14 21:14:12.097832"], ["updated_at", "2015-05-14 21:14:12.097832"]]
277
+  (0.8ms) commit transaction
278
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 40]]
279
+  (0.1ms) begin transaction
280
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:QtxZGfFljTqMqccVQi7GTQHYFJ+SBWypK3kOovX1jJk9HURQQDcYyjnRB2Q="], ["created_at", "2015-05-14 21:14:12.109510"], ["updated_at", "2015-05-14 21:14:12.109510"]]
281
+  (0.8ms) commit transaction
282
+  (0.0ms) begin transaction
283
+ SQL (0.2ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:F1vdrQYMtvaj6sWZWXgCI8ouh+AjVT56o2FwW1qY2b3qTVC2SFPGhnamkok="], ["created_at", "2015-05-14 21:14:12.112762"], ["updated_at", "2015-05-14 21:14:12.112762"]]
284
+  (0.8ms) commit transaction
285
+ Person Load (0.1ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 42]]
286
+  (0.1ms) begin transaction
287
+ SQL (0.4ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:lb3XXy6GV537DWR861ZTMSZmGnaLV8dHgbzjK94EGFRj/R7soYn2V19RSgc="], ["created_at", "2015-05-14 21:14:14.552672"], ["updated_at", "2015-05-14 21:14:14.552672"]]
288
+  (2.4ms) commit transaction
289
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 43]]
290
+  (0.1ms) begin transaction
291
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:v2kNyKHM4bu1hZd4je86py9OpswVMvVLHj2x0FjGhi+XjwF4DCBrPmDniiY="], ["created_at", "2015-05-14 21:14:14.565311"], ["updated_at", "2015-05-14 21:14:14.565311"]]
292
+  (0.9ms) commit transaction
293
+  (0.1ms) begin transaction
294
+ SQL (0.4ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:HeiL/sRfAjFSWT27A5VODvo9DftaIWBoWLaQMKRD5Lm5k4xl0BF5wZTTdZo="], ["created_at", "2015-05-14 21:15:06.136565"], ["updated_at", "2015-05-14 21:15:06.136565"]]
295
+  (2.4ms) commit transaction
296
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 45]]
297
+  (0.1ms) begin transaction
298
+ SQL (0.4ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:Q2XGX0Sum0fjPH4TTvIm9T6vhpraebqnTMeWkEztMtuUsVeCrCIHxuuEbuw="], ["created_at", "2015-05-14 21:15:06.148870"], ["updated_at", "2015-05-14 21:15:06.148870"]]
299
+  (0.7ms) commit transaction
300
+  (0.2ms) begin transaction
301
+ SQL (0.5ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:IPrqtLBqLzD82Gem4ayZ2xg1txW/DL7CfRqyFvcZwa0p5nJi1S2mz9uxpbQ="], ["created_at", "2015-05-14 21:15:08.753364"], ["updated_at", "2015-05-14 21:15:08.753364"]]
302
+  (2.6ms) commit transaction
303
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 47]]
304
+  (0.1ms) begin transaction
305
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:EBNLRNN+/YOoGTtGOFyiOQv7oE2Q+oQLTPlWjc38WybdWP5zxai/XO/1eQg="], ["created_at", "2015-05-14 21:15:08.767785"], ["updated_at", "2015-05-14 21:15:08.767785"]]
306
+  (0.9ms) commit transaction
307
+  (0.1ms) begin transaction
308
+ SQL (0.4ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:hWoP0EGXS16E7+Oh4ifvct4wvbzfAFaPKBzBoN6a/ZS/XtiAHXb+"], ["created_at", "2015-05-14 21:15:22.828844"], ["updated_at", "2015-05-14 21:15:22.828844"]]
309
+  (2.6ms) commit transaction
310
+  (0.1ms) begin transaction
311
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:BUArVKSLW4kwCazno+fwcgp0j1SClfeb1aH/xwfxLVELJmtc6OLI"], ["created_at", "2015-05-14 21:15:22.838416"], ["updated_at", "2015-05-14 21:15:22.838416"]]
312
+  (0.8ms) commit transaction
313
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 50]]
314
+  (0.1ms) begin transaction
315
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:8WhbwYQ17TLvHP8lAv1ugACf7uh86zPaeH16umx/zaSt5lSNqTFJdP3vlSY="], ["created_at", "2015-05-14 21:15:22.850122"], ["updated_at", "2015-05-14 21:15:22.850122"]]
316
+  (0.8ms) commit transaction
317
+  (0.1ms) begin transaction
318
+ SQL (0.2ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:Jr+ngZbvFlecP27n/QzoCkc4BpYoceDwRFbjk8etW0HL6mAeLTvU1sItkLg="], ["created_at", "2015-05-14 21:15:22.853420"], ["updated_at", "2015-05-14 21:15:22.853420"]]
319
+  (0.8ms) commit transaction
320
+ Person Load (0.1ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 52]]
321
+  (0.1ms) begin transaction
322
+ SQL (0.5ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:ZMWJKTauEf7cslAXxBRT/WXMDFKFFT6GC3QR4pFAudTe+G7wcd5l"], ["created_at", "2015-05-14 21:15:26.238017"], ["updated_at", "2015-05-14 21:15:26.238017"]]
323
+  (1.0ms) commit transaction
324
+  (0.1ms) begin transaction
325
+ SQL (0.2ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:Kc3YBXxQheYC800Rv0E0IQV2jNZcOopXPkh3wu74i7dX4g/8HE+H"], ["created_at", "2015-05-14 21:15:26.246425"], ["updated_at", "2015-05-14 21:15:26.246425"]]
326
+  (0.8ms) commit transaction
327
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 54]]
328
+  (0.1ms) begin transaction
329
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:DO9klRvY5r+Nkyah2UKLZDmetXLF46Q09w41sFPKy77w4voMO4CMKO423hY="], ["created_at", "2015-05-14 21:15:26.258250"], ["updated_at", "2015-05-14 21:15:26.258250"]]
330
+  (0.8ms) commit transaction
331
+  (0.1ms) begin transaction
332
+ SQL (0.2ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:Efv+XShrhoLjQZVgkF7y7DlU2Sjp6eLN0OYiIww4QVm7XMcrw7UAjRNR3lQ="], ["created_at", "2015-05-14 21:15:26.261643"], ["updated_at", "2015-05-14 21:15:26.261643"]]
333
+  (0.8ms) commit transaction
334
+ Person Load (0.1ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 56]]
335
+  (0.1ms) begin transaction
336
+ SQL (0.4ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:bPIK4ULiNyRx7IdjSa0PIVI2XFB0czuiZTVXTqI7GILIvPNIwoQ2"], ["created_at", "2015-05-14 21:15:29.493953"], ["updated_at", "2015-05-14 21:15:29.493953"]]
337
+  (2.5ms) commit transaction
338
+  (0.1ms) begin transaction
339
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:eWgEe2BlukoZE3PKeddS7XeGg3eVDjhIT/5Q70cDKTX0uSubog2V"], ["created_at", "2015-05-14 21:15:29.502981"], ["updated_at", "2015-05-14 21:15:29.502981"]]
340
+  (0.9ms) commit transaction
341
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 58]]
342
+  (0.1ms) begin transaction
343
+ SQL (0.6ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:xdap07ZA/IsFzLOZOzLL0P8xFgGsYrmqggEVCL8zoB+SyRJcihDFdBa5+i4="], ["created_at", "2015-05-14 21:15:29.515243"], ["updated_at", "2015-05-14 21:15:29.515243"]]
344
+  (0.9ms) commit transaction
345
+  (0.1ms) begin transaction
346
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:JPVVAq0951EJ+encHPNVbAjtHq0nH/wgMe/AOwE2OpXA1jZ00fDu6oy5SFs="], ["created_at", "2015-05-14 21:15:29.520450"], ["updated_at", "2015-05-14 21:15:29.520450"]]
347
+  (0.7ms) commit transaction
348
+ Person Load (0.1ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 60]]
349
+  (0.1ms) begin transaction
350
+ SQL (0.4ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:xPDqzNRVWzZgt3wvi++y3DoMVTMrZ2qm+7Ct8K6ErNi9Jz2SLL4yQrzkZws="], ["created_at", "2015-05-14 21:16:06.661639"], ["updated_at", "2015-05-14 21:16:06.661639"]]
351
+  (2.5ms) commit transaction
352
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 61]]
353
+  (0.1ms) begin transaction
354
+ SQL (0.5ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:cFHJZ7R+MvhTd8e5y2UdjWHoRW3R9eMHv+hJUO4w1plbYIMbOFE/"], ["created_at", "2015-05-14 21:16:20.509280"], ["updated_at", "2015-05-14 21:16:20.509280"]]
355
+  (2.3ms) commit transaction
356
+  (0.1ms) begin transaction
357
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:OODwf91teWFfLGhdHofhBqxBzE2atzjBPjxtUnpRRKyaUsDWzpwzr3T1B84="], ["created_at", "2015-05-14 21:16:20.522391"], ["updated_at", "2015-05-14 21:16:20.522391"]]
358
+  (0.7ms) commit transaction
359
+  (0.1ms) begin transaction
360
+ SQL (0.4ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:7fG4JPw3Eg/1GWsjq7IMlW1X6lYns8KB5Pjprp2BRA1yOows9bUh"], ["created_at", "2015-05-14 21:17:06.562680"], ["updated_at", "2015-05-14 21:17:06.562680"]]
361
+  (2.5ms) commit transaction
362
+  (0.1ms) begin transaction
363
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:JgcSFZew5tvwFKmQ9tdeGREomHhADhkVIacPZBAF0jbZs63tMs1z"], ["created_at", "2015-05-14 21:17:06.572397"], ["updated_at", "2015-05-14 21:17:06.572397"]]
364
+  (0.8ms) commit transaction
365
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 65]]
366
+  (0.1ms) begin transaction
367
+ SQL (0.4ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:bJXNo5eigCN0yauaqbffY0ja/mWDKFWOwld8zMAy8rqtrtJyAjk3Ng0tCd8="], ["created_at", "2015-05-14 21:17:06.582048"], ["updated_at", "2015-05-14 21:17:06.582048"]]
368
+  (0.7ms) commit transaction
369
+  (0.1ms) begin transaction
370
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:lEcuhpJ5mownmVxpMq7mEbQGQSwV7JgCnewXdBCIKSEuouieq4/byZ100hY="], ["created_at", "2015-05-14 21:17:06.585540"], ["updated_at", "2015-05-14 21:17:06.585540"]]
371
+  (0.8ms) commit transaction
372
+ Person Load (0.1ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 67]]
373
+  (0.1ms) begin transaction
374
+ SQL (0.4ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:OoSvHTmB7nDSSMl2iPG0MPrhAjtvoRad0F8jwaLCqVAFQZ2qlwcS"], ["created_at", "2015-05-14 21:17:12.501159"], ["updated_at", "2015-05-14 21:17:12.501159"]]
375
+  (1.0ms) commit transaction
376
+  (0.1ms) begin transaction
377
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:uMS8QqciyNByxqWUP2XTwvJ0x1hOOfVG+5kfBBlg/hmEHTn58UqG"], ["created_at", "2015-05-14 21:17:12.508373"], ["updated_at", "2015-05-14 21:17:12.508373"]]
378
+  (0.8ms) commit transaction
379
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 69]]
380
+  (0.1ms) begin transaction
381
+ SQL (0.4ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:8ep2V8S72LLD2IrSso9DH+lORJtfF/l03ANJp7WJOvTbtXem6vt1l0QYv18="], ["created_at", "2015-05-14 21:17:12.520571"], ["updated_at", "2015-05-14 21:17:12.520571"]]
382
+  (0.9ms) commit transaction
383
+  (0.1ms) begin transaction
384
+ SQL (0.2ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:JxbfDl0lh02zGGxs7o2CM8lI92IO7B3QRytwZkrk4ARZrS0x/ESM0FRZpQM="], ["created_at", "2015-05-14 21:17:12.524630"], ["updated_at", "2015-05-14 21:17:12.524630"]]
385
+  (0.8ms) commit transaction
386
+ Person Load (0.1ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 71]]
387
+  (0.2ms) begin transaction
388
+ SQL (0.4ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:99OukFsjYe88OUxhsg6PpjAiOYKLskIyWNhxYbAi5gdSXGpDEOGHlQ4ovd0="], ["created_at", "2015-05-14 21:17:14.783084"], ["updated_at", "2015-05-14 21:17:14.783084"]]
389
+  (0.9ms) commit transaction
390
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 72]]
391
+  (0.1ms) begin transaction
392
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:JBuZlh9eiyAu2hF/U2z9d7SsOkFs+H+rvmcFQQUT37oXduIrRjAlW78RySQ="], ["created_at", "2015-05-14 21:17:14.795030"], ["updated_at", "2015-05-14 21:17:14.795030"]]
393
+  (0.9ms) commit transaction
394
+  (0.1ms) begin transaction
395
+ SQL (0.5ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:+bE1MQYo5WK4DNdDjf7Dk7r8tCmt7YO90xPHnxTNaIo2eIEwL49NYOTRVdY="], ["created_at", "2015-05-14 21:18:03.343996"], ["updated_at", "2015-05-14 21:18:03.343996"]]
396
+  (2.7ms) commit transaction
397
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 74]]
398
+  (0.1ms) begin transaction
399
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:jn8KkWiUqe8o4jvb48kfVG86nbW/C7XdSFe69/m8mr/8eGHcrSiGIWzwzTE="], ["created_at", "2015-05-14 21:18:03.360089"], ["updated_at", "2015-05-14 21:18:03.360089"]]
400
+  (0.9ms) commit transaction
401
+  (0.1ms) begin transaction
402
+ SQL (0.4ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:m6NQsLRXNhsPPC/0GyIZiOBVd/AzDFZBszBo6aMDOa5Nb+bTfqJp/vDO3j4="], ["created_at", "2015-05-14 21:18:22.504560"], ["updated_at", "2015-05-14 21:18:22.504560"]]
403
+  (0.7ms) commit transaction
404
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 76]]
405
+  (0.1ms) begin transaction
406
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:IFzYH1h+Q74nKg2AWT9o6XwbCDlIbJiEr+3+ylfDEz8uN4vC3jZDiHD9qgU="], ["created_at", "2015-05-14 21:18:22.515119"], ["updated_at", "2015-05-14 21:18:22.515119"]]
407
+  (0.8ms) commit transaction
408
+  (0.1ms) begin transaction
409
+ SQL (0.5ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:c7d3FFIrTcSDmkriogz9L8O4Wn44iCt0xE4yv5D+v+HIQcmaKQrKzscA7Wc="], ["created_at", "2015-05-14 21:19:01.000367"], ["updated_at", "2015-05-14 21:19:01.000367"]]
410
+  (3.2ms) commit transaction
411
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 78]]
412
+  (0.1ms) begin transaction
413
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:e2x22Xl0y/wOf3eQnwNv0hZtyXcDGIJqnzeLhn/ta5i62lHYvG2Nq9b9Aac="], ["created_at", "2015-05-14 21:19:01.015236"], ["updated_at", "2015-05-14 21:19:01.015236"]]
414
+  (0.8ms) commit transaction
415
+  (0.1ms) begin transaction
416
+ SQL (0.4ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:RVR4jqwIsH/z1/6CVZtsBbwVXNoTdVitiP4RxelozhMjWnMewNuT"], ["created_at", "2015-05-14 21:19:35.127099"], ["updated_at", "2015-05-14 21:19:35.127099"]]
417
+  (2.4ms) commit transaction
418
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 80]]
419
+  (0.1ms) begin transaction
420
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:bStIzvieZQx7dAgiCSQkQEam8AgPjVREH9r64Yq6UGu9qAu6u9tm"], ["created_at", "2015-05-14 21:19:35.140752"], ["updated_at", "2015-05-14 21:19:35.140752"]]
421
+  (0.8ms) commit transaction
422
+  (0.1ms) begin transaction
423
+ SQL (0.5ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:cYuTo3HW/BTTLs8YeQf4sAex+ZQRADQxa6YkE8NcJb+YRoPpFkAs"], ["created_at", "2015-05-14 21:19:37.340194"], ["updated_at", "2015-05-14 21:19:37.340194"]]
424
+  (2.5ms) commit transaction
425
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 82]]
426
+  (0.1ms) begin transaction
427
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:oLKl+kzw91fdLSg62OohybPxK0oJI7TkapMyEDbtTICD6o0HNXOp"], ["created_at", "2015-05-14 21:19:37.355455"], ["updated_at", "2015-05-14 21:19:37.355455"]]
428
+  (0.7ms) commit transaction
429
+  (0.1ms) begin transaction
430
+ SQL (0.4ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:QSmaDuK6YYMJEnRhj1OCWcNQk7wUALGfECE+ucKAWLcrd6rR71OO"], ["created_at", "2015-05-14 21:19:39.389751"], ["updated_at", "2015-05-14 21:19:39.389751"]]
431
+  (2.5ms) commit transaction
432
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 84]]
433
+  (0.1ms) begin transaction
434
+ SQL (0.4ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:GmcQ7L3MAkmg+/qbBOf2QxyCwAyfof5AMos1KYXRghKBm/rAjdy/"], ["created_at", "2015-05-14 21:19:39.402936"], ["updated_at", "2015-05-14 21:19:39.402936"]]
435
+  (0.6ms) commit transaction
436
+  (0.1ms) begin transaction
437
+ SQL (0.4ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:LkBmzlm1+ePoAKYRJJofMxd2aJ03QxiIjKsH+dd2uuBiOchHjgqU"], ["created_at", "2015-05-14 21:19:41.148475"], ["updated_at", "2015-05-14 21:19:41.148475"]]
438
+  (2.5ms) commit transaction
439
+  (0.1ms) begin transaction
440
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:Uz04yGY5qq3N7MO8kE8gEPpDv3nwAkpZVUWw3eTZuJAmYr3AEgc9"], ["created_at", "2015-05-14 21:19:41.157613"], ["updated_at", "2015-05-14 21:19:41.157613"]]
441
+  (0.8ms) commit transaction
442
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 87]]
443
+  (0.1ms) begin transaction
444
+ SQL (0.4ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:RmEN1gjC6OKwcZvCImPlINwMZs/spnqw0t9zrtIHVQvry5blTt4e"], ["created_at", "2015-05-14 21:19:42.919194"], ["updated_at", "2015-05-14 21:19:42.919194"]]
445
+  (2.3ms) commit transaction
446
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 88]]
447
+  (0.1ms) begin transaction
448
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:CMA6ew9n7EKEEmAhEjCbiBa8apVSYe56/CeivpVmpRe5P8PRF9XT"], ["created_at", "2015-05-14 21:19:42.933488"], ["updated_at", "2015-05-14 21:19:42.933488"]]
449
+  (0.7ms) commit transaction
450
+  (0.1ms) begin transaction
451
+ SQL (0.8ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:RiVetPT1ONFStxRbMFE/Sbx/wBWyFPRtn/JpjkgicudhdyvhYffb"], ["created_at", "2015-05-14 21:19:44.750746"], ["updated_at", "2015-05-14 21:19:44.750746"]]
452
+  (2.1ms) commit transaction
453
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 90]]
454
+  (0.1ms) begin transaction
455
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:hVTEnRd34zVk4fQ6HEBkYopq4RbSWNAMfbBd++o5m1C49YaS+IW8"], ["created_at", "2015-05-14 21:19:44.764584"], ["updated_at", "2015-05-14 21:19:44.764584"]]
456
+  (0.9ms) commit transaction
457
+  (0.4ms) begin transaction
458
+ SQL (0.8ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:k+G3MNqlKZl4d9KpM09sTs2goa6CNA57qYFo3bvDsFkN44J6/N9I"], ["created_at", "2015-05-14 21:19:51.327697"], ["updated_at", "2015-05-14 21:19:51.327697"]]
459
+  (2.5ms) commit transaction
460
+  (0.1ms) begin transaction
461
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:E8eIUTOxp11wV2GhWWC2ao3pBXoLZQ2/ze6CLw/1nFYC9/iSnzJW"], ["created_at", "2015-05-14 21:19:51.343165"], ["updated_at", "2015-05-14 21:19:51.343165"]]
462
+  (0.8ms) commit transaction
463
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 93]]
464
+  (0.1ms) begin transaction
465
+ SQL (0.4ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:NqpaYqXSJmR/yB/N0HN8QNqpNjVBk3P0pkFeMjyReZncrVeLgbL3y2XFXmI="], ["created_at", "2015-05-14 21:19:51.356617"], ["updated_at", "2015-05-14 21:19:51.356617"]]
466
+  (0.6ms) commit transaction
467
+  (0.1ms) begin transaction
468
+ SQL (0.2ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:LxhcmfM2J5bGCXulRWrmVsp52qc+9rbSop2ZkczZTxpgNbbyK11TBR906JE="], ["created_at", "2015-05-14 21:19:51.360311"], ["updated_at", "2015-05-14 21:19:51.360311"]]
469
+  (0.6ms) commit transaction
470
+ Person Load (0.1ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 95]]
471
+  (0.1ms) begin transaction
472
+ SQL (0.4ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:1Y9Vtamuw7HvKMD1EX4Po3TPSBlJG0bSBgPjDLYXk3a66WSqqbFHyl4sgkY="], ["created_at", "2015-05-14 21:19:54.697054"], ["updated_at", "2015-05-14 21:19:54.697054"]]
473
+  (2.6ms) commit transaction
474
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 96]]
475
+  (0.1ms) begin transaction
476
+ SQL (0.4ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:KkAdQNm8UFmi6gZYu08MP2dGKN53sJHENFqylRI5dBLGTj3fE1pqrKISKmw="], ["created_at", "2015-05-14 21:19:54.712095"], ["updated_at", "2015-05-14 21:19:54.712095"]]
477
+  (0.7ms) commit transaction
478
+  (0.1ms) begin transaction
479
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:dwPKCgI8ZLIqsnjctRlyvPBD2ilrRAru0RcUGfXSjo/tppryTcdh"], ["created_at", "2015-05-14 21:19:54.717670"], ["updated_at", "2015-05-14 21:19:54.717670"]]
480
+  (0.7ms) commit transaction
481
+ Person Load (0.1ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 98]]
482
+  (0.1ms) begin transaction
483
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:fgo8M4VZD4e6AIJdQWqbjaRtKAJbmDX1AmD/79ZnKIzICOd3xP3E"], ["created_at", "2015-05-14 21:19:54.722706"], ["updated_at", "2015-05-14 21:19:54.722706"]]
484
+  (0.9ms) commit transaction
485
+  (0.1ms) begin transaction
486
+ SQL (0.4ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:1wl9mP2LgL9zARvRwOPydLpP+MuB2AHPdqVTcgUu+vcyU1TWA3Mo"], ["created_at", "2015-05-14 21:20:06.882933"], ["updated_at", "2015-05-14 21:20:06.882933"]]
487
+  (2.2ms) commit transaction
488
+  (0.1ms) begin transaction
489
+ SQL (0.4ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:TNbaRLMOcxnJd3pexSmQkZ/LNG5gN5NklnA5J5MLe7+dWynNUN8I"], ["created_at", "2015-05-14 21:20:06.893137"], ["updated_at", "2015-05-14 21:20:06.893137"]]
490
+  (0.8ms) commit transaction
491
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 101]]
492
+  (0.1ms) begin transaction
493
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:rdVqFKGGMPvBwIj/sc5INNDLXDr83/6PyWuByKXWbJlCqA/FxFRKulXxEyA="], ["created_at", "2015-05-14 21:20:06.904148"], ["updated_at", "2015-05-14 21:20:06.904148"]]
494
+  (0.8ms) commit transaction
495
+  (0.0ms) begin transaction
496
+ SQL (0.2ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:9Z7XCK4UNstIsSpyVqaOJOsjdfwd6Mpz+EEkLCdnAhlUWRgs/ZcScuUv1NE="], ["created_at", "2015-05-14 21:20:06.907474"], ["updated_at", "2015-05-14 21:20:06.907474"]]
497
+  (0.8ms) commit transaction
498
+ Person Load (0.1ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 103]]
499
+  (0.1ms) begin transaction
500
+ SQL (0.4ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:wpg5LqhUATm/8RcWRgaKDS1dLsSkmr6DpYA+44gYAVspl4Mc8Z6Jqg56RLM="], ["created_at", "2015-05-14 21:20:09.095036"], ["updated_at", "2015-05-14 21:20:09.095036"]]
501
+  (2.6ms) commit transaction
502
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 104]]
503
+  (0.1ms) begin transaction
504
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:bLYaMByJ5LOcCYwl+YV1lUtpplC17DV4xLxNaegVPyq0b0pfpVsFOIrux6I="], ["created_at", "2015-05-14 21:20:09.109265"], ["updated_at", "2015-05-14 21:20:09.109265"]]
505
+  (0.8ms) commit transaction
506
+  (0.1ms) begin transaction
507
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:50LgRP3grUznJ1fB4n1atvB781f61NAmbj2upPyZOFmuhi0k8m6Z"], ["created_at", "2015-05-14 21:20:09.115590"], ["updated_at", "2015-05-14 21:20:09.115590"]]
508
+  (0.8ms) commit transaction
509
+ Person Load (0.1ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 106]]
510
+  (0.1ms) begin transaction
511
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:F2SA6KXW7lDBkXqxH+DI6DrwRsWxAAImfM7ycAOQsG466P00O6iS"], ["created_at", "2015-05-14 21:20:09.121955"], ["updated_at", "2015-05-14 21:20:09.121955"]]
512
+  (0.7ms) commit transaction
513
+  (0.1ms) begin transaction
514
+ SQL (0.4ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:/7O3k0hx7IsiIC2FB56EPZW8Fec9d/vZLxAbn28pq969YmWs4qSfHlbTLSk="], ["created_at", "2015-05-14 21:20:11.240614"], ["updated_at", "2015-05-14 21:20:11.240614"]]
515
+  (1.8ms) commit transaction
516
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 108]]
517
+  (0.1ms) begin transaction
518
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:tmFjbftR0Ed9sBxbpEUmGXeF994w9X05nq5wbl3ByNQHbm7uq7GsaQCtEgg="], ["created_at", "2015-05-14 21:20:11.254217"], ["updated_at", "2015-05-14 21:20:11.254217"]]
519
+  (0.8ms) commit transaction
520
+  (0.1ms) begin transaction
521
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:7st6rXb7iMV8ANuGhRGU8e+yxuIIC0qP7Dgvl+i7Xu92COJhJkbC"], ["created_at", "2015-05-14 21:20:11.259546"], ["updated_at", "2015-05-14 21:20:11.259546"]]
522
+  (0.8ms) commit transaction
523
+ Person Load (0.1ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 110]]
524
+  (0.1ms) begin transaction
525
+ SQL (0.2ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:4RD6dJgt75wPTBN22503ESmq4PYrrc4zmdgtl4BOupcWj7+GQVNx"], ["created_at", "2015-05-14 21:20:11.264077"], ["updated_at", "2015-05-14 21:20:11.264077"]]
526
+  (0.6ms) commit transaction
527
+  (0.1ms) begin transaction
528
+ SQL (0.5ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:GU+iq1lxViAfhnekZ4FpJ+rJ54dEPu6fNS7hvYzl2zawsTv7IMlp21ViYl8="], ["created_at", "2015-05-14 21:20:13.842769"], ["updated_at", "2015-05-14 21:20:13.842769"]]
529
+  (2.6ms) commit transaction
530
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 112]]
531
+  (0.1ms) begin transaction
532
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:2F81LbiMSWtBDvitqiL8ItUqXzO6nRZ63cp97bbFjc9+CaoQfuT/R6Ivono="], ["created_at", "2015-05-14 21:20:13.858141"], ["updated_at", "2015-05-14 21:20:13.858141"]]
533
+  (0.8ms) commit transaction
534
+  (0.1ms) begin transaction
535
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:o2E4E/6Q5GS/XcpaCExi/A9OiyciQokHT+YIICjuHKJbTabDkcw+"], ["created_at", "2015-05-14 21:20:13.863307"], ["updated_at", "2015-05-14 21:20:13.863307"]]
536
+  (0.8ms) commit transaction
537
+ Person Load (0.1ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 114]]
538
+  (0.0ms) begin transaction
539
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:YEzAKYQQzzG+rFXQmXpF5Jz2b/Rq645/FlovC5EejPR1vsyoroim"], ["created_at", "2015-05-14 21:20:13.867730"], ["updated_at", "2015-05-14 21:20:13.867730"]]
540
+  (0.7ms) commit transaction
541
+  (0.1ms) begin transaction
542
+ SQL (0.5ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:e/6FYa83mhvkuGq2eUdpOiyAvrvOAvIuT6JVrSS1nVujO6h2YIgIJ5t+y2E="], ["created_at", "2015-05-14 21:20:20.467831"], ["updated_at", "2015-05-14 21:20:20.467831"]]
543
+  (1.6ms) commit transaction
544
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 116]]
545
+  (0.1ms) begin transaction
546
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:QKxO1nMv4I4Mgt77mAfvUJz8XX6iCAZvMdKAeQ485SgwXssi4aqwJ3Ka6A0="], ["created_at", "2015-05-14 21:20:20.482534"], ["updated_at", "2015-05-14 21:20:20.482534"]]
547
+  (0.6ms) commit transaction
548
+  (0.1ms) begin transaction
549
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:cuyN922gmUoYTYdb89C3K9eR4JHHfwNhYnxbFlRxSVEoBsT7UPcO"], ["created_at", "2015-05-14 21:20:20.487674"], ["updated_at", "2015-05-14 21:20:20.487674"]]
550
+  (0.8ms) commit transaction
551
+ Person Load (0.1ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 118]]
552
+  (0.1ms) begin transaction
553
+ SQL (0.2ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:5uXnIWhXGKaXGTaL+mWAcjnZR9FR5To88/fvmUkWxiua6ej1b7mB"], ["created_at", "2015-05-14 21:20:20.492182"], ["updated_at", "2015-05-14 21:20:20.492182"]]
554
+  (0.8ms) commit transaction
555
+  (0.1ms) begin transaction
556
+ SQL (0.4ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:fcY7FcbKoUTiM9160DTaI9/1/Mx7KYGXykf7NDwZwi7rShT9afIk"], ["created_at", "2015-05-14 21:20:24.798859"], ["updated_at", "2015-05-14 21:20:24.798859"]]
557
+  (2.6ms) commit transaction
558
+  (0.1ms) begin transaction
559
+ SQL (0.2ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:m2iOrAMcGYkcRDU3hK61+xAXD5UcWn6Sv6aviZu3dmoxJvNHFEpt"], ["created_at", "2015-05-14 21:20:24.808128"], ["updated_at", "2015-05-14 21:20:24.808128"]]
560
+  (0.8ms) commit transaction
561
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 121]]
562
+  (0.1ms) begin transaction
563
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:Gu1EgBv+Y3UfPS0AYsT5JiIuJreZJTreTKgIsd0Bmt8LJqr0TKmLecBkvyk="], ["created_at", "2015-05-14 21:20:24.817873"], ["updated_at", "2015-05-14 21:20:24.817873"]]
564
+  (0.7ms) commit transaction
565
+  (0.0ms) begin transaction
566
+ SQL (0.2ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:sDppXbZj0d0FqyVK28EBPsUlzmSlnI05ebeTaLsQCYqXOedqs0a4z8CXN9c="], ["created_at", "2015-05-14 21:20:24.821198"], ["updated_at", "2015-05-14 21:20:24.821198"]]
567
+  (0.8ms) commit transaction
568
+ Person Load (0.1ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 123]]
569
+  (0.1ms) begin transaction
570
+ SQL (0.4ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:++c6OStMtXYO+YMy+tc9JPYWietQgsX8VvozaPfSZ05wuv7YcKMMCXVN28Y="], ["created_at", "2015-05-14 21:20:44.790419"], ["updated_at", "2015-05-14 21:20:44.790419"]]
571
+  (2.5ms) commit transaction
572
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 124]]
573
+  (0.1ms) begin transaction
574
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:nMHTDhUIGZEs+u63oq9rSiSQoI/LBCmkk1evFjMSf6fcrQaF+w1s6uMW8G8="], ["created_at", "2015-05-14 21:20:44.803957"], ["updated_at", "2015-05-14 21:20:44.803957"]]
575
+  (0.8ms) commit transaction
576
+  (0.1ms) begin transaction
577
+ SQL (0.5ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:MKenXE1+kGrDFPw77d7ucDCL7gfchna4vGDSSORsAPZ1efH9VIFU"], ["created_at", "2015-05-14 21:22:10.668264"], ["updated_at", "2015-05-14 21:22:10.668264"]]
578
+  (2.2ms) commit transaction
579
+  (0.1ms) begin transaction
580
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:vXLVSKQbQ4wRFOhs3K7LeMF5mJrVT+K0mPMbc4mz0cbesI4vfkmh"], ["created_at", "2015-05-14 21:22:10.678196"], ["updated_at", "2015-05-14 21:22:10.678196"]]
581
+  (0.8ms) commit transaction
582
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 127]]
583
+  (0.1ms) begin transaction
584
+ SQL (0.4ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:4RcBlDUFzkC1JtYnjFMlNWJz+JM+rer7ZsbuYXXkMaWiVjB4w6RuxPixSdw="], ["created_at", "2015-05-14 21:22:10.689188"], ["updated_at", "2015-05-14 21:22:10.689188"]]
585
+  (0.8ms) commit transaction
586
+  (0.0ms) begin transaction
587
+ SQL (0.2ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:wjIZJ1EZlsTjWMmUL/Yz9bwK5JG9LB8KjbD11Y5m5a0D9us1G7abN9Ku2TA="], ["created_at", "2015-05-14 21:22:10.692635"], ["updated_at", "2015-05-14 21:22:10.692635"]]
588
+  (0.8ms) commit transaction
589
+ Person Load (0.1ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 129]]
590
+  (0.1ms) begin transaction
591
+ SQL (0.4ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:kP9O2iIXVW+aDtV7RJy3svyf9j2EBve1ueF1/8sN2pHOPWuNQ3Fg"], ["created_at", "2015-05-14 21:22:21.012467"], ["updated_at", "2015-05-14 21:22:21.012467"]]
592
+  (2.4ms) commit transaction
593
+  (0.1ms) begin transaction
594
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:W45hJR7Buzxzy8oHXb5fGu5ZQcNjYnQzhquni5LoweOYtQfai+9WWZ5kiVA="], ["created_at", "2015-05-14 21:22:21.025726"], ["updated_at", "2015-05-14 21:22:21.025726"]]
595
+  (0.9ms) commit transaction
596
+  (0.1ms) begin transaction
597
+ SQL (0.4ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:vn+mqI7Tdzn7SPQHbxLHTnxpj/tXgAKFA4cCqjQwTB3Ako53w9IfaN0FE9Q="], ["created_at", "2015-05-14 21:22:32.373549"], ["updated_at", "2015-05-14 21:22:32.373549"]]
598
+  (2.5ms) commit transaction
599
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 132]]
600
+  (0.1ms) begin transaction
601
+ SQL (0.4ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:ab57uA+Mcko5P4gJNzHkXY6QLMbfP3M2Wz+C7wNPNBLgR8FSufm6X8o/5t0="], ["created_at", "2015-05-14 21:22:32.386095"], ["updated_at", "2015-05-14 21:22:32.386095"]]
602
+  (0.7ms) commit transaction
603
+  (0.1ms) begin transaction
604
+ SQL (0.4ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:1V/qjY5pJW2tW/mY7/iNh3qMfKLodOYvf+ztvyHHYVRGuC2YgI9U"], ["created_at", "2015-05-14 21:22:32.394843"], ["updated_at", "2015-05-14 21:22:32.394843"]]
605
+  (0.7ms) commit transaction
606
+ Person Load (0.1ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 134]]
607
+  (0.1ms) begin transaction
608
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:/NGaEuf+uL17KHqcBINBYmlFfpL7K8qUj6OxPF7QSH2n3VxlBLFe"], ["created_at", "2015-05-14 21:22:32.400187"], ["updated_at", "2015-05-14 21:22:32.400187"]]
609
+  (0.8ms) commit transaction
610
+  (0.1ms) begin transaction
611
+ SQL (0.4ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:dk2ik3SYD3AOjs68gEQajxUR1wM1R/hEM3wtZ4cMtlhzoqIyvdoL"], ["created_at", "2015-05-14 21:22:43.186768"], ["updated_at", "2015-05-14 21:22:43.186768"]]
612
+  (2.5ms) commit transaction
613
+  (0.1ms) begin transaction
614
+ SQL (0.3ms) INSERT INTO "people" ("ssn_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["ssn_encrypted", "vault:v0:JUsrhAT7rm/4cgp+9D78NvC52u05MRXOXpZrybdQWxCXlmUOTKl1"], ["created_at", "2015-05-14 21:22:43.195993"], ["updated_at", "2015-05-14 21:22:43.195993"]]
615
+  (0.8ms) commit transaction
616
+ Person Load (0.2ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 137]]
617
+  (0.1ms) begin transaction
618
+ SQL (0.4ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:xNlqAkJNvgJDA9wC3p7ll+H8cUp06HnxIcrMMiW2QsYlk5hoX9bKMrtak5g="], ["created_at", "2015-05-14 21:22:43.209345"], ["updated_at", "2015-05-14 21:22:43.209345"]]
619
+  (0.6ms) commit transaction
620
+  (0.1ms) begin transaction
621
+ SQL (0.3ms) INSERT INTO "people" ("cc_encrypted", "created_at", "updated_at") VALUES (?, ?, ?) [["cc_encrypted", "vault:v0:RFvita+MR8n9bW+k+r/XBjSZL8bdIuYVVxCaG8QGExBAHMPhyrTc8ctxiW0="], ["created_at", "2015-05-14 21:22:43.213142"], ["updated_at", "2015-05-14 21:22:43.213142"]]
622
+  (0.7ms) commit transaction
623
+ Person Load (0.1ms) SELECT "people".* FROM "people" WHERE "people"."id" = ? LIMIT 1 [["id", 139]]
@@ -1,27 +1,41 @@
1
1
  require "spec_helper"
2
2
 
3
3
  describe Vault::Rails do
4
- it "encrypts attributes" do
5
- person = Person.create!(ssn: "123-45-6789")
6
- expect(person.ssn_encrypted).to be
7
- end
4
+ context "with default options" do
5
+ before(:all) do
6
+ Vault.sys.mount("transit", :transit)
7
+ Vault.logical.write("transit/keys/dummy_people_ssn")
8
+ end
8
9
 
9
- it "encrypts attributes with custom configuration" do
10
- person = Person.create!(credit_card: "1234567890111213")
11
- expect(person.cc_encrypted).to be
12
- end
10
+ it "encrypts attributes" do
11
+ person = Person.create!(ssn: "123-45-6789")
12
+ expect(person.ssn_encrypted).to be
13
+ end
13
14
 
14
- it "decrypts attributes" do
15
- person = Person.create!(ssn: "123-45-6789")
16
- person = Person.find(person.id)
15
+ it "decrypts attributes" do
16
+ person = Person.create!(ssn: "123-45-6789")
17
+ person = Person.find(person.id)
17
18
 
18
- expect(person.ssn).to eq("123-45-6789")
19
+ expect(person.ssn).to eq("123-45-6789")
20
+ end
19
21
  end
20
22
 
21
- it "decrypts attributes with custom configuration" do
22
- person = Person.create!(credit_card: "1234567890111213")
23
- person = Person.find(person.id)
23
+ context "with custom options" do
24
+ before(:all) do
25
+ Vault.sys.mount("credit-secrets", :transit)
26
+ Vault.logical.write("credit-secrets/keys/people_credit_cards")
27
+ end
28
+
29
+ it "encrypts attributes" do
30
+ person = Person.create!(credit_card: "1234567890111213")
31
+ expect(person.cc_encrypted).to be
32
+ end
33
+
34
+ it "decrypts attributes" do
35
+ person = Person.create!(credit_card: "1234567890111213")
36
+ person = Person.find(person.id)
24
37
 
25
- expect(person.credit_card).to eq("1234567890111213")
38
+ expect(person.credit_card).to eq("1234567890111213")
39
+ end
26
40
  end
27
41
  end
@@ -3,8 +3,8 @@ require "spec_helper"
3
3
  describe Vault do
4
4
  describe ".application" do
5
5
  it "returns the application" do
6
- Vault.instance_variable_set(:@application, "test")
7
- expect(Vault.application).to eq("test")
6
+ Vault.instance_variable_set(:@application, "dummy")
7
+ expect(Vault.application).to eq("dummy")
8
8
  end
9
9
 
10
10
  it "raises an error if unset" do
@@ -15,8 +15,8 @@ describe Vault do
15
15
 
16
16
  describe ".application=" do
17
17
  it "sets the value" do
18
- Vault.application = "test"
19
- expect(Vault.instance_variable_get(:@application)).to eq("test")
18
+ Vault.application = "dummy"
19
+ expect(Vault.instance_variable_get(:@application)).to eq("dummy")
20
20
  end
21
21
  end
22
22
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vault-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Seth Vargo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-13 00:00:00.000000000 Z
11
+ date: 2015-05-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -106,6 +106,7 @@ files:
106
106
  - Rakefile
107
107
  - lib/vault/encrypted_model.rb
108
108
  - lib/vault/rails.rb
109
+ - lib/vault/rails/testing.rb
109
110
  - lib/vault/rails/version.rb
110
111
  - spec/dummy/Rakefile
111
112
  - spec/dummy/app/models/person.rb