<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Toqen.app</title>
    <description>The latest articles on Forem by Toqen.app (@toqenapp).</description>
    <link>https://forem.com/toqenapp</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F12579%2Fc1a9ea36-d31e-4203-b400-2bd54ddbad90.png</url>
      <title>Forem: Toqen.app</title>
      <link>https://forem.com/toqenapp</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/toqenapp"/>
    <language>en</language>
    <item>
      <title>🚀 Toqen Mobile: access in 2 steps</title>
      <dc:creator>Anton Minin Baranovskii</dc:creator>
      <pubDate>Fri, 03 Apr 2026 12:45:00 +0000</pubDate>
      <link>https://forem.com/toqenapp/toqen-mobile-access-in-2-steps-1295</link>
      <guid>https://forem.com/toqenapp/toqen-mobile-access-in-2-steps-1295</guid>
      <description>&lt;h2&gt;
  
  
  Your phone is already your access key
&lt;/h2&gt;

&lt;p&gt;Your smartphone is almost always within reach.&lt;/p&gt;

&lt;p&gt;To sign in to any service, you just tap &lt;strong&gt;Sign in&lt;/strong&gt; and confirm access on your phone.&lt;/p&gt;

&lt;p&gt;It does not matter whether you had access before.&lt;br&gt;&lt;br&gt;
Access is granted instantly, and the service determines what data is required for further interaction.&lt;/p&gt;

&lt;p&gt;Wherever you are — laptop, shared computer, TV, or any other screen —&lt;br&gt;&lt;br&gt;
everything comes down to two actions:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scan → Confirm&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;No extra steps.&lt;br&gt;&lt;br&gt;
No manual input.&lt;/p&gt;

&lt;p&gt;One app — &lt;strong&gt;Toqen&lt;/strong&gt; — becomes your universal access key.&lt;/p&gt;


&lt;h2&gt;
  
  
  📱 How it looks
&lt;/h2&gt;
&lt;h3&gt;
  
  
  QR scanning
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd7zhtb03oepn74pegnwf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd7zhtb03oepn74pegnwf.png" alt=" " width="800" height="754"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The user opens the app and scans a QR code from the screen.&lt;/p&gt;

&lt;p&gt;If the camera is unavailable, a code can be entered manually.&lt;/p&gt;


&lt;h3&gt;
  
  
  Access confirmation
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9f2x4wvwodv6qt9z2lby.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9f2x4wvwodv6qt9z2lby.png" alt=" " width="800" height="754"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The app displays:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;service
&lt;/li&gt;
&lt;li&gt;login context
&lt;/li&gt;
&lt;li&gt;request expiration
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All that remains is to confirm.&lt;/p&gt;


&lt;h3&gt;
  
  
  Access hub
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkvwuqyhi32ymi6v7k2fi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkvwuqyhi32ymi6v7k2fi.png" alt=" " width="800" height="754"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All access entries are stored in one place:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;active
&lt;/li&gt;
&lt;li&gt;archived
&lt;/li&gt;
&lt;li&gt;usage history
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is a single point of access control.&lt;/p&gt;


&lt;h3&gt;
  
  
  Services list
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fivj4u9rbgpdbcnlp2jot.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fivj4u9rbgpdbcnlp2jot.png" alt=" " width="800" height="754"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select a service → tap &lt;strong&gt;Sign in&lt;/strong&gt; → confirm access.&lt;/p&gt;


&lt;h2&gt;
  
  
  🔐 How it works under the hood
&lt;/h2&gt;

&lt;p&gt;Each login is not a data transfer — it is an access confirmation.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;scan QR
↓
challenge
↓
sign (device_private_key)
↓
verify on server
↓
access granted
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;What matters:&lt;/p&gt;

&lt;p&gt;the QR contains only a temporary challenge&lt;br&gt;
each request is single-use&lt;br&gt;
the signature is created on the device&lt;br&gt;
the server verifies it using the public key&lt;/p&gt;




&lt;h2&gt;
  
  
  🔑 Keys and security
&lt;/h2&gt;

