
“A successful integration is one that I don’t have to sit on to use and that can alert us with a minimal amount of false positives. That’s what we have with Castle.”
KEN PICKERING
VP OF ENGINEERING
Learn from your users. Continuous user feedback trains the machine learning based on approved or “good” behavior from your users.
No lockouts, complaints, or drops in your core business metrics. Orchestrate and automate a process that gives security and customer service a hand.
Make better decisions with transparent insights and context into every threat signal, risk score, and event tracked per device within a user’s account.
Align risk with your business objectives. Create granular risk policies with customized logic, risk scores, and responses based on custom scenarios.
KEN PICKERING
VP OF ENGINEERING
STEVEN OU
CHIEF TECHNOLOGY OFFICER
verdict = castle.authenticate(
event: '$login.succeeded',
user_id: 'user1234'
)
puts verdict[:action] # => "allow", "challenge" or "deny"
CastleContext context = castle.contextBuilder()
.fromHttpServletRequest(request)
.build();
Verdict verdict = castle.client().authenticate(
CastleMessage.builder("$login.succeeded")
.context(context)
.userId("user1234")
.build()
);
verdict.getAction()
$verdict = Castle::authenticate(array(
'event' => '$login.succeeded',
'user_id' => 'user1234'
));
echo $verdict->action;
verdict = castle.authenticate({
'event': '$login.succeeded',
'user_id': 'user1234'
})
print(verdict['action']);
const response = await castle.authenticate({
event: EVENTS.LOGIN_SUCCEEDED,
user_id: "user1234",
context: Castle.getContext(request),
});
console.log(response.action);
var result = await castle.Authenticate({
Event = Events.LoginSucceeded,
UserId = "user1234",
Context = Context.FromHttpRequest(Request)
});
Console.WriteLine(result.Action);
Protecting your company is now simpler with Cloudflare.