OneAIFW(aifw)はFunstory.aiによって開発されたオープンソースツールで、大規模言語モデル(LLM)におけるデータプライバシーの問題に対処することを目的としています。現在のLLMアプリケーションでは、ユーザが個人を特定できる情報(PII)や企業秘密を含むテキストをクラウドモデル(ChatGPT、Claudeなど)に送信して処理する必要があることが多く、プライバシー漏洩の重大なリスクとなっています。oneAIFWは、「先制性の原則」に従うことでこの問題を解決します:データは、ユーザーが管理する環境を離れる前に安全でなければなりません。oneAIFWは中間層の「ファイアウォール」として機能し、LLMへのリクエストをローカル(または管理されたサーバー)でブロックします。
ツールの中核となる作業メカニズムは非常に直感的だ:「マスク」と「復元」。.リクエストが外部のLLMに送信される前に、OneAIFWは自動的にテキスト内の機密情報(名前、電話番号、電子メールアドレスなど)を識別し、匿名のプレースホルダに置き換えます。LLMが結果を返すと、プレースホルダを元のデータに正確に復元します。このプロセスは、LLMサービスプロバイダにとっては透過的であり、デセンシティブ化されたデータしか見ることができないため、ソースからのセンシティブなデータの漏えいを排除することができます。oneAIFWは、コアエンジンを書くために高性能なZigとRustを使用し、WebAssembly(WASM)をサポートしています。これは、サーバーサイドで効率的に実行できるだけでなく、ユーザーのブラウザで直接オフラインで実行できることを意味し、真のエンドサイドゼロトラストプライバシーを実現します。真のエンドサイド・ゼロトラスト・プライバシー保護を実現。