&lt;p&gt;The app uses a standard cryptographic model:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a key pair is generated (public / private)&lt;/li&gt;
&lt;li&gt;the private key is stored in secure device storage&lt;/li&gt;
&lt;li&gt;the public key is registered on the server&lt;/li&gt;
&lt;li&gt;each login is a signed challenge&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📌 Biometrics and device protection
&lt;/h2&gt;

&lt;p&gt;Biometrics act as a local protection layer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Face ID / Touch ID / Android Biometrics&lt;/li&gt;
&lt;li&gt;device PIN&lt;/li&gt;
&lt;li&gt;protected access to keys&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In practice:&lt;/p&gt;

&lt;p&gt;The device verifies the user locally&lt;br&gt;
and then signs the request.&lt;/p&gt;




&lt;h2&gt;
  
  
  📎 Where passkeys fit in
&lt;/h2&gt;

&lt;p&gt;It is important to be precise here:&lt;/p&gt;

&lt;p&gt;Toqen follows the same core model as passkeys:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;device-bound keys&lt;/li&gt;
&lt;li&gt;challenge-response&lt;/li&gt;
&lt;li&gt;no secret transmission&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At the same time:&lt;/p&gt;

&lt;p&gt;👉 passkeys are defined by standards like WebAuthn / FIDO2&lt;br&gt;
👉 Toqen is an architecture that also supports QR-based flows and external screens&lt;/p&gt;

&lt;p&gt;A correct way to describe it:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The architecture aligns with passkey principles and device-bound authentication.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚡Why it is faster
&lt;/h2&gt;

&lt;p&gt;Typical login:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;enter username&lt;/li&gt;
&lt;li&gt;enter password&lt;/li&gt;
&lt;li&gt;confirm&lt;/li&gt;
&lt;li&gt;recover if forgotten&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2 actions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Scan → Confirm&lt;/p&gt;




&lt;h2&gt;
  
  
  📲 Availability
&lt;/h2&gt;

&lt;p&gt;The app is available on Google Play in closed testing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://forms.gle/f9FcbHyHJiajmFWV7" rel="noopener noreferrer"&gt;Join via form&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://forms.gle/sye9s1nRwqdX9zoY9" rel="noopener noreferrer"&gt;Feedback&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://play.google.com/apps/testing/mobile.toqen.app" rel="noopener noreferrer"&gt;Direct access&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Open to feedback and discussion.&lt;/p&gt;

</description>
      <category>authentication</category>
      <category>security</category>
      <category>mobile</category>
      <category>cryptography</category>
    </item>
    <item>
      <title>Access-First Authentication in Production: Opening the Toqen.app Pilot Program</title>
      <dc:creator>Anton Minin Baranovskii</dc:creator>
      <pubDate>Mon, 02 Mar 2026 10:42:25 +0000</pubDate>
      <link>https://forem.com/toqenapp/access-first-authentication-in-production-opening-the-toqenapp-pilot-program-3m86</link>
      <guid>https://forem.com/toqenapp/access-first-authentication-in-production-opening-the-toqenapp-pilot-program-3m86</guid>
      <description>&lt;p&gt;Authentication is often discussed in terms of technologies — OAuth, passkeys, TOTP, SSO.&lt;br&gt;&lt;br&gt;
Much less attention is given to the architecture of access itself.&lt;/p&gt;

&lt;p&gt;Toqen.app is designed as an &lt;strong&gt;access-first security layer&lt;/strong&gt; — infrastructure that validates the right to enter a system at a specific moment in time.&lt;/p&gt;

&lt;p&gt;After completing the first real-world integration in a live digital platform, we are opening a structured Pilot Program for teams interested in evaluating this model in production.&lt;/p&gt;

&lt;p&gt;This integration operates within real user flows.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Production Validation Matters
&lt;/h2&gt;

&lt;p&gt;Access mechanisms behave differently under real conditions.&lt;/p&gt;

&lt;p&gt;In production environments, systems encounter:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;repeated entries and session transitions
&lt;/li&gt;
&lt;li&gt;time-bound edge conditions
&lt;/li&gt;
&lt;li&gt;clock skew scenarios
&lt;/li&gt;
&lt;li&gt;traffic spikes
&lt;/li&gt;
&lt;li&gt;behavioral variance
&lt;/li&gt;
&lt;li&gt;interaction between UX and security constraints
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Architecture assumptions are tested only when exposed to real users.&lt;/p&gt;

