Manager.prototype.generateId = function (data) {
  var rand = new Buffer(15); // multiple of 3 for base64
  this.sequenceNumber = (this.sequenceNumber + 1) | 0;
  rand.writeInt32BE(this.sequenceNumber, 11);
  crypto.randomBytes(12).copy(rand);
  return rand.toString('base64').replace(/\//g, '_').replace(/\+/g, '-');
};
The software uses insufficiently random numbers or values in a security context that depends on unpredictable numbers.