Я делаю примерно как и ты.
Храню данные на своих серверах, при запросе данных проверяется активна ли лицензия. Обычно это JWT, отправляю данные в открытом виде, так как JWT подписан. Как кончается срок валидности JWT, то клиент(скрипт BAS) вынужден отправлять повторно данные авторизации и опять будет проверена лицензия.
Преимущества хранения данных на моем сервере - после окончания лицензии доступ к данным тоже будет потерян, если лицензия не продлена.
Еще есть варианты накрыть сверху упаковщиком со своим лицензированием, я тоже так делал.
И тем не менее ИМХО, скрипт при старте должен получить время окончания лицензии и закрываться сам после ее истечения.