US Legal Brain

AI-Powered Legal Assistant

Bilingual legal consultation and document drafting for US immigrants & Chinese communities. Available 24x7, no attorney fees.

⚖️
24x7 Available
🌐
Bilingual
📄
50+ Document Types
💰
No Attorney Fees
⚠️ Legal Disclaimer: This is an AI information service, not a law firm. Content does not constitute legal advice. Consult a licensed attorney for specific matters.

How It Works

1

Ask Your Question

Type your legal question in Chinese or English. Our AI understands both.

2

Get AI-Powered Answer

Receive detailed legal guidance based on US law, tailored to your state.

3

Draft & Download

Generate professional legal documents ready for use.

Simple, Transparent Pricing

Free
$0
forever
  • 1 question/day (guest)
  • 3 questions (registered)
  • Bilingual support
  • Basic legal guidance
Document Drafting
$19.90
per document
  • Lease agreements
  • Divorce settlements
  • Employment contracts
  • Wills, NDAs, & more
'); win.document.close(); setTimeout(function(){win.print();},500); } function copyDoc(){ var text=document.getElementById('docOutput').textContent; if(!text)return; navigator.clipboard.writeText(text).then(function(){ var btn=document.getElementById('copyDocBtn'); var orig=btn.textContent; btn.textContent='✓ '+orig; setTimeout(function(){btn.textContent=orig;},2000); }); } function handleFreePlan(){ if(token){switchTab('consult');}else{showAuth('register');} } function handleVipPlan(){ if(!token){showAuth('register');return;} var msg=lang==='zh'?'即将跳转到PayPal完成VIP月度订阅支付($9.90/月)。付款后系统将自动开通VIP,如未及时生效请联系客服。':'You will be redirected to PayPal for VIP subscription ($9.90/mo). VIP will be activated automatically after payment.'; alert(msg); var ppUrl='https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=13454559188@139.com&item_name=US+Legal+Brain+VIP+Monthly&amount=9.90¤cy_code=USD&return=https://uslegalbrain.cc&cancel_return=https://uslegalbrain.cc¬ify_url=https://uslegalbrain.cc/api/payment/paypal-ipn'; if(user&&user.email){ppUrl+='&custom='+encodeURIComponent(user.email);} window.open(ppUrl, '_blank'); } function handleDocPlan(){ if(!token){showAuth('register');return;} if(user&&user.isVip){ var msg=lang==='zh'?'VIP免费文书已用完,额外文书$9.95/份。即将跳转PayPal支付。':'VIP free document used. Additional: $9.95 via PayPal.'; alert(msg); window.open('https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=13454559188@139.com&item_name=US+Legal+Brain+Document+VIP&amount=9.95¤cy_code=USD&return=https://uslegalbrain.cc&cancel_return=https://uslegalbrain.cc¬ify_url=https://uslegalbrain.cc/api/payment/paypal-ipn', '_blank'); }else{ var msg=lang==='zh'?'文书起草$19.90/份。即将跳转PayPal支付。付款后联系客服开通。':'Document drafting: $19.90 via PayPal. Contact support after payment.'; alert(msg); window.open('https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=13454559188@139.com&item_name=US+Legal+Brain+Document+Drafting&amount=19.90¤cy_code=USD&return=https://uslegalbrain.cc&cancel_return=https://uslegalbrain.cc¬ify_url=https://uslegalbrain.cc/api/payment/paypal-ipn', '_blank'); } } function viewDocDetail(el){ var content=decodeURIComponent(el.dataset.content); var w=window.open('',''); w.document.write('Document - US Legal Brain'); w.document.write('
'+content.replace(/');
  w.document.write('
US Legal Brain (uslegalbrain.cc) - AI-generated document. Not legal advice. Consult a licensed attorney.
'); w.document.write(' '); w.document.close(); } async function genDoc(){ const docType=document.getElementById('docType').value; const desc=document.getElementById('docDesc').value.trim(); const state=document.getElementById('docState').value; if(!desc){alert(tr('fillDesc'));return} if(!token){showAuth('login');return} const btn=document.getElementById('docBtn'); btn.disabled=true;btn.textContent=lang==='zh'?'生成中...':'Generating...'; document.getElementById('docOutput').style.display='none';document.getElementById('docActions').style.display='none'; try{ const r=await fetch('/api/document',{method:'POST',headers:{'Content-Type':'application/json','Authorization':'Bearer '+token},body:JSON.stringify({docType,description:desc,language:lang,state})}); const d=await r.json(); if(!r.ok){ if(d.needPayment){ var msg=lang==='zh' ? '文书起草需要VIP会员或付费。VIP每月$9.90含1份免费文书,非VIP$19.90/份。' : 'Document drafting requires VIP membership ($9.90/mo, 1 free doc) or $19.90 per document.'; alert(msg); switchTab('profile'); } else { alert(d.error||'Error'); } }else{ document.getElementById('docOutput').style.display='';document.getElementById('docActions').style.display='flex'; document.getElementById('docOutput').textContent=d.document; if(user){ if(d.isVip!==undefined){user.isVip=d.isVip;user.vipExpires=d.vipExpires} user.freeCount=d.remainingFreeCount; localStorage.setItem('user',JSON.stringify(user)); } updateUI(); } }catch(e){alert(tr('netErr'))} btn.disabled=false;updateUI(); } function resetChat(){ document.getElementById('chatMessages').innerHTML='
⚖️
'+tr('empty')+'
'; if(token)fetch('/api/consult/reset',{method:'POST',headers:{'Authorization':'Bearer '+token}}); } function escapeHtml(s){return String(s).replace(/&/g,'&').replace(//g,'>')} function formatMarkdown(s){ s=escapeHtml(s); s=s.replace(/```([\s\S]*?)```/g,'
$1
'); s=s.replace(/### (.*)/g,'

$1

'); s=s.replace(/## (.*)/g,'

$1

'); s=s.replace(/# (.*)/g,'

$1

'); s=s.replace(/\*\*(.*?)\*\*/g,'$1'); s=s.replace(/\*(.*?)\*/g,'$1'); s=s.replace(/\n/g,'
'); return s; } document.getElementById('chatInput').addEventListener('keydown',function(e){ if(e.key==='Enter'&&!e.shiftKey){e.preventDefault();sendConsult()} }); function showForgotPassword(){closeAuth();document.getElementById('forgotModal').style.display='flex';document.getElementById('forgotStep1').style.display='';document.getElementById('forgotStep2').style.display='none';document.getElementById('forgotError').textContent='';document.getElementById('forgotSuccess').style.display='none';document.getElementById('forgotEmail').value='';document.getElementById('forgotStep').textContent=tr('forgotStep1');}function closeForgot(){document.getElementById('forgotModal').style.display='none'}async function getSecurityQuestion(){const email=document.getElementById('forgotEmail').value.trim();if(!email){document.getElementById('forgotError').textContent=tr('forgotErrEmail');return}document.getElementById('forgotError').textContent='';document.getElementById('forgotNextBtn').disabled=true;try{const r=await fetch('/api/auth/forgot-password',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({email})});const d=await r.json();if(!r.ok){document.getElementById('forgotError').textContent=d.error||'Error';return}document.getElementById('forgotQuestion').textContent=d.securityQuestion;document.getElementById('forgotStep1').style.display='none';document.getElementById('forgotStep2').style.display='';document.getElementById('forgotStep').textContent=tr('forgotStep2');}catch(e){document.getElementById('forgotError').textContent=tr('netErr')}document.getElementById('forgotNextBtn').disabled=false;}async function resetPassword(){const email=document.getElementById('forgotEmail').value.trim();const answer=document.getElementById('forgotAnswer').value.trim();const newPwd=document.getElementById('forgotNewPwd').value;if(!answer||!newPwd){document.getElementById('forgotError').textContent=tr('forgotErrAnswer');return}document.getElementById('forgotError').textContent='';document.getElementById('forgotResetBtn').disabled=true;try{const r=await fetch('/api/auth/reset-password',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({email,securityAnswer:answer,newPassword:newPwd})});const d=await r.json();if(!r.ok){document.getElementById('forgotError').textContent=d.error||'Error';return}document.getElementById('forgotSuccess').style.display='';document.getElementById('forgotSuccess').textContent=tr('forgotSuccess');document.getElementById('forgotStep2').style.display='none';document.getElementById('forgotStep').textContent='';setTimeout(function(){closeForgot();showAuth('login')},2000);}catch(e){document.getElementById('forgotError').textContent=tr('netErr')}document.getElementById('forgotResetBtn').disabled=false;}fetch('/api/pricing').then(r=>r.json()).then(d=>{pricingData=d;if(user)isGuest=false;updateUI()}).catch(()=>{if(user)isGuest=false;updateUI()});