【#kintone100日チャレンジ】Day 14: コールセンター業務のメンタルヘルスに「禁止ワードマスキングプラグイン」を作ってみた
面倒解決エンジニアの森田ユウゴです。
台湾からお届けする「#kintone100日チャレンジ」の14 日目。
kintone hiveを横目に「日本のkintone hive行ってみたいな~」と思いながらのフリーランスチャレンジです。
本日は、ハラスメント相談窓口やコールセンター管理者向けの「禁止ワードマスキングプラグイン」を開発しました!
「禁止ワードマスキングプラグイン」について
🎯 なぜ開発したか?(現場の課題とベネフィット)
現場の「不」: コールセンターのクレーム対応や、人事のセクハラ・パワハラ・モラハラの相談記録において、顧客や対象者の「生々しい暴言」や「卑猥な言葉」をそのままテキストで残す必要があります。しかし、レコードを開くたびにその強烈なテキストが目に入ると、担当者や管理者が精神的ダメージ(二次被害)を受けてしまうという課題を想定しました。
導入後の世界(ベネフィット): 登録されたNGワードを自動で「****」に伏せ字化!必要な時だけクリックして内容を確認でき、再度クリックで隠すことができます。これにより、記録の正確性(生データ)を保ちつつ、担当者のメンタルヘルスを守り、安全で心理的負担の少ないシステム運用を実現します!
✨ これで出来ること(機能概要)
まずはこちらをご覧ください。
NGワードの自動マスキング: 設定画面で登録したキーワードがレコード詳細画面に含まれる場合、自動的に「****」とグレーの背景で隠されて表示されます。
クリックで表示切替(トグル機能): マスクされた部分をクリックすると元のテキストが表示され(赤文字でハイライト)、もう一度クリックすると再度マスキングされます。オリジナルデータは一切書き換えません。
しきい値による全体マスキング: 1つのフィールド内にNGワードが指定回数(例:3回)以上出現した場合、文章全体が不適切とみなしてフィールド全体を丸ごとマスキングします。
課題
現時点では下記のような課題が残っています。
詳細画面以外への未対応
レコード詳細画面の表示時のみDOMを書き換えてマスキングしているため、一覧画面や印刷画面には反映されません。「レコードを印刷して会議に持ち込む」といった運用をされている場合は、元のテキストがそのまま印字されてしまうため注意が必要です。
表記揺れや類似表現への対応限界
完全一致の文字列判定を行っているため、ひらがな・カタカナの違いや、間にスペースが入った隠語などの表記揺れについては判定できません。適宜NGワードリストを拡充していく運用カバーが必要です。
DOM操作のリスク
kintoneの仕様上APIが存在しない表示領域の取得(.control-value などのDOM操作)を行っているため、kintoneのアップデートによってクラス名が変わると動かなくなるリスクがあり、定期的な検証が必要です。
さいごに
明日もお楽しみに!
下記のブログもご覧ください!
👉 【#kintone100日連続チャレンジ】AIにkintoneカスタマイズを100%任せたらどこまでいけるか?現役フリーランスの「100 Days of kintone Hacks」始動!
👉 ココナラで「kintone有資格者が導入や運用の相談にのります」サービスを開始します!
2026/4/15追記…下記の通り、ソースコードとプロンプトについては公開を停止します。
#kintone100日チャレンジ 方針変更
— 森田ユウゴ@マジナライフ (@majinalife_blog) April 15, 2026
Githubの公開を停止します。
免責に書いてきた「ほぼ100%AI生成」のリスクが伝わらず、いつの間にか本番適用される危うさを察知しました。
また、私が100%AIで納品する人材だと思われるのも本意ではないので…
詳細は記事にて!👇https://t.co/5etpecPA8A