機能一覧
- 双方向プライバシー・パイプライン提供
mask(シールド)とrestore(復元)2つのコア・インターフェース。送信前に、センシティブなエンティティを一般的なラベルに置き換える(例<PERSON>)、受信時にラベルを元の内容に戻す。 - 高精度のPII認識高性能な正規表現(Rust regexベース)と名前付きエンティティ認識(NER)モデルを組み合わせた組み込みのハイブリッド認識エンジンで、人名、地名、連絡先などの機密情報を正確にキャプチャします。
- 多言語およびクロスプラットフォームのサポート::
- コアコア・ライブラリはZigとRustで書かれており、非常に軽量で高性能です。
- Pythonバインディング提供
aifw-pyHuggingFaceトランスフォーマーのエコシステムと互換性があり、バックエンド・サービスの統合に適しています。 - JavaScript/WASMバインディング提供
aifw-jstransformers.jsと組み合わせることで、バックエンドのサーバーを必要とせず、ブラウザ側で直接、完全な減感作プロセスを実行することができます。
- 柔軟な展開スタンドアロンのHTTPサービス(FastAPI/Presidioベース)、ライブラリとして既存のコードに統合、あるいはブラウザのプラグインとして動作します。
- カスタム設定ブロックルール、無視リスト、YAML設定ファイルによる検出モデルのカスタマイズをサポートします。
- ゼロトレース処理すべての処理はメモリ上で行われ、ユーザーデータは永続的に保存されない。
ヘルプの使用
OneAIFWは "軽量 "かつ "ポータブル "に設計されています。本番またはローカル開発でツールを使用できるようにするため、環境準備、コンパイル、インストールから実際のコード呼び出しまでの全プロセスを以下に詳しく説明します。
I. 環境の準備と設置
OneAIFWのコアはZig言語で書かれており、Rustコンポーネントを統合しているため、適切なコンパイル・ツールチェインを準備する必要があります。
1.基本ツールチェーンの取り付け
作業を始める前に、以下のツールがシステムにインストールされていることを確認してください:
- ジグ・コンパイラバージョンは
0.15.2Zigのウェブサイトからダウンロードし、システム環境変数PATHに追加することができます。Zigのウェブサイトからダウンロードし、システム環境変数PATHに追加することができます。コマンドを確認してください:zig version. - サビツールチェーン推奨設置場所
stableバージョンを追加する必要があります。WASMバージョンをコンパイルする必要がある場合は、ターゲットも追加する必要があります。- 錆をインストールする:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh - WASMのサポートを追加:
rustup target add wasm32-unknown-unknown
- 錆をインストールする:
- Node.js & pnpm(JS開発のみ必須):Node.js 18+、pnpm 9+。
- パイソン(Pythonでの開発時のみ必要): Python 3.10+.
2.ソースコードの入手とコアライブラリのコンパイル
GitHubからリポジトリをクローンすることから始めよう:
git clone https://github.com/funstory-ai/aifw.git
cd aifw
Zigを使ってコアライブラリを構築する(NativeとWASMの両製品):
# 在项目根目录下执行
zig build
# 如果需要运行单元测试以确保环境正常
zig build -Doptimize=Debug test
このステップでは aifw スタティック・ライブラリとダイナミック・ライブラリは、高水準言語呼び出しのためのものである。
II.Python環境での使用(バックエンドの統合)
もしあなたがAIアプリケーションのバックエンドにプライバシーファイアウォールを統合しようとしているPython開発者なら、以下の手順に従ってください。
1.依存関係のインストール
Pythonバインディングディレクトリに移動し、依存関係をインストールします:
cd libs/aifw-py
# 建议创建虚拟环境
python -m venv .venv
source .venv/bin/activate
pip install -e .
2.コア・コードの呼び出しの例
次のコードは、ファイアウォールをロードし、機密情報を含むテキストを "desensitise "および "restore "する方法を示している。
from aifw import AIFirewall
# 初始化防火墙,加载默认配置
fw = AIFirewall()
# 模拟用户输入的敏感文本
user_prompt = "请帮我联系张三,他的电话是 13800138000,我们要讨论关于 ProjectX 的秘密。"
# 步骤1:屏蔽(Mask)
# firewall 会自动识别 PII 并替换,同时返回一个 session 对象用于后续还原
masked_text, session_id = fw.mask(user_prompt)
print(f"发送给LLM的文本: {masked_text}")
# 输出示例: "请帮我联系<PERSON_1>,他的电话是<PHONE_NUMBER_1>,我们要讨论关于<ORG_1>的秘密。"
# 注意:此时真实数据从未离开本地内存
# ... 模拟将 masked_text 发送给 LLM,并获取回复 ...
# 假设 LLM 回复了包含占位符的内容:
llm_response = "好的,我已经记下了<PERSON_1>的电话<PHONE_NUMBER_1>,关于<ORG_1>的事项会保密。"
# 步骤2:还原(Restore)
# 使用之前的 session_id 将占位符还原为真实信息
final_response = fw.restore(llm_response, session_id)
print(f"展示给用户的文本: {final_response}")
# 输出: "好的,我已经记下了张三的电话 13800138000,关于 ProjectX 的事项会保密。"
III.JavaScript/ブラウザ環境での使用(フロントエンド統合)
OneAIFWの威力は、データをサーバーに送信することなく、ブラウザで直接実行し、減感作できることだ。
1.JS SDKのコンパイル
# 安装依赖
pnpm -w install
# 构建 JS 库(会自动处理 WASM 和 模型文件)
pnpm -w --filter @oneaifw/aifw-js build
2.フロントエンド・コールの例
あなたのウェブ・プロジェクト(例えば 反応 またはVue)を導入した。 aifw-js.
import { AIFirewall } from '@oneaifw/aifw-js';
async function protectData() {
// 初始化防火墙(会自动加载 WASM 和 浏览器端的小型 NER 模型)
const firewall = await AIFirewall.create();
const text = "我的邮箱是 alice@example.com";
// 1. Mask
const result = await firewall.mask(text);
console.log(result.masked); // 输出: "我的邮箱是 <EMAIL_1>"
// 模拟 AI 处理过程...
const aiOutput = `已向 <EMAIL_1> 发送邮件`;
// 2. Restore
const final = await firewall.restore(aiOutput, result.session);
console.log(final); // 输出: "已向 alice@example.com 发送邮件"
}
ウェブデモの実行
直感的なウェブ・デモ・アプリケーションが用意されているので、直接実行することができる:
cd apps/webapp
pnpm dev
ブラウザーを開いて、コンソール出力のローカルアドレス(通常は http://localhost:5173).このインターフェイスでは、左の入力ボックスに機密情報を含む任意のテキストを入力し、[処理]をクリックして可視化することができます:
- PII分析結果どのエンティティを識別するか。
- マスクド・プロンプト実際に送信されるテキストはどのようなものか。
- レスポンスの回復最終的に修復された姿。
V. 高度な設定
これを行うには aifw.yaml または環境変数を設定して動作を調整する:
AIFW_MODELS_DIRNER モデルの保存パスを指定します。AIFW_API_KEY_FILELLM転送サービスを使用する場合は、API Keyを設定してください。- カスタム正規表現ソースコードのConfigurationセクションで、特定の機密書式(プロジェクト指定の社内書式など)を認識するための正規表現を追加することができます。
これらのステップに従うことで、OneAIFWを最新のAIアプリケーションスタックに統合し、「データは利用可能だが見えない」高度なプライバシー保護を可能にすることができます。
アプリケーションシナリオ
- 社内ナレッジベースQ&A
パブリッククラウドのLLMベースのナレッジベースアシスタントを使用する場合、企業の従業員は顧客リストや財務データを扱うことがよくあります。OneAIFWを導入すると、従業員の質問に含まれる機密性の高いエンティティは、GPT-4などのモデルに送信される前に自動的に置き換えられ、モデルの回答ロジックに影響を与えることなく、企業のコアデータがイントラネットから流出しないようになります。 - GDPR/CCPAコンプライアンス開発
欧米市場向けのAIアプリケーションは、厳格なデータプライバシー規制に準拠する必要があります。開発者はOneAIFWを使用することで、ユーザー入力からPII(個人を特定できる情報)を自動的にフィルタリングすることができるため、入力ごとに複雑なクレンジング・ルールを手作業で記述する必要がなくなり、法令遵守要件を迅速に満たすことができます。 - ブラウザ側プライバシー・プラグイン
ユーザーのウェブバージョンで動作するブラウザ拡張機能の開発 チャットGPT もしかしたら クロード リクエストボックスが開かれると、リクエストボックスの内容は自動的に傍受され、ウェブページに入力される前にローカルで減感されます。これにより、公式ウェブバージョンのサービスを使用する場合でも、ユーザーのプライバシーが保証されます。 - 医療および法的文書作成支援
医療記録や法的な契約を扱う場合、文書には非常に機密性の高い名前やID番号が多数含まれます。OneAIFWを使用することで、AIが文書の構造や文脈を維持したまま、モデルサービスプロバイダに患者や顧客のプライバシーが漏洩することを心配することなく、文書のタッチアップや要約を支援することができます。
品質保証
- OneAIFWはAIの反応を遅くしますか?
OneAIFWは高度に最適化されており、コアレイヤーはZig/Rustで書かれているため、非常に高速(マイクロ秒)な処理が可能である。主なレイテンシは通常NERモデルの推論に由来するが、軽量モデル(例えばneurobert-mini)、この遅延は通常ミリ秒のオーダーであり、LLMのネットワーク要求と生成時間に比べればほとんど無視できる。 - どのような機密情報の認識に対応していますか?
人名、地名、組織名(NERモデルで識別)、メールボックス、電話番号、ID番号、クレジットカード番号(正規表現で識別)など、一般的なPIIタイプがデフォルトでサポートされています。ユーザーは正規表現をカスタマイズして認識タイプを拡張することもできます。 - LLMのレスポンスにプレースホルダーが含まれていない場合は?
LLMがプレースホルダを欠いたコンテンツを生成している場合(たとえば<PERSON_1>)、リストアステップは対応するオリジナルメッセージを取得しません。しかし、OneAIFWはプロンプトを設計する際にプロンプトの単語を最適化し、プレースホルダをそのまま維持するようにLLMを誘導します。ほとんどのQ&Aや要約のシナリオでは、LLMはこれらのトークンをうまく保存します。 - データはOneAIFWのサーバーに保存されますか?
いいえ。OneAIFWは純粋にツールライブラリまたはローカルサービスであり、Funstory.aiは集中型の傍受サーバーを運営していません。すべてのデータ処理は、お客様のデプロイされたサーバーのメモリ内またはユーザーのブラウザのメモリ内で行われ、処理が終了するとデータは破棄されます。
































