anchor.diff:      credentialsDb: conf/tinkergraph-empty.properties,
       credentialsDbLocation: data/credentials.kryo}}
   
  -This added configuration tells Gremlin Server to look for a gryo file at that location containing the data for the graph which it loads via standard `io` methods.  The limitation is that this read is only performed at the initialization of the server so therefore credentials remain static for the life of the server.
  +This added configuration tells Gremlin Server to look for a gryo file at that location containing the data for the graph which it loads via standard `io` methods.  The limitation is that this read is only performed at the initialization of the server so therefore credentials remain static for the life of the server.  In this case, `data/credentials.kryo` contains a single user named "stephen" with the imaginative password of "password".
  +
  +[source,text]
  +----
  +$ bin/gremlin-server.sh conf/gremlin-server-secure.yaml
  +[INFO] GremlinServer -
  +         \,,,/
  +         (o o)
  +-----oOOo-(3)-oOOo-----
  +
  +[INFO] GremlinServer - Configuring Gremlin Server from conf/gremlin-server-secure.yaml
  +...
  +[WARN] AbstractChannelizer - Enabling SSL with self-signed certificate (NOT SUITABLE FOR PRODUCTION)
  +[INFO] AbstractChannelizer - SSL enabled
  +[INFO] SimpleAuthenticator - Initializing authentication with the org.apache.tinkerpop.gremlin.server.auth.SimpleAuthenticator
  +[INFO] SimpleAuthenticator - CredentialGraph initialized at CredentialGraph{graph=tinkergraph[vertices:1 edges:0]}
  +[INFO] GremlinServer$1 - Gremlin Server configured with worker thread pool of 1, gremlin pool of 8 and boss thread pool of 1.
  +[INFO] GremlinServer$1 - Channel started at port 8182.
  +----
  +
  +To connect to Gremlin Server with `gremlin-driver`, set the `credentials` and `enableSsl` when constructing the `Cluster`.
  +
  +[source,java]
  +Cluster cluster = Cluster.build().credentials("stephen", "password")
  +                                 .enableSsl(true).create();
  +
  +If connecting with Gremlin Console, which utilizes `gremlin-driver` for remote script execution, use the provided `config/remote-secure.yaml` file when defining the remote.  That file contains configuration for the username and password as well as enablement of SSL from the client side.
   
   Serialization
   ^^^^^^^^^^^^^
  
positive.code: 
  IMPORTANT: Be sure to define an index on the `username` property, as this will be used for lookups.  If supported by the `Graph`, consider specifying a unique constraint as well.
  
  A quick way to get started with the `SimpleAuthenticator` is to use TinkerGraph for the "credentials graph".  Recall that TinkerGraph is an in-memory graph and therefore always starts as "empty" when opened by `GraphFactory`.  To allow TinkerGraph to be used in this "getting started" capacity, Gremlin Server allows for a TinkerGraph-only configuration option called `credentialsDbLocation`.
  
  [source,yaml]
  authentication: {
  
negative.code: Security
  ^^^^^^^^
  
  Gremlin Server provides for several features that aid in the security of the graphs that it exposes.  It has built in SSL support and a pluggable authentication framework using link:https://en.wikipedia.org/wiki/Simple_Authentication_and_Security_Layer[SASL] (Simple Authentication and Security Layer).  SSL options are described in the configuration settings table above, so this section will focus on authentication.
  
  By default, Gremlin Server is configured to allow all requests to be processed (i.e. no authentication).  To enable authentication, Gremlin Server must be configured with an `Authenticator` implementation in its YAML file.  Gremlin Server comes packaged with an implementation called `SimpleAuthenticator`.  The `SimpleAuthenticator` implements the `PLAIN` SASL mechanism (i.e. plain text) to authenticate a request.  It validates username/password pairs against a graph database, which must be provided to it as part of the configuration.
  
  [source,yaml]
  authentication: {
  