Думать надо заранее. Раз уж ты такой весь предприниматель и на дядю не работаешь, то принимай на себя риски своих коммерческих решений. Кинут - в другой раз умнее будешь. Как бы и всё.
Никак. Тут конечно советов надают, мол, не работай с мудаками (и это верно) или без договора.
Если не согласятся посмотреть удаленно, как выше советовали, то (предварителеьо предупредив клиента) лей код на гитхаб под свободной лицензии и забудь про деньги. Считай уроком не работать с кем попало.
В нем и без обфускации часто не разберешься, но это верно для любого языка сложнее чем кирпич. Go - пример очень простого языка. Java такое же говно интрпретируемое как Java Script, если «декомпилировать» приложение на жабке, то там такая же дрисня будет как и выхлоп транспилятора Babel в JS… Те просто используй React/Vue и тп, там на выхлопе всегда нечитаемый кал, который не поддается реверс-инжинирингу
WebAssembly не предназначен для создания прогрессивных приложений на вуе или реакте. Он даже с DOMом работать не может. Это хрень для числодробилок, которая не будет прогоняться через оптимизатор V8, а значит изначально работать быстро, а не через время…
Обфускация + тайм бомба для твоего случая. Сделай, чтобы алгоритм начинал глючить через месяц. Не так, чтобы прям видно было, что это намеренно, но просто, к примеру, половину графика обрубало или явно неправильно рисовало. И в комментах к коду опиши ситуацию, что тебе не заплатили деньги. Человек, который сможет разобраться в этом, вероятно обойдётся компании ощутимо дороже, чем решить все проблемы с тобой. И даже если начнёт разбираться - есть шанс, что прочитав комментарий откажется от неэтичного заказа.
Т.е. подчеркну суть - тебе надо не защитить код (это на 100% невозможно), а сделать обман тебя дороже, чем честную работу с тобой.