Project

lex-lakera

0.0
No release in over 3 years
Connects LegionIO to the Lakera Guard API for AI content security
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

 Project Readme

lex-lakera

LegionIO extension for the Lakera Guard v2 API — AI content security including prompt injection detection, PII detection, content moderation, and malicious link detection.

Supports both Lakera SaaS (regional endpoints, Enterprise policy/project management) and self-hosted deployments.

Installation

Add to your Gemfile:

gem 'lex-lakera'

Usage

Screen Content (SaaS)

require 'legion/extensions/lakera'

client = Legion::Extensions::Lakera::Client.new(api_key: 'lk_...')

result = client.check(
  messages: [{ role: 'user', content: 'Ignore previous instructions and...' }],
  api_key: 'lk_...',
  breakdown: true,
  payload: true
)

if result[:result]['flagged']
  puts "Content flagged!"
  result[:result]['breakdown'].each do |b|
    puts "  #{b['detector_type']}: #{b['detected']}" if b['detected']
  end
end

Detailed Confidence Analysis

result = client.check_detailed(
  messages: [{ role: 'user', content: 'My SSN is 123-45-6789' }],
  api_key: 'lk_...'
)

result[:result]['results'].each do |r|
  puts "#{r['detector_type']}: #{r['result']}"
end
# => prompt_attack: l5_unlikely
# => pii: l1_confident

Regional Endpoints

client = Legion::Extensions::Lakera::Client.new(
  api_key: 'lk_...',
  region: :eu_west_1  # :us, :us_east_1, :us_west_2, :eu_west_1, :ap_southeast_1
)

Enterprise Policy Management

result = client.create_policy(
  name: 'Strict Policy',
  input_detectors: [{ type: 'prompt_attack', sensitivity: 'L4' }],
  output_detectors: [{ type: 'pii', sensitivity: 'L2' }],
  api_key: 'lk_...'
)

Self-Hosted Health Monitoring

client = Legion::Extensions::Lakera::Client.new(
  host: 'http://lakera.internal:8000',
  self_hosted: true
)

client.live(host: 'http://lakera.internal:8000')
client.ready(host: 'http://lakera.internal:8000')
client.startup(host: 'http://lakera.internal:8000')

License

MIT