<?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>DEV Community: Shubham Sahu</title>
    <description>The latest articles on DEV Community by Shubham Sahu (@isagi0011).</description>
    <link>https://dev.to/isagi0011</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4168853%2F83ede465-24bc-4e79-a1be-1d50e68865a2.jpg</url>
      <title>DEV Community: Shubham Sahu</title>
      <link>https://dev.to/isagi0011</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/isagi0011"/>
    <language>en</language>
    <item>
      <title>Sharing a file once is a workflow problem, not just an encryption problem: NoSus design questions</title>
      <dc:creator>Shubham Sahu</dc:creator>
      <pubDate>Wed, 07 Oct 2026 12:29:46 +0000</pubDate>
      <link>https://dev.to/isagi0011/sharing-a-file-once-is-a-workflow-problem-not-just-an-encryption-problem-nosus-design-questions-27ma</link>
      <guid>https://dev.to/isagi0011/sharing-a-file-once-is-a-workflow-problem-not-just-an-encryption-problem-nosus-design-questions-27ma</guid>
      <description>&lt;p&gt;I'm Shubham, the developer of NoSus, a sharing product built with Flutter/Dart, Supabase/Postgres, Deno functions, and a Next.js website. I would appreciate technical and usability feedback on the boundaries between encryption, access controls, and what the interface promises.&lt;/p&gt;

&lt;p&gt;A file-sharing interface has to answer several different questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Can the recipient open it without an account?&lt;/li&gt;
&lt;li&gt;Does a read consume access, or can the same link be reopened?&lt;/li&gt;
&lt;li&gt;What does revocation stop after a recipient has already opened or downloaded something?&lt;/li&gt;
&lt;li&gt;Does a displayed name or email prove who the viewer is?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;NoSus has an account-free Burn tool at &lt;a href="https://nosus.foo" rel="noopener noreferrer"&gt;https://nosus.foo&lt;/a&gt;. Its direct links carry encryption keys in the URL fragment. However, single notes/files also generate a two-digit redemption code: the corresponding key remains server-side temporarily while that code is valid, even when someone uses the direct link. That distinction matters when describing the security model.&lt;/p&gt;

&lt;p&gt;The document-sharing workflow uses viewer-entered email watermarks, activity logs, and revocation. An entered email is an attribution clue, not verified identity. SecureSend is access-controlled rather than end-to-end encrypted. Revocation cannot erase screenshots, printed pages, or downloaded copies.&lt;/p&gt;

&lt;p&gt;Here is a small test with no confidential content: create a dummy Burn note, copy its link, open it in another browser, and attempt a second open. Note which steps are unclear and whether the result matches what you expected.&lt;/p&gt;

&lt;p&gt;For developers who build sharing flows, I would value feedback on:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Which UI wording best distinguishes future-access revocation from erasing an existing copy?&lt;/li&gt;
&lt;li&gt;What failure cases would you prioritize testing for a one-time claim, particularly concurrent opens or an interrupted connection?&lt;/li&gt;
&lt;li&gt;How would you explain the server-held redemption-key window without hiding it behind a generic encryption badge?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Please keep any security findings non-sensitive in public replies. This is a request for critique of my own product, not a claim that a forum discussion constitutes a security audit.&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>security</category>
      <category>webdev</category>
      <category>discuss</category>
    </item>
  </channel>
</rss>
