Systems composed of many interacting components are complex. This complexity varies with scale, the number and the type of active members. Complex system behaviour is intrinsically challenging to model due to the dependencies, competitions, relationships, or other interactions between their parts or between a given system and its environment. Historically, participants were users; in future systems, software agents will likely undertake these roles. Other properties might arise from agent relationships, such as nonlinearity, emergence, spontaneous order, adaptation, and feedback loops. This emergence of technological agents begs the question of how should we mitigate the potential safety effects of agent failures? How can we assure ourselves that an agent that takes an active role in a system is adequately safe? What if there are multiple interacting agents? This paper considers the use of ‘Engineered Agents’ and how they might change the activities undertaken by Systems and Safety Engineering. It addresses the nature of single-point and common-cause failures. How might these failure modes be addressed and assured for agent-based systems? Finally, the paper addresses architectural matters and indicates how those issues contribute to safety assurance and its associated approvals in technological agent-based systems.