Cloak

Hex VersionBuild StatusInline docs

Cloak makes it easy to use encryption with Ecto.

Features

Example

# in config/config.exs
config :cloak, Cloak.AES.CTR,
tag: "AES",
default: true,
keys: [
%{tag: <<1>>, key: :base64.decode("..."), default: true}
]
# in your model
defmodule MyApp.Model do
use Ecto.Model
use Cloak.Model, :encryption_version
schema "models" do
field :field_name, Cloak.EncryptedBinaryField
field :encryption_version, :binary
end
end
# Query
MyApp.Repo.one(MyApp.Model)
# => %MyApp.Model{field_name: "Decrypted value", encryption_version: <<"AES", 1>>}

Installation

Add cloak to your hex dependencies:

defp deps do
[{:cloak, "~> 0.1.0"}]
end

Documentation

See the hex documentation.