&lt;p&gt;The goal of the pilot is to validate the access model under real operating conditions.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Is Being Evaluated
&lt;/h2&gt;

&lt;p&gt;The pilot focuses on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;context-aware entry validation
&lt;/li&gt;
&lt;li&gt;time-bound access logic
&lt;/li&gt;
&lt;li&gt;QR-initiated authentication flows
&lt;/li&gt;
&lt;li&gt;TOTP verification
&lt;/li&gt;
&lt;li&gt;replay resistance
&lt;/li&gt;
&lt;li&gt;abuse mitigation mechanisms
&lt;/li&gt;
&lt;li&gt;UX impact of access-layer decisions
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The emphasis is on validating &lt;strong&gt;access events&lt;/strong&gt;, not maintaining identity-centric state.&lt;/p&gt;




&lt;h2&gt;
  
  
  Integration Model
&lt;/h2&gt;

&lt;p&gt;The pilot follows a structured process:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Review of the access scenario
&lt;/li&gt;
&lt;li&gt;Joint integration design
&lt;/li&gt;
&lt;li&gt;Deployment in production
&lt;/li&gt;
&lt;li&gt;Observation and analysis
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The program is structured for teams operating:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SaaS platforms
&lt;/li&gt;
&lt;li&gt;content systems
&lt;/li&gt;
&lt;li&gt;educational environments
&lt;/li&gt;
&lt;li&gt;event or membership-based services
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Participating teams may be publicly listed on the Pilot Partners page upon agreement.&lt;/p&gt;




&lt;h2&gt;
  
  
  Experience It Live
&lt;/h2&gt;

&lt;p&gt;Access architecture reveals its characteristics only when interacting with real user traffic.&lt;/p&gt;

&lt;p&gt;A limited number of pilot slots are available for teams interested in evaluating:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;an access-first authentication model
&lt;/li&gt;
&lt;li&gt;architectural impact on UX
&lt;/li&gt;
&lt;li&gt;resilience and security in live environments
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can experience the production integration on &lt;strong&gt;&lt;a href="https://litseller.com" rel="noopener noreferrer"&gt;Litseller.com&lt;/a&gt;&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
Pilot applications are available via the &lt;strong&gt;&lt;a href="https://www.toqen.app/pilot-partners" rel="noopener noreferrer"&gt;Pilot Partners page on Toqen.app&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;




&lt;p&gt;If you are exploring authentication as infrastructure rather than as a user database layer, this program is designed for real-world evaluation.&lt;/p&gt;

</description>
      <category>authentication</category>
      <category>security</category>
      <category>architecture</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Why We Built Authentication Focused on Access, Not Identity</title>
      <dc:creator>Anton Minin Baranovskii</dc:creator>
      <pubDate>Thu, 18 Dec 2025 01:38:52 +0000</pubDate>
      <link>https://forem.com/toqenapp/why-we-built-authentication-without-accounts-passwords-or-personal-data-2ij3</link>
      <guid>https://forem.com/toqenapp/why-we-built-authentication-without-accounts-passwords-or-personal-data-2ij3</guid>
      <description>&lt;p&gt;Most authentication systems start from the same assumption:&lt;br&gt;
authentication must start from a persistent user identity.&lt;/p&gt;

&lt;p&gt;An email, a password, a profile, a database row tied to long-term identity.&lt;br&gt;
Even when passwords are removed, the account usually stays.&lt;/p&gt;

&lt;p&gt;We decided to question that assumption.&lt;/p&gt;




&lt;h2&gt;
  
  
  The problem we kept seeing
&lt;/h2&gt;

