It is possible to build local applications that embed Flash Player, including it as a component in a custom GUI. This applies only to native local applications, built as exectuable programs.
We currently do not provide support for this type of usage of Flash Player but we do not forbid it either. Using Flash Player in your application is risky because you cannot redistribute Flash Player with your application, which forces you to depend on whatever version of Flash Player is installed on your users' computers. Since users may upgrade Flash Player at any time, this leaves your application vulnerable to unanticipated changes in behavior.
Despite these problems, we make an effort to avoid causing undue pain for applications that embed Flash Player.
Flash Player 8 and higher have the following local security behavior in embedding situations:
ActiveX and plug-in players have exported APIs that permit hosting applications to elect whether they wish the new local security rules to be enforced or not. These APIs must be called very early in the Flash Player lifecycle before any content is loaded. They are as follows:
ActiveX (IDispatch APIs):
HRESULT IShockWaveFlash::EnforceLocalSecurity()
HRESULT IShockWaveFlash::DisableLocalSecurity()
Plugins (DLL exports):
NPError Flash_EnforceLocalSecurity()
NPError Flash_DisableLocalSecurity()
If you are developing a local application that embeds Flash Player, you should make an explicit decision as to whether you want the local security rules enabled or disabled and call the appropriate API. In general, if your usage of Flash Player includes playing SWF content from sources you do not control, such as from the Internet, you should elect to enable local security rules. On the other hand, if you are playing only specific SWFs that you control and ship with your application, you may find it convenient to disable local security for maximum flexibility.