Софтверные ключи предназначены для защиты хорошо тиражируемых продуктов. Фактически, некоторые классы задач для этих ключей подходят плохо - такие как возможность иметь уникальный шаблон для каждого пользователя, и возможность активации шаблона единственно пригодным серийников. В таких случаях речь обычно об очень дорогом ПО и небольшом количестве пользователей, аппаратные ключи как правило с этой задачей справляются лучше.
Главный паттерн использования софтверных ключей таков: у вас есть некоторая продуктовая линейка, скажем из трех продуктов - "Продукт Стандарт", "Продукт Профессиональный", "Совершенно другой продукт". Каждому из них вы назначаете номер (0, 1, 2) на сервере активации. Далее для каждого продукта вы назначаете некоторое количество серийных номер, и создаете один универсальный шаблон. Для каждого продукта. Причем в шаблоне, прописываете номер этого продукта.
В результате, у вас будет один универсальный шаблон для продукта, и активировать его можно будет только серийными номерами назначенными данному продукту. Кстати, с помощью обычного Guardant API вы можете после активации (и появление ключа с уникальным ID) писать в ключ произвольную информацию - включая алгоритмы и прочее.
Теперь рассмотрим вашу задачу: для каждого клиента уникальный шаблон со своими алгоритмами, который можно активировать только одним серийником. Если вы делаете так, то для каждого шаблона у вас своя уникальная версия программы, умеющая работать только с ключом созданным на основе этого шаблона. Строго говоря, каждая копия программы у вас уникальна и для каждой логично завести своой номер программы на сервере. Тогда у вас на сервере будет например несколько сотен (или тысяч продуктов), для каждого из них будет создан свой уникальный шаблон, и если вы каждому продукту на сервере ассоциируете единственный серийник, то только им можно будет активировать нужный шаблон.
Касательно API: непосредственно для создания и управления шаблонами (включая чтение специнформации) публичного API пока нет, и не могу сказать что оно в ближайших планах. В ближайшее время будет зарелизено API активации ключей. Кроме того, после активации ключа, его можно полноценно использовать с Guardant API.