Skip to content
AtlasDocs
Sign inGet started
Updated Aug 04, 2026

Quick Start

A working integration in five minutes. Pick your language, follow the steps, run a protected binary.

Toolchain

# Atlas.h the API you call
# Atlas Auth.lib static library (links into your .exe)
# Visual Studio 2022 MSVC v143, x64, Release
# Windows 10 or 11 x64
# C++17 or newer

Project layout

# C++ - drop the SDK into your project.
myapp/
├-- vendor/atlas/
│ ├-- Atlas.h
│ └-- Atlas Auth.lib
└-- main.cpp

License-key sign-in

The minimum viable integration. Set the API key, start the SDK, sign in with a license key. Three calls.

main.{cpp,js,py}
#include <Atlas.h>
#include <iostream>
int main() {
Atlas::API_KEY = "YOUR_API_KEY";
Atlas::Startup();
if (!Atlas::License::Login("ATLAS-A9F2K-4RMXM")) {
std::cout << Atlas::Data::GetErrorMessage();
return 1;
}
std::cout << "License: " << Atlas::Data::GetLicense() << "\n";
Atlas::Logout();
return 0;
}

Linking

The C++ SDK links statically. No DLL to ship beside your .exe.

XML
<!-- myapp.vcxproj - the same wiring the shipped examples use -->
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>vendor\atlas;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<Library Include="vendor\atlas\Atlas Auth.lib" />
</ItemGroup>

Walkthrough

  1. 1

    Get your API key from the dashboard

    Open atlassecurity.site/dashboard and create an application. Copy the API key - you'll paste it into the SDK before Startup().

  2. 2

    Drop the SDK into your project

    C++ copies Atlas.h and Atlas Auth.lib from the C++ example. JS installs @atlassecurity/auth via npm. Python installs atlas-auth via pip.

    XML
    myapp.vcxproj
    <!-- myapp.vcxproj - the same wiring the shipped examples use -->
    <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <ClCompile>
    <AdditionalIncludeDirectories>vendor\atlas;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
    <LanguageStandard>stdcpp17</LanguageStandard>
    </ClCompile>
    </ItemDefinitionGroup>
    <ItemGroup>
    <Library Include="vendor\atlas\Atlas Auth.lib" />
    </ItemGroup>
  3. 3

    Set the API key and call Startup at process entry

    Startup() loads the API key, runs the startup integrity check, and checks for a newer version. Login starts the heartbeat and integrity threads. Synchronous in every binding. Python raises RuntimeError on failure; JS throws; in C++ the process ends.

  4. 4

    Call License.Login with the user-supplied key

    Returns bool. On false, call Data::GetErrorMessage() for the reason - the key is unknown, banned, bound to another machine, or the server is unreachable.

    C++
    main.cpp
    #include <Atlas.h>
    #include <iostream>
    int main() {
    Atlas::API_KEY = "YOUR_API_KEY";
    Atlas::Startup();
    if (!Atlas::License::Login("ATLAS-A9F2K-4RMXM")) {
    std::cout << Atlas::Data::GetErrorMessage();
    return 1;
    }
    std::cout << "License: " << Atlas::Data::GetLicense() << "\n";
    Atlas::Logout();
    return 0;
    }
  5. 5

    Read user data, do work, call Logout

    After login, Data accessors expose the license, HWID, IP, expiry, and level without further network calls. The heartbeat continues until Logout.

If your app exits during Startup

The most common cause is a debugger attached. The SDK refuses to run under one, treats it as tampering, and can report a ban against the license or HWID. Run without a debugger attached: C++ Ctrl + F5, not F5; JS: no --inspect and no DevTools on the main process; Python: no pdb. See Troubleshooting for the full list.

Was this page useful?