diff --git a/packages/shared/src/lib/featureManagement.ts b/packages/shared/src/lib/featureManagement.ts
index 97b38cbdd2..0085729108 100644
--- a/packages/shared/src/lib/featureManagement.ts
+++ b/packages/shared/src/lib/featureManagement.ts
@@ -308,3 +308,9 @@ export const featureSharingVisibility = new Feature(
// high-traffic icon, so it ramps on its own flag to watch share/copy metrics.
// Keep the default `false` (control = existing `LinkIcon`).
export const featureShareCopyIcon = new Feature('share_copy_icon', false);
+
+// Adds a share/copy-link action next to "Download DevCard" in the DevCard
+// customization step, so the card can be shared without downloading it first.
+// Control keeps the download-only action row. Keep the default `false` —
+// GrowthBook ramps it.
+export const featureShareDevcard = new Feature('share_devcard', false);
diff --git a/packages/storybook/stories/components/DevCardShareActions.stories.tsx b/packages/storybook/stories/components/DevCardShareActions.stories.tsx
new file mode 100644
index 0000000000..63da50b57e
--- /dev/null
+++ b/packages/storybook/stories/components/DevCardShareActions.stories.tsx
@@ -0,0 +1,164 @@
+import type { Meta, StoryObj } from '@storybook/react-vite';
+import React from 'react';
+import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
+import { ShareActions } from '@dailydotdev/shared/src/components/share/ShareActions';
+import { Button } from '@dailydotdev/shared/src/components/buttons/Button';
+import {
+ ButtonSize,
+ ButtonVariant,
+} from '@dailydotdev/shared/src/components/buttons/common';
+import { getLogContextStatic } from '@dailydotdev/shared/src/contexts/LogContext';
+import AuthContext from '@dailydotdev/shared/src/contexts/AuthContext';
+import { ReferralCampaignKey } from '@dailydotdev/shared/src/lib/referral';
+import type { LoggedUser } from '@dailydotdev/shared/src/lib/user';
+import { fn } from 'storybook/test';
+
+const permalink = 'https://app.daily.dev/testuser';
+
+interface DevCardActionRowProps {
+ /**
+ * Mirrors `share_devcard` + the `sharing_visibility` master gate in
+ * `DevCardStep2`. Off = the download-only action row currently in production.
+ */
+ canShare: boolean;
+ onShare: () => void;
+}
+
+// Mirrors the action row under the DevCard preview in
+// `packages/webapp/components/layouts/SettingsLayout/Customization/DevCard/DevCardStep2.tsx`.
+// The step itself lives in `webapp`, which storybook does not depend on, so the
+// row is reproduced here to review spacing and the share affordance.
+const DevCardActionRow = ({
+ canShare,
+ onShare,
+}: DevCardActionRowProps): React.ReactElement => {
+ const downloadButton = (
+
+ );
+
+ if (!canShare) {
+ return {downloadButton};
+ }
+
+ return (
+
+