これはGemma 4 Challengeへの提出です:Gemma 4で作成
##私たちが作ったもの
過去の就職シーズン、友人が就職の内定通知書を持ってきた。彼は喜んでいた——初めての本物の内定だ。私は条項3を読んだ。3年未満で辞めると、会社に20万ルピーの借金を負うと書いてあった。彼はその存在に全く気づいていなかった。彼はほとんど署名した。3年間拘束され、どうしても抜け出せない状況になっていただろう。彼は開発者だ。それは彼のキャリアの初期の全てだった。
彼は一人じゃない。毎年、数千人の学生が就職約款、インターンシップ契約、賃貸契約にサインするが、それらに同意している内容を理解していない。言葉遣いは意図的に複雑だ。罰則は条項4、条項7、条項11に隠されている。そしてほとんどの人——特に新卒——には、法律家に相談できる人はいない.
それがFinePrintを開発した理由だ。
FinePrintは、Gemma 4によって動力付けられたオープンソースのAI契約保護ツールです。写真、PDF、または任意の契約テキストをアップロードします。FinePrintはそれを読み取り、すべての落とし穴を見つけ、何が危険か、交渉すべき点、そして絶対にサインしないでくださいと伝えます.
あなたが得るもの:
- 🔴 リスクスコア (0–100) — 契約の客観的な危険レベル
- 🟡互換性スコア — 契約があなたの個人的な目標とどの程度一致するか
- ⚖️ 最終的な結論 — 採用 / 資金調達 / 拒否と直接的な根拠
- すべての赤旗に関する平易な英語の説明
- すべての危険な条項に対するより安全な提案された改訂案
- 各条項ごとに実行可能な交渉のヒント
- 送信準備完了のパーソナライズされた交渉メール
- シェア可能なレポートリンク + ダウンロード可能なPDF
- 契約書比較 — v1とv2をアップロードし、何が変わったかを見る
これはドキュメントリーダーではありません。これは契約保護エンジンです。ドキュメントを読むと、その内容を知ります。FinePrintは、あなたの特定の状況にとって意味すること、会社があなたから何を取ろうとしていること、そして何と言い返すべきかを知ってくれます。
## デモ
🔗 Live: https://tarkashlabs-fineprint.vercel.app
自分で試してみたいですか?ライブアプリにアクセスして、「Campus Bond」を「サンプルを試す」の下でクリックします。要件を入力して「分析」を押します.
本物の詐欺的インターンシップ契約でFinePrintが返したものはこちらです.
🔴 リスクスコア: 98 / 100 — 危険
🔴 兼容性: 20 / 100 — 低い一致
❌ 判決: 否定
契約はすべてのユーザーの要望に違反しています——未払いのポジション、
個人のプロジェクトのIP所有権、1億ルピーの保証金罰
強制労働時間超過と、18ヶ月の非競合条項。
FinePrintもまたあります比較モード — 元の契約書と修正された契約書をアップロードし、Gemma 4はどの部分が改善されたか、まだ危険な部分は何か、そして新しい部分は何かを正確に教えてくれます.
## コード
🐙 GitHub: https://github.com/Tarkash-Labs/FinePrint
Frontend: React + Vite + Tailwind CSS
Backend: Python + FastAPI + async SSE streaming
AI: Gemma 4 via Google AI Studio
Deploy: Vercel + Render
バックエンドは~650行の非同期Pythonです。Gemma 4がそれらを処理するたびに、結果が一文一文ストリーミングされます—赤旗は長い待ち時間の後にではなく、リアルタイムに表示されます。すべてのレポート状態はgzip圧縮を使用した無状態の共有URLに保存されます—データベースも、サーバーサイドのストレージもありません.
FinePrintが機能する核心的な部分はこちらです—Gemma 4に同時に契約とユーザーの個人的な目標を送るプロンプトです:
def _build_analysis_prompt(contract_label: str, focus_areas: str, requirements: str) -> str:
requirements_text = requirements.strip() or "None provided."
return f"""
You are a ruthless, detail-oriented legal expert specializing in {contract_label} contracts. Your job is to protect the user.
Analyze this contract and return a JSON with exactly these fields:
{{
"risk_score": <integer 0-100>,
"compatibility_score": <integer 0-100>,
"verdict": "ACCEPT" | "NEGOTIATE" | "REJECT",
"verdict_reason": "<1-2 sentence explanation referencing requirements and clauses>",
"requirement_breakdown": [
{{"requirement": "<specific user requirement>", "met": true/false, "explanation": "<why it was or wasn't met>"}}
],
"red_flags": [
{{
"clause_title": "...",
"clause_text": "<EXACT text from the contract>",
"plain_english_explanation": "<Briefly state the risk>",
"negotiation_tip": "<Actionable advice on what the user should ask to change>",
"suggested_rewrite": "<Provide a safer, alternative 1-2 sentence rewrite for this clause that the user can propose>",
"severity": "high|medium|low"
}}
],
"safe_clauses": [{{"clause_title": "...", "plain_english_explanation": "..."}}]
}}
CRITICAL RULES:
1. Return ONLY valid JSON. No preamble. No markdown blocks.
2. DETECT ALL RED FLAGS. Do not summarize them into one. If there are 5 bad clauses, list 5 red flags.
3. You MUST extract the exact original text for "clause_text".
4. The "risk_score" is objective based on standard legal risks. Focus heavily on: {focus_areas}.
5. The "compatibility_score" MUST directly reflect the User Requirements below. If a requirement is completely violated, score drops.
User Requirements to evaluate against:
{requirements_text}
Verdict guidance:
- ACCEPT when risk <= 30 and compatibility >= 70.
- REJECT when risk >= 61 or compatibility <= 30.
- Otherwise NEGOTIATE.
""".strip()
この単一のプロンプトがFinePrintの出力をパーソナライズし、一般的ではない理由です。Gemma 4は契約書とユーザーの人生の目標を同時に読み取ります
## Gemma 4の使用方法
モデルのルーティングは実際のテストの後で意図的に決定されたものであり、デフォルトの選択ではありません
ステップ1 — Gemma 4 MoE → 多様なモードOCR
ユーザーが写真やPDFをアップロードすると、MoEモデルはドキュメント画像を直接読み取り、生テキストを抽出します。ユーザーは携帯電話で実際の印刷紙の物理的な契約書を写真に撮り、それをアップロードできます。Gemma 4のネイティブな多モーダルビジョンが残りの部分を処理します。手動のコピー&ペーストは不要です。脆いサードパーティOCRライブラリは不要です.
このステップには法的な論理的思考は必要ありません。高速で正確な画像読み取りが必要です。MoEアーキテクチャが適しているのです。
ステップ2 — Gemma 4 Dense 31B → 考えが必要なすべてのこと
すべての法的論理はDense 31Bで動作しています — 条文分類、リスクスコアリング、互換性分析、平易な英語での説明、提案された改稿、交渉のヒント、そしてパーソナライズされた交渉メール。
私たちは明示的にMoEを法的分析のためにテストしました。5つの重大な違反がある契約では、1つの一般的な赤旗を返しました。Dense 31Bは全ての5つを返しました——正確な条項テキスト、深刻度評価、交渉のヒント、そして提案された改訂案を含めました.
法的な論理には最も能力のあるモデルが必要です。私たちはそれが重要な場面で使用します.
互換性スコア——FinePrintが他のすべてのドキュメントAIと違うものです
分析前に、FinePrintはユーザーの個人的な要望を尋ねます——滞在予定の期間、サイドプロジェクトが必要かどうか、最低賃金、引っ越しの好みです。これらは契約テキストと共にDense 31Bプロンプトに入ります。
モデルは両方を同時に読み取り、一致度を判断します。同じIP割り当て条項は、6ヶ月後に退職を計画している人と5年間のキャリアを計画している人にとっては非常に異なるスコアを示します。ルールベースのシステムではこれをできない。Gemma 4ならできる。
出力は「この条項はリスクがある」とはなりません。「この条項はあなたにとってリスクがある」となります」です」
問題 FinePrintが実際に解決している問題
法的手厚生の格差は構造的なものです。お金がある人は弁護士がいます。他のすべての人は手に入れたものをサインします。
ハービーAIは、LLMが法的分析を変革できることを証明しました——エリート法律事務所をサービスすることで715百万ドルの価値があります。FinePrintは同じ能力を持ち、その事務所が決してサービスしない人々のために無料にします。
インドのキャンパス就職保証は毎年数十万人の学生に影響を与えます。その多くは以前一度も法律文書を読んだことがありません。多くの学生は、法的に破綻できないと知らずに保証書に署名し、数年後、好きでない仕事を辞めようとしたときにそれを知ります。
FinePrintは、法律相談が速報でない人々の最初の防衛線です。それは法律相談を置き換えるわけではありません—それぞれの分析の下部にはその理由で免責事項があります—しかし、それは人々が何かをサインする前に正しい質問をするために必要な意識を与えます.
次に何がありますか
FinePrintは今日、学生や若手開発者を害悪な契約から守っています。同じGemma 4アーキテクチャはレンタルリース、フリーランスのNDA、VCの条項書にもスケールします——私たちはすでにすべての7つの契約タイプをサポートしています。長期的な目標:あなたが開くどんな文書にも赤い警告を表示するブラウザ拡張機能と、他のアプリが統合できるAPI。法的知識のギャップは広大です。私たちはまだ始めたばかりです.
Tarkash Labsによって構築されています
@dj29 & @yug_vasava


















