Building zero-trust authentication systems by day, creating MorphOS applications and demoscene productions by night. CyberArk / PaloAlto engineer with 20+ years in IT.
My adventure with computers started in 1990 when I saw an Amiga 500 for the first time. The graphics, the sound โ I was hooked. My parents bought me an Amiga 1200 around 1992/1993 and I've been coding ever since.
In 1996 I co-founded the Ostroleka Amiga User Group. We developed games and tools. In 1998 my demoscene career began with Nah-Kolor, creating disk magazines, music disks, videos and demos.
In 2000 I joined the #Amigazeux developer group and started developing MorphOS applications. I was invited to join the MorphOS Team, creating Paint, Sketch, Transfer, Titler, and many more applications.
From PTC, Schneider Electric, and Airbus through ING, GE, and Friend Software Labs โ to CyberArk / PaloAlto today. Building security infrastructure across Windows, Linux, Android, and embedded systems.
The spark that started a lifelong passion for computing.
Local Amiga user group. Game and tool development. Demoscene beginnings.
Disk magazines, music disks, videos, and demos. Met incredible people across Europe.
#Amigazeux developer group. System and application development. First Genesi hardware.
Trained across Europe (Lyon, Munich, Stuttgart, Toulouse). Contributed to A380 and Beluga programs.
Programmer/Senior IT Analyst. Cobol, Java, WebSphere, JBoss, Tibco, Crystal Reports.
Source migration systems at GE Aviation Institute. "Operating System for Cloud" at Friend Software Labs.
Zero-trust security infrastructure. ECC P-384 cryptography. Bluetooth authentication. MobileProvider project.
From enterprise security systems to MorphOS applications โ spanning two decades of software engineering across Windows, Linux, Android, and Amiga platforms.
My flagship open-source security project. Turn any mobile device into a hardware-backed authentication token with ECC P-384 cryptography and Bluetooth transport. No cloud dependency. Available for Windows, Linux, and macOS.
Native SCM service with Bluetooth RFCOMM, named pipe IPC, and Credential Provider integration.
Download .msisystemd service with BlueZ RFCOMM, PAM authentication, logind session management.
Download .deb Download .rpmEncrypted vault with biometric confirmation. API 29+. No key material stored on device.
Download .apkChrome, Firefox, Edge. Native messaging bridge to local service. MV3.
Chrome (.zip) Firefox (.xpi) Edge (.zip)MobileProviderSDK.dll with C API header. Integrate apps with the service.
Download SDK .ziplibmobileprovidersdk.so.1 with header. Available in deb/rpm repositories.
Download dev .deblaunchd daemon with IOBluetooth RFCOMM, os_log, Unix domain socket IPC. macOS 13+.
Download .pkg Install via Homebrewlibmobileprovidersdk.dylib with header. Integrate with any macOS app via C API.
Download SDK .zipDesigned and programmed HR forms, OFE website, COP application features, and Crystal Reports. Full-stack development with Cobol, Java, WebSphere, JBoss, and Tibco (2008โ2015).
Worked on the A380 and Beluga programs as part of the PTC and Schneider Electric projects. Trained across Europe.
Developed a source migration system for the Aviation Institute, modernizing legacy codebases (2016).
Core developer on the "Operating System for the Cloud" โ a decentralized cloud platform (2016โpresent).
Developed a SketchUp plugin for Kray raytracing integration.
Full server and client stack for the Museum of Solidarity in Gdansk.
Raspberry Pi application for shop queue management and customer flow control.
Games for "Magiczny Dywan" interactive floor. Multiplatform engine & educational games "Bambikowe Logoprzygody" and "Akademia Bambika".
Image editor with layers, masks, plugins SDK. Ships with MorphOS.
FTP/SFTP client with 64-bit support, tabs, MUI GUI. Ships with MorphOS.
Lightweight image editor. Included in MorphOS system distribution.
3D text animation with TinyGL. TrueType fonts, export via mencoder.
LightWave object texturing and conversion tool.
HTML gallery generator with auto-thumbnails, drag-and-drop, captions.
Quiz game based on "Milionerzy". AmigaOS 3.x, MorphOS, Windows.
3D object animation. Load LightWave, generate keyframes.
Arkanoid in 3D. Level editor, multiple bonuses. In development.
MorphOS DJVU document reader.
Fast image browser using datatypes.
HTML image slicer with clickable maps.
C++ OpenGL GUI toolkit. XML skinning, multiplatform.
3D visualizer plugins for AmiNetRadio.
Nah-Kolor demos, disk magazines, music disks.
Integrate any application with MobileProvider security infrastructure. C-compatible API, same interface on Windows, Linux, and macOS. Build third-party tools, automate workflows, extend the platform.
| Function | Signature | Description |
|---|---|---|
| IsMobileAvailable | bool IsMobileAvailable() | Returns true if the service pipe/socket can be opened. |
| SayHello | const char* SayHello() | Sends HELLO handshake. Returns service greeting with version info. |
| RequestConnection | const char* RequestConnection(const char* deviceName) | Initiate Bluetooth connection to a named device. |
| DisconnectDevice | const char* DisconnectDevice() | Disconnect the current Bluetooth device. |
| Repair | const char* Repair() | Trigger Bluetooth repair sequence. |
| Function | Signature | Description |
|---|---|---|
| GetMobileStatus | const char* GetMobileStatus() | Returns connection, pairing, and device state as JSON. |
| SetAutoLogout | const char* SetAutoLogout(int action, int intervalMs, int timeoutCount, int btDisconnectEnabled) | Configure auto-logout: action, PING interval and timeout count. |
| SetInactivityConfig | const char* SetInactivityConfig(int enabled, int timeoutSec) | Configure inactivity lock: enable/disable and timeout. |
| SetConfigStorageType | const char* SetConfigStorageType(const char* type) | Switch config backend: "file" or "registry". |
| Function | Signature | Description |
|---|---|---|
| CreateEntry | const char* CreateEntry(const char* key, const char* jsonData) | Create encrypted entry with P-384 + AES-256-GCM. |
| GetEntry | const char* GetEntry(const char* key) | Retrieve and decrypt entry by ID. |
| DeleteEntry | const char* DeleteEntry(const char* key) | Delete entry by ID from both service and mobile. |
| ListEntries | const char* ListEntries() | List all stored entry metadata as JSON array. |
| StoreCredentials | const char* StoreCredentials(const char* username, const char* password) | Validate and store Windows credentials. |
| GenerateCredential | const char* GenerateCredential(const char* requestJson) | Ask the phone to complete a field set (each field prefilled, user-typed, or generated on-device); returns the completed set and stores a sealed copy. |
| FreeString | void FreeString(const char* s) | Securely wipe the per-thread return buffer after copying a secret-bearing reply. |
| Function | Signature | Description |
|---|---|---|
| RequestAutologin | const char* RequestAutologin(const char* key) | Trigger browser autofill with mobile biometric confirmation. |
| RequestWindowsLogin | const char* RequestWindowsLogin() | Trigger Windows login via mobile confirmation. |
| Function | Signature | Description |
|---|---|---|
| ListDevices | const char* ListDevices() | List paired Bluetooth devices. |
| UnpairDevice | const char* UnpairDevice(const char* address) | Unpair specific device by Bluetooth address. |
| UnpairAllDevices | const char* UnpairAllDevices() | Unpair all Bluetooth devices. |
All SDK communication uses 4-byte little-endian length-prefixed JSON. Same format on Windows (named pipe), Linux, and macOS (Unix domain socket).
| Offset | Size | Field | Description |
|---|---|---|---|
| 0 | 4 bytes | Length (LE uint32) | Payload size in bytes |
| 4 | N bytes | JSON payload | UTF-8 encoded JSON message |
Full system architecture, component interaction diagrams, data flow.
rorbit-architecture.pdfInstallation for Windows, Linux, Android. systemd, SCM, packaging.
rorbit-deployment.pdfThreat model, cryptographic design, FIPS 140-3 / GDPR compliance.
rorbit-security-whitepaper.pdfHave a question, a project idea, or just want to say hello? Reach out via email or LinkedIn.
📧 Email: rorbitcompany@gmail.com
📍 Location: Warszawa, Poland
👤 LinkedIn: linkedin.com/in/pawel-stefanski
🌐 Website: stefkos.morphos.pl
⏰ Response: Usually within 24โ48 hours
1,000+ followers on LinkedIn. 500+ connections. Let's connect and build something great.