Firewall which operates on the application level. An application gateway (or also application-level gateway, abbreviated to ALG) does not permit any direct communication between "inside" and "outside". For the applications which are passed through an ALG, proxies are required. An ALG can check application data, and scan them for viruses or URLs, for example. From a security point of view, ALGs are definitely superior to packet filters, but they need more performant hardware. Protocols for which the ALG does not provide any proxies can be treated only with the same security status as for a circuit gateway.