&lt;p&gt;In many real scenarios, &lt;strong&gt;accounts are not the product&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Event access (online or offline)&lt;/li&gt;
&lt;li&gt;One-time or short-lived sessions&lt;/li&gt;
&lt;li&gt;Admin or internal tools&lt;/li&gt;
&lt;li&gt;Temporary access for clients or partners&lt;/li&gt;
&lt;li&gt;Proof-of-presence or proof-of-control flows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Yet most auth solutions force you to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;create users,&lt;/li&gt;
&lt;li&gt;store identifiers,&lt;/li&gt;
&lt;li&gt;manage recovery flows,&lt;/li&gt;
&lt;li&gt;and take responsibility for long-term identity data you do not actually need.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This increases:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;compliance and breach exposure (GDPR, incident impact),&lt;/li&gt;
&lt;li&gt;engineering complexity,&lt;/li&gt;
&lt;li&gt;and cognitive load for users.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The idea: access-first authentication
&lt;/h2&gt;

&lt;p&gt;We asked a simple question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What if authentication was about validating access, not managing identity?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So instead of users, we work with &lt;strong&gt;access passes&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;No password-based login flows&lt;br&gt;
No identity-centric user profiles&lt;br&gt;
Identity data is minimized and contextual&lt;/p&gt;

&lt;p&gt;Access is validated using cryptographic proof.&lt;/p&gt;




&lt;h2&gt;
  
  
  How it works (high level)
&lt;/h2&gt;

&lt;p&gt;The core flow is based on &lt;strong&gt;QR + TOTP&lt;/strong&gt;, but with a different mental model:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A service generates a temporary access pass&lt;/li&gt;
&lt;li&gt;The pass is represented as a QR code&lt;/li&gt;
&lt;li&gt;The user scans it with any TOTP-compatible app&lt;/li&gt;
&lt;li&gt;The server verifies the code cryptographically&lt;/li&gt;
&lt;li&gt;Access is granted without relying on a traditional user account&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Key properties:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The secret never leaves the user’s device&lt;/li&gt;
&lt;li&gt;The server minimizes stored identity-related data&lt;/li&gt;
&lt;li&gt;Passes can be short-lived, scoped, and revocable&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;From the server’s perspective, there is &lt;strong&gt;no identity-centric user profile to resolve&lt;/strong&gt; — only whether the proof is valid.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why QR + TOTP?
&lt;/h2&gt;

&lt;p&gt;We intentionally avoided:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;proprietary apps,&lt;/li&gt;
&lt;li&gt;magic links,&lt;/li&gt;
&lt;li&gt;phone numbers,&lt;/li&gt;
&lt;li&gt;biometric lock-ins.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;TOTP is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;widely supported,&lt;/li&gt;
&lt;li&gt;offline-friendly,&lt;/li&gt;
&lt;li&gt;well understood,&lt;/li&gt;
&lt;li&gt;easy to audit.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;QR is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;fast,&lt;/li&gt;
&lt;li&gt;cross-device,&lt;/li&gt;
&lt;li&gt;intuitive for non-technical users.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Together they allow a flow that is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;simple for users,&lt;/li&gt;
&lt;li&gt;predictable for developers,&lt;/li&gt;
&lt;li&gt;and minimal in terms of identity surface area.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What this is not
&lt;/h2&gt;

&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; a replacement for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;identity-centric user account systems,&lt;/li&gt;
&lt;li&gt;social login,&lt;/li&gt;
&lt;li&gt;identity management.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;user profiles,&lt;/li&gt;
&lt;li&gt;long-term identity,&lt;/li&gt;
&lt;li&gt;personalization,&lt;/li&gt;
&lt;li&gt;social graphs,&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;traditional auth still makes sense.&lt;/p&gt;

&lt;p&gt;This approach is for cases where &lt;strong&gt;identity-centric models become unnecessary overhead&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why we are sharing this early
&lt;/h2&gt;

&lt;p&gt;We are validating this approach publicly and carefully.&lt;/p&gt;

&lt;p&gt;We are interested in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;edge cases we might be missing,&lt;/li&gt;
&lt;li&gt;scenarios where this model breaks down,&lt;/li&gt;
&lt;li&gt;use cases where identity-centric models remain unavoidable.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Feedback from engineers who have fought auth complexity in real systems is especially valuable.&lt;/p&gt;




&lt;p&gt;Thanks for reading. Happy to discuss trade-offs, security considerations, and real-world constraints in the comments.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>devops</category>
      <category>opensource</category>
      <category>security</category>
    </item>
  </channel>
</rss>
