Een binaire-veilige functie is een functie of bewerking die op een binair bestand kan worden uitgevoerd zonder de inhoud van het bestand te wijzigen. Dit zorgt ervoor dat het bestand niet wordt beschadigd of verminkt door de functie of bewerking.
Binaire gegevens worden gecodeerd als een reeks enen en nullen (bits), maar worden niet op een bepaalde manier geformatteerd. De bits zijn er gewoon, en er wordt geen betekenis aan gehecht. De meeste programma's daarentegen hebben opmaakcodes die bepaalde betekenissen toekennen aan specifieke reeksen bits. Wanneer een programma wordt gebruikt in een poging een binair bestand te lezen, wordt het bestand geïnterpreteerd volgens de regels van dat programma. Tenzij de opmaakcodes van het leesprogramma overeenkomen met de opmaakcodes van het programma waarin het bestand is geschreven, heeft de weergave geen zin, of bevat deze een wirwar van schijnbaar betekenisloze symbolen naast gegevens die zijn ontdaan van opmaakcodes.
Een afbeelding zoals een JPEG-bestand kan in een tekstverwerker worden geopend, maar de afbeelding verschijnt niet. In plaats daarvan wordt rommel weergegeven. Elke poging om een JPEG-bestand te bewerken en vervolgens op te slaan met een tekstverwerker zal resulteren in een wijziging van de binaire gegevens, zodanig dat het resultaat niet langer leesbaar is door het bedoelde programma. Het bestand is in feite beschadigd. Het bewerken van een JPEG-afbeeldingsbestand met een tekstverwerker is dus een voorbeeld van een functie die niet binair veilig is.
De problemen met de binaire veiligheid doen zich vaak voor wanneer binaire bestanden over het Internet worden overgebracht. Dit geldt vooral voor grote bestanden, die een overflow van het geheugen, de buffer of de opslagcapaciteit in een of meer servers kunnen veroorzaken. Soms worden overgedragen bestanden onderworpen aan functies die opmaakcodes strippen, of die bepaalde binaire strings onjuist interpreteren als opmaakcodes. Hoekhaken kunnen bijvoorbeeld ten onrechte worden geïnterpreteerd als markeringen voor HTML-tags, of gewenste tags kunnen verloren gaan bij de overdracht van een HTML-bestand. Aanhalingstekens in platte tekst of ASCII-formaat worden mogelijk niet op die manier gelezen door een webbrowser. Een HTML-editor zal aanhalingstekens (") omzetten in een reeks tekens om deze verwarring te voorkomen. Een extra spatie ( ) in een webpagina verschijnt als een tekenreeks wanneer de HTML-broncode wordt bekeken in een teksteditor zoals Windows Notepad. Omgekeerd worden dergelijke tekenreeksen door webbrowsers geïnterpreteerd als aanhalingstekens en spaties, zelfs als de auteur van het bestand niet de bedoeling had ze op die manier te interpreteren.
Binaire bestanden kunnen worden beschermd tegen ongewenste wijzigingen door programma's. In het ergste geval kan een dergelijke wijziging leiden tot permanent verlies van gegevens als gevolg van bestandsbeschadiging. Van gevoelige bestanden moet altijd een back-up worden gemaakt op alleen-lezen media, zoals een opneembare compact disc (CD-R), zodat de oorspronkelijke gegevens kunnen worden teruggehaald in geval van ongewenste wijziging door een functie die niet binair-veilig is. Bij de overdracht van binaire bestanden naar een website met behulp van een File Transfer Protocol (FTP)-programma kan de instelling "binair" worden gebruikt om ongewenste wijziging van de bestandsinhoud tijdens het overdrachtsproces te voorkomen.