# How do I make a computer program that other computers do not see as a threat?

**URL:** <https://boards.straightdope.com/t/how-do-i-make-a-computer-program-that-other-computers-do-not-see-as-a-threat/1016766>\
**Category:** Factual Questions\
**Created:** [April 8, 2025, 2:10am UTC](https://boards.straightdope.com/t/how-do-i-make-a-computer-program-that-other-computers-do-not-see-as-a-threat/1016766 "2025-04-08T02:10:00Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Whack-a-Mole](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/whack-a-mole/32/141_2.png) [@Whack-a-Mole](https://boards.straightdope.com/u/Whack-a-Mole)\
**Post date:** [April 8, 2025, 2:10am UTC](https://boards.straightdope.com/t/how-do-i-make-a-computer-program-that-other-computers-do-not-see-as-a-threat/1016766/1 "2025-04-08T02:10:00Z")

</div>

I am new to computer programming but I (recently) made one for my company.

It’s nothing super fancy. Just automates a task. And it is not a big program at all…quite small really. Used Python as the programming language.

I sent it to a co-worker and their computer got pissy about it and threw up red flags. They got through them all but why was my program flagged?

I have downloaded lots of programs over the years and none get big scare warnings at all.

Why did mine trigger such flags? How do I stop that in the future?

---

<div class="post-metadata">

**Author:** ![Telemark](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/telemark/32/372_2.png) [@Telemark](https://boards.straightdope.com/u/Telemark)\
**Post date:** [April 8, 2025, 2:15am UTC](https://boards.straightdope.com/t/how-do-i-make-a-computer-program-that-other-computers-do-not-see-as-a-threat/1016766/2 "2025-04-08T02:15:51Z")

</div>

> [@Whack-a-Mole](#):
>
> Why did mine trigger such flags?

There’s almost no way to know that without knowing what flags were thrown.

> [@Whack-a-Mole](#):
>
> How do I stop that in the future?

Same answer as above.

---

<div class="post-metadata">

**Author:** ![Whack-a-Mole](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/whack-a-mole/32/141_2.png) [@Whack-a-Mole](https://boards.straightdope.com/u/Whack-a-Mole)\
**Post date:** [April 8, 2025, 2:18am UTC](https://boards.straightdope.com/t/how-do-i-make-a-computer-program-that-other-computers-do-not-see-as-a-threat/1016766/3 "2025-04-08T02:18:57Z")

</div>

It seemed to be some general flag. An executable was running and it was not trusted.

The program merely makes links in a text document someone has written. Nothing fancy or malicious. The links all point back to our website. Kinda like Wikipedia has links to other pages in Wikipedia.

Just trying to keep people on our site (which is not remotely evil).

---

<div class="post-metadata">

**Author:** ![beowulff](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/beowulff/32/542_2.png) [@beowulff](https://boards.straightdope.com/u/beowulff)\
**Post date:** [April 8, 2025, 2:24am UTC](https://boards.straightdope.com/t/how-do-i-make-a-computer-program-that-other-computers-do-not-see-as-a-threat/1016766/4 "2025-04-08T02:24:11Z")

</div>

Most software these days needs to be cryptographically signed in order to be trusted.

---

<div class="post-metadata">

**Author:** ![Whack-a-Mole](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/whack-a-mole/32/141_2.png) [@Whack-a-Mole](https://boards.straightdope.com/u/Whack-a-Mole)\
**Post date:** [April 8, 2025, 2:27am UTC](https://boards.straightdope.com/t/how-do-i-make-a-computer-program-that-other-computers-do-not-see-as-a-threat/1016766/5 "2025-04-08T02:27:10Z")

</div>

How do I do that? (assuming a simple answer…otherwise tell me to figure it out).

Thanks!

---

<div class="post-metadata">

**Author:** ![beowulff](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/beowulff/32/542_2.png) [@beowulff](https://boards.straightdope.com/u/beowulff)\
**Post date:** [April 8, 2025, 2:30am UTC](https://boards.straightdope.com/t/how-do-i-make-a-computer-program-that-other-computers-do-not-see-as-a-threat/1016766/6 "2025-04-08T02:30:26Z")

</div>

I’m not sure how to do it with a Python app, and I’m not even sure it’s possible with a Python script.  
On the Mac (which is what I’m familiar with), Xcode (the development environment) will automatically sign a complied app with a key that is registered with Apple based on your developer status (no cost). It’s kind of a pain in the ass, initially, but after all the keys are generated, the app signing is transparent.

---

<div class="post-metadata">

**Author:** ![Whack-a-Mole](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/whack-a-mole/32/141_2.png) [@Whack-a-Mole](https://boards.straightdope.com/u/Whack-a-Mole)\
**Post date:** [April 8, 2025, 2:33am UTC](https://boards.straightdope.com/t/how-do-i-make-a-computer-program-that-other-computers-do-not-see-as-a-threat/1016766/7 "2025-04-08T02:33:13Z")

</div>

I’m on a PC using Visual Studio to write/compile my code.

I have not seen a way to crypto-sign anything. It may be there and I have missed it.

---

<div class="post-metadata">

**Author:** ![beowulff](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/beowulff/32/542_2.png) [@beowulff](https://boards.straightdope.com/u/beowulff)\
**Post date:** [April 8, 2025, 2:37am UTC](https://boards.straightdope.com/t/how-do-i-make-a-computer-program-that-other-computers-do-not-see-as-a-threat/1016766/8 "2025-04-08T02:37:30Z")

</div>

A quick search shows:

> **[How to sign an app package using SignTool - Win32 apps](https://learn.microsoft.com/en-us/windows/win32/appxpkg/how-to-sign-a-package-using-signtool)**
>
> Learn how to use SignTool to sign your Windows app packages so they can be deployed.

---

<div class="post-metadata">

**Author:** ![Dr.Strangelove](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/dr.strangelove/32/6613_2.png) [@Dr.Strangelove](https://boards.straightdope.com/u/Dr.Strangelove)\
**Post date:** [April 8, 2025, 2:54am UTC](https://boards.straightdope.com/t/how-do-i-make-a-computer-program-that-other-computers-do-not-see-as-a-threat/1016766/9 "2025-04-08T02:54:06Z")

</div>

Agreed about the code signing. But you’ll need a certificate (with private key) that your organization views as legitimate.

Your IT department should be able to provide that certificate. Or you could create one yourself, but send it to IT so they can set their malware scanner to ignore things signed with that cert. It’s generally better to let them handle it though since they’ll have a certificate chain that handles expiration, revocation, etc. in reasonable fashion.

IT might be able to just handle the whole thing and sign it for you. I guess for a Python script, you’ll want to compile it into an executable first.

---

<div class="post-metadata">

**Author:** ![Reply](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/reply/32/15952_2.png) [@Reply](https://boards.straightdope.com/u/Reply)\
**Post date:** [April 8, 2025, 3:14am UTC](https://boards.straightdope.com/t/how-do-i-make-a-computer-program-that-other-computers-do-not-see-as-a-threat/1016766/10 "2025-04-08T03:14:31Z")

</div>

Can I suggest you consider making it a web app? That would greatly simplify deployment and distribution and would make it compatible with any operating system.

Normally you’d port it to JavaScript (manually or with AI help; it’s pretty good at “porting” from one programming language to another). But there are probably also ways to get Python to run behind the scenes on a website.

Let me know if you want more details.

---

<div class="post-metadata">

**Author:** ![Whack-a-Mole](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/whack-a-mole/32/141_2.png) [@Whack-a-Mole](https://boards.straightdope.com/u/Whack-a-Mole)\
**Post date:** [April 8, 2025, 3:20am UTC](https://boards.straightdope.com/t/how-do-i-make-a-computer-program-that-other-computers-do-not-see-as-a-threat/1016766/11 "2025-04-08T03:20:57Z")

</div>

> [@Reply](#):
>
> Let me know if you want more details.

I definitely want more details but not sure this is the place for it nor do I think you should go to that much effort for this.

Thanks though! This helps (as well as @Dr.Strangelove and @beowulff )

---

<div class="post-metadata">

**Author:** ![Reply](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/reply/32/15952_2.png) [@Reply](https://boards.straightdope.com/u/Reply)\
**Post date:** [April 8, 2025, 3:22am UTC](https://boards.straightdope.com/t/how-do-i-make-a-computer-program-that-other-computers-do-not-see-as-a-threat/1016766/12 "2025-04-08T03:22:04Z")

</div>

Also, separate from the signing and the web app idea, are you on a different version of Windows than your users? Did you manually turn down some of your system security settings (like User Account Control)? Weird that they’re seeing errors that you’re not if you’re running the same compiled executable.

How are you compiling Python code into a Windows executable anyway? I may be wrong, but I thought that Python normally requires an interpreter to run and making an executable out of a script requires jumping through some hoops… does Visual Studio include a compiler like that or are using another tool?

---

<div class="post-metadata">

**Author:** ![Whack-a-Mole](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/whack-a-mole/32/141_2.png) [@Whack-a-Mole](https://boards.straightdope.com/u/Whack-a-Mole)\
**Post date:** [April 8, 2025, 3:23am UTC](https://boards.straightdope.com/t/how-do-i-make-a-computer-program-that-other-computers-do-not-see-as-a-threat/1016766/13 "2025-04-08T03:23:39Z")

</div>

> [@Reply](#):
>
> How are you compiling Python code into a Windows executable anyway? I may be wrong, but I thought that Python normally requires an interpreter to run and making an executable out of a script requires jumping through some hoops… does Visual Studio include a compiler like that or are using another tool?

I have to do it via command line using pyinstaller. I have not seen a button that compiles in Visual Studio (you’d think there would be one, maybe there is, but I have not found it).

---

<div class="post-metadata">

**Author:** ![Reply](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/reply/32/15952_2.png) [@Reply](https://boards.straightdope.com/u/Reply)\
**Post date:** [April 8, 2025, 3:24am UTC](https://boards.straightdope.com/t/how-do-i-make-a-computer-program-that-other-computers-do-not-see-as-a-threat/1016766/14 "2025-04-08T03:24:32Z")

</div>

> [@Whack-a-Mole](#):
>
> I definitely want more details but not sure this is the place for it nor do I think you should go to that much effort for this.

Well, it’s no bother, but it’s your thread and your call 🙂 Feel free to make a new linked thread or just PM me if you wanna chat more. Happy to help if I can.

---

<div class="post-metadata">

**Author:** ![Whack-a-Mole](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/whack-a-mole/32/141_2.png) [@Whack-a-Mole](https://boards.straightdope.com/u/Whack-a-Mole)\
**Post date:** [April 8, 2025, 3:32am UTC](https://boards.straightdope.com/t/how-do-i-make-a-computer-program-that-other-computers-do-not-see-as-a-threat/1016766/15 "2025-04-08T03:32:53Z")

</div>

I’ll happily take all the advice you or anyone else are willing to give.

I feel bad for putting you and whoever else to work though.

I certainly appreciate the help.

---

<div class="post-metadata">

**Author:** ![Reply](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/reply/32/15952_2.png) [@Reply](https://boards.straightdope.com/u/Reply)\
**Post date:** [April 8, 2025, 3:56am UTC](https://boards.straightdope.com/t/how-do-i-make-a-computer-program-that-other-computers-do-not-see-as-a-threat/1016766/16 "2025-04-08T03:56:54Z")

</div>

For a Windows app, I think the others here are right about the code signing. Hopefully your company can do it, or you might have to spend money to buy one from a certificate authority: [https://cheapsslsecurity.com/sslproducts/codesigningcertificate.html](https://cheapsslsecurity.com/sslproducts/codesigningcertificate.html). I think Azure just started offering this for somewhat cheaper ($10/mo), but you have to have been a business entity for 3+ years: [Trusted Signing documentation | Microsoft Learn](https://learn.microsoft.com/en-us/azure/trusted-signing/)

You can also self-sign it, but that will still result in an “unknown publisher” warning: [How to self-sign a Windows executable created with Pyinstaller · GitHub](https://gist.github.com/PaulCreusy/7fade8d5a8026f2228a97d31343b335e)

(It’s crazy to me that the Windows world doesn’t have a free alternative like LetsEncrypt!)

* * *

I’ll start a different link thread about the web app stuff. Give me a bit.

---

<div class="post-metadata">

**Author:** ![Reply](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/reply/32/15952_2.png) [@Reply](https://boards.straightdope.com/u/Reply)\
**Post date:** [April 8, 2025, 4:25am UTC](https://boards.straightdope.com/t/how-do-i-make-a-computer-program-that-other-computers-do-not-see-as-a-threat/1016766/17 "2025-04-08T04:25:39Z")

</div>

Hmm, apparently the linked topic was slotted under the individual post I replied to. Might not be the easiest thing to see up above, so here it is: [Turning a Python app into a web app for easier distribution?](https://boards.straightdope.com/t/turning-a-python-app-into-a-web-app-for-easier-distribution/1016772)

---

<div class="post-metadata">

**Author:** ![Shoeless](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/shoeless/32/7099_2.png) [@Shoeless](https://boards.straightdope.com/u/Shoeless)\
**Post date:** [April 8, 2025, 6:00pm UTC](https://boards.straightdope.com/t/how-do-i-make-a-computer-program-that-other-computers-do-not-see-as-a-threat/1016766/18 "2025-04-08T18:00:48Z")

</div>

I have to do this a couple times a year for in-house PC applications that I need to deploy on a group of production workstations. Some details have changed over the years, but basically:

- I had to get set up with a SysAdmin account which has higher privileges than my normal login
- Once a year or so I have to contact someone in IT to send me the “root” certificate(s) I need to create my own code signing certificate.
- I log into my workstation with my SA account and run Microsoft Management Console (mmc.exe). In mmc I import the root certificate(s) then generate my own certificate.
- Visual Studio has a command line tool called “signtool” that I use to apply the certificate to an exe or msi file that I want to distribute.
- I have to run the application so that it gets blocked by IT security, then I have to open a whitelist request to allow it to be installed.
- Once the exe or msi has been whitelisted, my cert is good to go. I can apply that cert to any application I write and it will not get blocked when it runs.
- My cert is usually good for one year and then I have to go through the whole process again.

I realize I’m leaving out a lot of detail but at a high level these are the hoops I have to jump through to keep my PC apps from getting blocked.

---

<div class="post-metadata">

**Author:** ![Napier](https://avatars.discourse-cdn.com/v4/letter/n/ce73a5/32.png) [@Napier](https://boards.straightdope.com/u/Napier)\
**Post date:** [April 8, 2025, 6:22pm UTC](https://boards.straightdope.com/t/how-do-i-make-a-computer-program-that-other-computers-do-not-see-as-a-threat/1016766/19 "2025-04-08T18:22:00Z")

</div>

Not sure if this helps, but when I found our company email system would refuse filenames ending in .exe, I just changed the extension to the filename ending in .virus, which the system thought was fine. I’d also tell the recipient to change the extension back.

---

<div class="post-metadata">

**Author:** ![Melbourne](https://avatars.discourse-cdn.com/v4/letter/m/b5e925/32.png) [@Melbourne](https://boards.straightdope.com/u/Melbourne)\
**Post date:** [July 26, 2025, 11:35am UTC](https://boards.straightdope.com/t/how-do-i-make-a-computer-program-that-other-computers-do-not-see-as-a-threat/1016766/24 "2025-07-26T11:35:51Z")

</div>

> [@Whack-a-Mole](#):
>
> The program merely makes links in a text document someone has written. Nothing fancy or malicious. The links all point back to our website

That is a program which will throw up red flags. The only question is why it didn’t throw up red flags on your computer. Some possible reasons:

1. You are using an older computer.
2. You have disabled warnings.
3. You haven’t used the pyinstaller executable on your machine.
4. You have packaged with a certificate that is only valid for your machine.
5. The website has been marked as local for your machine.
6. You’ve let the other person download the executable instead of putting it a shared folder.

[Next page](https://boards.straightdope.com/t/how-do-i-make-a-computer-program-that-other-computers-do-not-see-as-a-threat/1016766.md?page=2)
