Стоит посмотреть на задачу под другим углом и упростить.
Например, вместо того, чтобы отправлять письмо через 15 лет, лучше отправить 15 писем через год. Для вас задача при этом усложняется, но для исполнителей упрощается. Этим повышается надежность и вероятность успешного выполнения.
Делается 15 (плюс-минус) комплектов софта. Один из них предоставляет доступ к посланию для сына, остальные предоставляют доступ к друг другу. Получается цепочка.
Находится надежный человек или несколько. Они получат от первого скрипта письмо через год. там будет задание, состоящее по которому исполнитель должен запустить (а скорее всего просто проконтролировать, что все работает) второй скрипт и найти следующего исполнителя.
Еще через год второй скипт выдаст второй группе исполнителей ТЗ на развертывание третьего скрипта, а также уведомление первой группе исполнителей (чтобы они проконтролировали работу выбранного ими исполнителя, мало ли что).
Все повторяется в цикле каждый год. Этим мы защищаемся от необратимых перемен, которые могли бы случиться через 15 лет. Плюс количество исполнителей растет в прогрессии, что повышает надежность.
Частью задания для исполнителей может быть отслеживание ситуации у ребенка (где он, куда переехал, не сменил ли фамилию). Отслеживание должно быть не явным. Таким, чтобы о ребенке исполнители не знали.
Наблюдение может быть за матерью, за школьными учителями и другими людьми, которые имеют контакт с ребенком. Т.к. круг этих людей заранее неизвестен, есть некая сложность в том, чтобы каждый год их находить.
Каждый новый исполнитель будет обладать все большей информацией, но никогда не будет знать все.
Важна и обратная связь к уже отработавшим исполнителям - должен поддерживаться их интерес и любопытство. Они страхуют этапы, которые будут после них.
По возможности стоит исключить материальное вознаграждение исполнителей.
Вообще, это очень крутая задача на стыке технологии и социальной инженерии.